def test_not_found(self): filename = join(FILES_DIR, 'no file or directory') self.assert_(not exists(filename)) try: list(utils.collect_files(filename)) except IOError, ioe: self.assertEqual(ENOENT, ioe.errno) self.assertEqual(filename, ioe.filename)
def collect_python_module_file(filepath_or_list): """Generates (filepath without extention, bitmask)""" modules = {} for filepath in utils.collect_files(filepath_or_list, ['.?*', 'CVS']): # For performance gain, use bitmask value # instead of filepath string. path, _, typebits = module_file_typebits(filepath) modules.setdefault(path, 0) modules[path] |= typebits return (item for item in modules.iteritems() if item[1] > 0)
def test_ignore_pattern(self): directory = join(FILES_DIR, '000') files = list(utils.collect_files(directory, ['004'])) self.assertNotNone(files) self.assertEqual(3, len(files)) files[:] = [normpath(f) for f in files] self.assert_(directory not in files) for f in ['001', '002', '003']: f = normpath(join(directory, f)) self.assert_(f in files)
def test_multiple_ignore_directories(self): directory = join(FILES_DIR, 'imports') files = list(utils.collect_files(directory, ['C', 'D'])) self.assertNotNone(files) self.assertNotEqual(0, len(files)) scripts = sorted([basename(x) for x in files if x.endswith('.py')]) self.assertEqual(4, len(scripts)) self.assertEqual('__init__.py', scripts[0]) self.assertEqual('__init__.py', scripts[1]) self.assertEqual('a.py', scripts[2]) self.assertEqual('b.py', scripts[3])
def test_package_name(self): d = join(FILES_DIR, 'imports') d = abspath(d) resolver = ModuleNameResolver([d]) for f in utils.collect_files(d): assert f.startswith(d) if not f.endswith('.py'): continue modname, package = resolver.resolve(f) f = f[len(d):] if f[0] == '/': f = f[1:] f = splitext(f)[0] f = f.replace('/', '.') if f.endswith('.__init__'): f = utils.split_module_name(f)[0] self.assertEqual(f, modname) self.assertEqual(f, package) else: self.assertEqual(f, modname) self.assertEqual( utils.split_module_name(f)[0], package)
def test_empty_directory(self): directory = self.empty_directory() files = list(utils.collect_files(directory)) self.assertNotNone(files) self.assertEqual(0, len(files))