Add and fix unittests for --exclude

pull/50/head
sedrubal 8 years ago
parent c7d04ad7e7
commit 653142eb20
No known key found for this signature in database
GPG Key ID: B83D4C8CEB8ABFF6

@ -84,8 +84,9 @@ class CommandLineTestCase(unittest.TestCase):
shutil.rmtree(self.wd)
def test_find_files_recursively(self):
# without excludes
self.assertEqual(
sorted(cli.find_files_recursively([self.wd])),
sorted(cli.find_files_recursively([self.wd], [])),
[os.path.join(self.wd, 'a.yaml'),
os.path.join(self.wd, 'empty.yml'),
os.path.join(self.wd, 's/s/s/s/s/s/s/s/s/s/s/s/s/s/s/file.yaml'),
@ -96,14 +97,14 @@ class CommandLineTestCase(unittest.TestCase):
items = [os.path.join(self.wd, 'sub/ok.yaml'),
os.path.join(self.wd, 'empty-dir')]
self.assertEqual(
sorted(cli.find_files_recursively(items)),
sorted(cli.find_files_recursively(items, [])),
[os.path.join(self.wd, 'sub/ok.yaml')],
)
items = [os.path.join(self.wd, 'empty.yml'),
os.path.join(self.wd, 's')]
self.assertEqual(
sorted(cli.find_files_recursively(items)),
sorted(cli.find_files_recursively(items, [])),
[os.path.join(self.wd, 'empty.yml'),
os.path.join(self.wd, 's/s/s/s/s/s/s/s/s/s/s/s/s/s/s/file.yaml')],
)
@ -111,11 +112,65 @@ class CommandLineTestCase(unittest.TestCase):
items = [os.path.join(self.wd, 'sub'),
os.path.join(self.wd, '/etc/another/file')]
self.assertEqual(
sorted(cli.find_files_recursively(items)),
sorted(cli.find_files_recursively(items, [])),
[os.path.join(self.wd, '/etc/another/file'),
os.path.join(self.wd, 'sub/ok.yaml')],
)
# with excludes
self.assertEqual(
sorted(cli.find_files_recursively([self.wd],
[os.path.join(self.wd, 's')])),
[os.path.join(self.wd, 'a.yaml'),
os.path.join(self.wd, 'empty.yml'),
os.path.join(self.wd, 'sub/ok.yaml'),
os.path.join(self.wd, 'warn.yaml')],
)
self.assertEqual(
sorted(cli.find_files_recursively([self.wd],
[os.path.join(self.wd, 's*')])),
[os.path.join(self.wd, 'a.yaml'),
os.path.join(self.wd, 'empty.yml'),
os.path.join(self.wd, 'warn.yaml')],
)
self.assertEqual(
sorted(cli.find_files_recursively([self.wd], ['*.yml', '*.yaml'])),
[],
)
items = [os.path.join(self.wd, 'sub/ok.yaml'),
os.path.join(self.wd, 'empty-dir')]
exclude = [os.path.join(self.wd, 'sub')]
self.assertEqual(
sorted(cli.find_files_recursively(items, exclude)), [items[0]],
)
exclude[0] += '/'
self.assertEqual(
sorted(cli.find_files_recursively(items, exclude)), [items[0]],
)
exclude[0] += '*'
self.assertEqual(
sorted(cli.find_files_recursively(items, exclude)), [],
)
items = [os.path.join(self.wd, 'empty.yml'),
os.path.join(self.wd, 's')]
exclude = [os.path.join(self.wd, 'empty.yml'),
os.path.join(self.wd, 's/s')]
self.assertEqual(
sorted(cli.find_files_recursively(items, exclude)), [],
)
items = [os.path.join(self.wd, 'sub'),
os.path.join(self.wd, '/etc/another/file')]
exclude = [os.path.join(self.wd, 'sub/ok.yaml')]
self.assertEqual(
sorted(cli.find_files_recursively(items, exclude)),
[os.path.join(self.wd, '/etc/another/file')],
)
def test_run_with_bad_arguments(self):
sys.stdout, sys.stderr = StringIO(), StringIO()
with self.assertRaises(SystemExit) as ctx:

Loading…
Cancel
Save