def test_listing(): dir = path.tempdir() a = dir / 'a' b = dir / 'b' c = dir / 'c.txt' d = dir / 'd.asc' dev = path('/dev') try: a.mkdir() b.mkdir() c.write_text("foo\n") c.symlink(d) assert dir.listdir(names_only=True) == \ ['a', 'b', 'c.txt', 'd.asc'] assert dir.listdir('*.txt', names_only=True) == \ ['c.txt'] assert dir.listdir() == [a, b, c, d] assert dir.listdir(symlinks=False) == [a, b, c] assert dir.dirs() == [a, b] assert dir.dirs(symlinks=False) == [a, b] assert dir.files() == [c, d] assert dir.files(symlinks=False) == [c] assert dir.symlinks() == [d] assert dir.symlinks('*.txt') == [] assert path('/dev/null') not in dev.files() finally: dir.delete_dammit()
def test_walk(): dir = path.tempdir() a = dir / 'a' b = dir / 'b' a_files = [a / '1', a / '2', a / '3'] b_files = [b / '4', b / '5', b / '6'] try: a.mkdir() b.mkdir() for p in a_files + b_files: p.touch() assert dir.listdir() == [a, b] assert list(dir.walk()) == [a] + a_files + [b] + b_files assert list(dir.walkdirs()) == [a, b] assert list(dir.walkfiles()) == a_files + b_files finally: dir.delete_dammit()
def test_walk2(): """A more complicated walk test.""" #dir = path('/tmp/X'); dir.mkdir() #path.tempdir() dir = path.tempdir() a = dir / 'a' b = dir / 'b' a_files = [a / '1', a / '2', a / '3'] b_files = [b / '4', b / '5', b / '6'] subdir = a / 'subdir' subfiles = [subdir / 'A', subdir / 'B', subdir / 'C'] target = subfiles[0] link = target.parent / 'link' try: for p in [a, b, subdir]: p.mkdir() for p in a_files + b_files + subfiles: p.touch() target.symlink(link) assert list(dir.walk()) == [a] + [subdir] + subfiles + [link] + \ a_files + [b] + b_files finally: dir.delete_dammit()
def test_findpaths(): #dir = path('/tmp/X'); dir.mkdir() #path.tempdir() dir = path.tempdir() a = dir / 'a' b = dir / 'b' a_files = [a / '1', a / '2', a / '3'] b_files = [b / '4', b / '5', b / '6'] subdir = a / 'subdir' subfiles = [subdir / 'A', subdir / 'B', subdir / 'C'] target = subfiles[0] link = target.parent / 'link' try: for p in [a, b, subdir]: p.mkdir() for p in a_files + b_files + subfiles: p.touch() target.symlink(link) assert list(dir.walk()) == [a] + [subdir] + subfiles + [link] + \ a_files + [b] + b_files assert dir.findpaths_pretend() == ['find', dir] assert list(dir.findpaths()) == ([dir, a, subdir] + subfiles + [link] + a_files + [b] + b_files) assert list(b.findpaths()) == [b] + b_files dfp = dir.findpaths_pretend assert dfp(name='*') == ['find', dir, '-name', '*'] assert dfp(name=('*.jpg', '*.png', '*.gif')) == \ ['find', dir, '-lbrace', '-name', '*.jpg', '-or', '-name', '*.png', '-or', '-name', '*.gif', '-rbrace'] assert dfp(maxdepth=1) == ['find', dir, '-maxdepth', '1'] assert dfp(daystart=True) == ['find', dir, '-daystart'] assert dfp(daystart=False) == ['find', dir] assert dfp(mtime=(-1, 1)) == \ ['find', dir, '-mtime', '-1', '-mtime', '1'] assert dfp('-type f') == ['find', dir, '-type', 'f'] assert dfp('-type f') == dfp(['-type', 'f']) finally: dir.delete_dammit()
def test_tempfile(): path.tempfile() path.tempdir() assert isinstance(path.tempfileobject(), file)