import os.path from boltons import fileutils from boltons.fileutils import FilePerms, iter_find_files BOLTONS_PATH = os.path.dirname(os.path.abspath(fileutils.__file__)) def test_fileperms(): up = FilePerms() up.other = '' up.user = 'xrw' up.group = 'rrrwx' try: up.other = 'nope' except ValueError: # correctly raised ValueError on invalid chars pass assert repr(up) == "FilePerms(user='rwx', group='rwx', other='')" assert up.user == 'rwx' assert oct(int(up)) == '0o770' assert int(FilePerms()) == 0 def test_iter_find_files(): def _to_baseless_list(paths): return [p.lstrip(BOLTONS_PATH) for p in paths] assert 'fileutils.py' in _to_baseless_list(iter_find_files(BOLTONS_PATH, patterns=['*.py'])) boltons_parent = os.path.dirname(BOLTONS_PATH) assert 'fileutils.py' in _to_baseless_list(iter_find_files(boltons_parent, patterns=['*.py'])) assert 'fileutils.py' not in _to_baseless_list(iter_find_files(boltons_parent, patterns=['*.py'], max_depth=0))