Ejemplo n.º 1
0
 def test_diff_two_files_vs_file_and_empty_subdir(self):
     m1 = Manifest_from_walking_unpacked_tar("two_files.tar")
     m2 = Manifest_from_walking_unpacked_tar("file_and_empty_subdir.tar")
     self.assertEqual(list(Manifest.diff(m1, m2)), [
         ("bar", None), (None, "file"), ("foo", None), (None, "subdir")])
     self.assertEqual(list(Manifest.diff(m2, m1)), [
         (None, "bar"), ("file", None), (None, "foo"), ("subdir", None)])
Ejemplo n.º 2
0
 def test_min_max_diff_with_diff_at_muliples_levels(self):
     m1 = ManifestFileParser().build("""\
         1foo
         2bar
             1xyzzy
                 1blah
             2zyxxy
             3diff
         3baz
         """.split("\n"))
     m2 = ManifestFileParser().build("""\
         1foo
         2bar
             1xyzzy
                 1blah
                 2diff
             2zyxxy
         3baz
         4diff
             1diff
         """.split("\n"))
     self.assertEqual(list(Manifest.diff(m1, m2)), [
         (None, "2bar/1xyzzy/2diff"),
         ("2bar/3diff", None),
         (None, "4diff"),
     ])
     self.assertEqual(list(Manifest.diff(m1, m2, recursive = True)), [
         (None, "2bar/1xyzzy/2diff"),
         ("2bar/3diff", None),
         (None, "4diff"),
         (None, "4diff/1diff"),
     ])
Ejemplo n.º 3
0
 def test_diff_like(self):
     for t in TEST_TARS:
         m1 = Manifest_from_walking_unpacked_tar(t)
         m2 = Manifest_from_walking_unpacked_tar(t)
         self.assertEqual(list(Manifest.diff(m1, m2)), [])
         self.assertEqual(list(Manifest.diff(m2, m1)), [])
         self.assertEqual(m1, m2)
         self.assertEqual(m2, m1)
Ejemplo n.º 4
0
    def test_diff_unlike(self):
        shifted = TEST_TARS[:]
        shifted.append(shifted.pop(0))
        for t1, t2 in zip(TEST_TARS, shifted):
            m1 = Manifest_from_walking_unpacked_tar(t1)
            m2 = Manifest_from_walking_unpacked_tar(t2)
            self.assertTrue(list(Manifest.diff(m1, m2)))
            self.assertTrue(list(Manifest.diff(m2, m1)))
            self.assertNotEqual(m1, m2)
            self.assertNotEqual(m2, m1)

            self.assertEqual(len(list(Manifest.diff(m1, m2))),
                             len(list(Manifest.diff(m2, m1))))
Ejemplo n.º 5
0
 def test_max_diff_two_files_vs_files_at_many_levels(self):
     m1 = Manifest_from_walking_unpacked_tar("two_files.tar")
     m2 = Manifest_from_walking_unpacked_tar("files_at_many_levels.tar")
     self.assertEqual(list(Manifest.diff(m1, m2, recursive = True)), [
         (None, "baz"), (None, "baz/bar"), (None, "baz/baz"),
         (None, "baz/baz/bar"), (None, "baz/baz/baz"), (None, "baz/baz/foo"),
         (None, "baz/foo")])
Ejemplo n.º 6
0
 def test_diff_empties(self):
     m1 = Manifest()
     m2 = ManifestFileParser().build([""])
     m3 = Manifest_from_walking_unpacked_tar("empty.tar")
     self.assertEqual(list(Manifest.diff(m1, m2)), [])
     self.assertEqual(list(Manifest.diff(m1, m3)), [])
     self.assertEqual(list(Manifest.diff(m2, m1)), [])
     self.assertEqual(list(Manifest.diff(m2, m3)), [])
     self.assertEqual(list(Manifest.diff(m3, m1)), [])
     self.assertEqual(list(Manifest.diff(m3, m2)), [])
     self.assertEqual(m1, m2)
     self.assertEqual(m2, m3)
     self.assertEqual(m3, m1)
Ejemplo n.º 7
0
 def test_min_diff_two_files_vs_files_at_many_levels(self):
     m1 = Manifest_from_walking_unpacked_tar("two_files.tar")
     m2 = Manifest_from_walking_unpacked_tar("files_at_many_levels.tar")
     self.assertEqual(list(Manifest.diff(m1, m2)), [(None, "baz")])
Ejemplo n.º 8
0
 def test_diff_single_file_vs_two_files(self):
     m1 = Manifest_from_walking_unpacked_tar("single_file.tar")
     m2 = Manifest_from_walking_unpacked_tar("two_files.tar")
     self.assertEqual(list(Manifest.diff(m1, m2)), [(None, "bar")])
     self.assertEqual(list(Manifest.diff(m2, m1)), [("bar", None)])
Ejemplo n.º 9
0
 def test_diff_empty_vs_single_file(self):
     m1 = Manifest_from_walking_unpacked_tar("empty.tar")
     m2 = Manifest_from_walking_unpacked_tar("single_file.tar")
     self.assertEqual(list(Manifest.diff(m1, m2)), [(None, "foo")])
     self.assertEqual(list(Manifest.diff(m2, m1)), [("foo", None)])