summaryrefslogtreecommitdiff
path: root/tests/test_recursiveloader.py
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-11-08 10:08:25 +0100
committerMichał Górny <mgorny@gentoo.org>2017-11-08 10:08:25 +0100
commit11396e898c0b72375e79579c532354a2dc02c187 (patch)
tree8bdf0669c6efde0f0f2e1a6960e9f53fd3a2744a /tests/test_recursiveloader.py
parent8140faed6770ad8734aa5e10d890102c2e8c698d (diff)
downloadgemato-11396e898c0b72375e79579c532354a2dc02c187.tar.gz
Remove support for OPTIONAL entries
Diffstat (limited to 'tests/test_recursiveloader.py')
-rw-r--r--tests/test_recursiveloader.py156
1 files changed, 2 insertions, 154 deletions
diff --git a/tests/test_recursiveloader.py b/tests/test_recursiveloader.py
index 3d51d8b..380ce34 100644
--- a/tests/test_recursiveloader.py
+++ b/tests/test_recursiveloader.py
@@ -22,13 +22,12 @@ class BasicNestingTest(TempDirTestCase):
FILES = {
'Manifest': u'''
TIMESTAMP 2017-01-01T01:01:01Z
-MANIFEST sub/Manifest 146 MD5 81180715a77069664b4b695e53bb856d
+MANIFEST sub/Manifest 128 MD5 30fd28b98a23031c72793908dd35c530
MANIFEST other/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e
DIST topdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
''',
'sub/Manifest': u'''
MANIFEST deeper/Manifest 50 MD5 0f7cd9ed779a4844f98d28315dd9176a
-OPTIONAL nonstray
DIST subdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
''',
'sub/stray': u'',
@@ -159,11 +158,6 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
os.path.join(self.dir, 'Manifest'))
self.assertEqual(m.verify_path('sub/deeper/test'), (True, []))
- def test_verify_optional_path(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertEqual(m.verify_path('sub/nonstray'), (True, []))
-
def test_verify_nonexistent_path(self):
m = gemato.recursiveloader.ManifestRecursiveLoader(
os.path.join(self.dir, 'Manifest'))
@@ -180,11 +174,6 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
os.path.join(self.dir, 'Manifest'))
m.assert_path_verifies('sub/deeper/test')
- def test_assert_path_verifies_optional_path(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- m.assert_path_verifies('sub/nonstray')
-
def test_assert_path_verifies_nonexistent_path(self):
m = gemato.recursiveloader.ManifestRecursiveLoader(
os.path.join(self.dir, 'Manifest'))
@@ -204,13 +193,11 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
frozenset((
'other/Manifest',
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['other/Manifest'].path, 'other/Manifest')
self.assertEqual(entries['sub/Manifest'].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'].path, 'test')
@@ -249,18 +236,15 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
frozenset((
'other/Manifest',
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['other/Manifest'][0], 'Manifest')
self.assertEqual(entries['sub/Manifest'][0], 'Manifest')
- self.assertEqual(entries['sub/nonstray'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/Manifest'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/test'][0], 'sub/deeper/Manifest')
self.assertEqual(entries['other/Manifest'][1].path, 'other/Manifest')
self.assertEqual(entries['sub/Manifest'][1].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'][1].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'][1].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'][1].path, 'test')
@@ -271,12 +255,10 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
self.assertSetEqual(frozenset(entries),
frozenset((
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['sub/Manifest'].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'].path, 'test')
@@ -288,16 +270,13 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
self.assertSetEqual(frozenset(entries),
frozenset((
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['sub/Manifest'][0], 'Manifest')
- self.assertEqual(entries['sub/nonstray'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/Manifest'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/test'][0], 'sub/deeper/Manifest')
self.assertEqual(entries['sub/Manifest'][1].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'][1].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'][1].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'][1].path, 'test')
@@ -421,7 +400,7 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
self.assertEqual(f.read(), u'''
DIST topdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
MANIFEST other/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e
-MANIFEST sub/Manifest 145 MD5 75e2be2f56f58e486fd195ec4d96da4a
+MANIFEST sub/Manifest 127 MD5 de990fbccb1261da02c7513dfec56045
TIMESTAMP 2017-01-01T01:01:01Z
'''.lstrip())
with io.open(os.path.join(self.dir, 'sub/Manifest'),
@@ -429,7 +408,6 @@ TIMESTAMP 2017-01-01T01:01:01Z
self.assertEqual(f.read(), u'''
DIST subdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
MANIFEST deeper/Manifest 49 MD5 b86a7748346d54c6455886306f017e6c
-OPTIONAL nonstray
'''.lstrip())
def test_update_entry_for_path(self):
@@ -1357,68 +1335,6 @@ MISC test.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e
m.get_deduplicated_file_entry_dict_for_update, '')
-class DuplicateIncompatibleDataOptionalTypeFileEntryTest(TempDirTestCase):
- """
- Test for specifying the entry for the same file twice, with
- incompatible types.
- """
-
- FILES = {
- 'Manifest': u'''
-DATA test.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e
-OPTIONAL test.ebuild
-''',
- }
-
- def test_find_path_entry(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertEqual(m.find_path_entry('test.ebuild').path, 'test.ebuild')
-
- def test_get_file_entry_dict(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_file_entry_dict, '')
-
- def test_deduplicated_get_file_entry_dict_for_update(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_deduplicated_file_entry_dict_for_update, '')
-
-
-class DuplicateIncompatibleMiscOptionalTypeFileEntryTest(TempDirTestCase):
- """
- Test for specifying the entry for the same file twice, with
- incompatible types.
- """
-
- FILES = {
- 'Manifest': u'''
-MISC test.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e
-OPTIONAL test.ebuild
-''',
- }
-
- def test_find_path_entry(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertEqual(m.find_path_entry('test.ebuild').path, 'test.ebuild')
-
- def test_get_file_entry_dict(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_file_entry_dict, '')
-
- def test_deduplicated_get_file_entry_dict_for_update(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_deduplicated_file_entry_dict_for_update, '')
-
-
class DuplicateDifferentSizeFileEntryTest(TempDirTestCase):
"""
Test for specifying the entry for the same file twice, with
@@ -1619,74 +1535,6 @@ MISC foo 0 MD5 d41d8cd98f00b204e9800998ecf8427e
m.assert_directory_verifies()
-class ManifestOptionalEntryTest(TempDirTestCase):
- """
- Test for a Manifest file with OPTIONAL.
- """
-
- FILES = {
- 'Manifest': u'''
-OPTIONAL foo
-''',
- 'foo': u'test',
- }
-
- def test_assert_directory_verifies(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestMismatch,
- m.assert_directory_verifies, '')
-
- def test_assert_directory_verifies_nonstrict(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertTrue(m.assert_directory_verifies('',
- warn_handler=lambda x: True))
-
- def test_assert_directory_verifies_nonstrict_false(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertFalse(m.assert_directory_verifies('',
- warn_handler=lambda x: False))
-
- def test_cli_verifies(self):
- self.assertEqual(
- gemato.cli.main(['gemato', 'verify', self.dir]),
- 1)
-
- def test_cli_verifies_nonstrict(self):
- self.assertEqual(
- gemato.cli.main(['gemato', 'verify', '--no-strict', self.dir]),
- 0)
-
- def test_update_entry_for_path(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- m.update_entry_for_path('foo')
- self.assertIsInstance(m.find_path_entry('foo'),
- gemato.manifest.ManifestEntryOPTIONAL)
- m.save_manifests()
- with io.open(os.path.join(self.dir, 'Manifest'),
- 'r', encoding='utf8') as f:
- self.assertEqual(f.read(), self.FILES['Manifest'])
- self.assertRaises(gemato.exceptions.ManifestMismatch,
- m.assert_directory_verifies, '')
-
- def test_update_entries_for_directory(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'),
- hashes=['SHA256', 'SHA512'])
- m.update_entries_for_directory('')
- self.assertIsInstance(m.find_path_entry('foo'),
- gemato.manifest.ManifestEntryOPTIONAL)
- m.save_manifests()
- with io.open(os.path.join(self.dir, 'Manifest'),
- 'r', encoding='utf8') as f:
- self.assertEqual(f.read(), self.FILES['Manifest'])
- self.assertRaises(gemato.exceptions.ManifestMismatch,
- m.assert_directory_verifies, '')
-
-
class CrossDeviceManifestTest(TempDirTestCase):
"""
Test for a Manifest that crosses filesystem boundaries.