Пример #1
0
 def testCopy(self):
     """Test copy of various files"""
     for rp in [self.sl, self.rf, self.fifo, self.dir]:
         rpath.copy(rp, self.dest)
         assert self.dest.lstat(), "%s doesn't exist" % self.dest.path
         assert rpath.cmp(rp, self.dest)
         assert rpath.cmp(self.dest, rp)
         self.dest.delete()
Пример #2
0
 def testCompMisc(self):
     """Test miscellaneous comparisons"""
     assert rpath.cmp(self.dir, RPath(self.lc, self.mainprefix, ()))
     self.dest.symlink("regular_file")
     assert rpath.cmp(self.sl, self.dest)
     self.dest.delete()
     assert not rpath.cmp(self.sl, self.fifo)
     assert not rpath.cmp(self.dir, self.sl)
Пример #3
0
 def testCompMisc(self):
     """Test miscellaneous comparisons"""
     self.assertTrue(
         rpath.cmp(self.dir, rpath.RPath(self.lc, self.mainprefix, ())))
     self.dest.symlink("regular_file")
     self.assertTrue(rpath.cmp(self.sl, self.dest))
     self.dest.delete()
     self.assertFalse(rpath.cmp(self.sl, self.fifo))
     self.assertFalse(rpath.cmp(self.dir, self.sl))
Пример #4
0
	def testsnapshot(self):
		"""Test making of a snapshot"""
		Globals.compression = None
		snap_rp = increment.Increment(rf, sym, target)
		self.check_time(snap_rp)
		assert rpath.cmp_attribs(snap_rp, sym)
		assert rpath.cmp(snap_rp, sym)
		snap_rp.delete()

		snap_rp2 = increment.Increment(sym, rf, target)
		self.check_time(snap_rp2)
		assert snap_rp2.equal_verbose(rf, check_index = 0)
		assert rpath.cmp(snap_rp2, rf)
		snap_rp2.delete()
Пример #5
0
    def testsnapshot(self):
        """Test making of a snapshot"""
        Globals.compression = None
        snap_rp = increment.Increment(rf, sym, target)
        self.check_time(snap_rp)
        assert rpath.cmp_attribs(snap_rp, sym)
        assert rpath.cmp(snap_rp, sym)
        snap_rp.delete()

        snap_rp2 = increment.Increment(sym, rf, target)
        self.check_time(snap_rp2)
        assert snap_rp2.equal_verbose(rf, check_index=0)
        assert rpath.cmp(snap_rp2, rf)
        snap_rp2.delete()
Пример #6
0
    def testWriteDeltaGzip(self):
        """Same as above but delta is written gzipped"""
        rplist = [self.basis, self.new, self.delta, self.output]
        MakeRandomFile(self.basis.path)
        MakeRandomFile(self.new.path)
        list(map(rpath.RPath.setdata, [self.basis, self.new]))
        self.assertTrue(self.basis.lstat() and self.new.lstat())
        delta_gz = rpath.RPath(self.delta.conn, self.delta.path + b".gz")
        if delta_gz.lstat():
            delta_gz.delete()

        Rdiff.write_delta(self.basis, self.new, delta_gz, 1)
        self.assertTrue(delta_gz.lstat())
        if os.name == "nt":
            # simulate gunzip using 7z on Windows
            os_system(
                "7z e -tgzip -bb0 -y -o%s %s" %
                (os.fsdecode(delta_gz.get_parent_rp()), os.fsdecode(delta_gz)))
            os.unlink(delta_gz.path)
        else:
            os_system(b"gunzip %s" % delta_gz.path)
        delta_gz.setdata()
        self.delta.setdata()
        Rdiff.patch_local(self.basis, self.delta, self.output)
        self.assertTrue(rpath.cmp(self.new, self.output))
        list(map(rpath.RPath.delete, rplist))
Пример #7
0
    def testRdiffDeltaPatchGzip(self):
        """Same as above by try gzipping patches"""
        rplist = [
            self.basis, self.new, self.delta, self.signature, self.output
        ]
        for rp in rplist:
            if rp.lstat():
                rp.delete()

        MakeRandomFile(self.basis.path)
        MakeRandomFile(self.new.path)
        list(map(rpath.RPath.setdata, [self.basis, self.new]))
        assert self.basis.lstat() and self.new.lstat()
        self.signature.write_from_fileobj(Rdiff.get_signature(self.basis))
        assert self.signature.lstat()
        self.delta.write_from_fileobj(
            Rdiff.get_delta_sigrp(self.signature, self.new))
        assert self.delta.lstat()
        os.system(b"gzip %s" % self.delta.path)
        os.system(b"mv %s.gz %s" % (self.delta.path, self.delta.path))
        self.delta.setdata()

        Rdiff.patch_local(self.basis,
                          self.delta,
                          self.output,
                          delta_compressed=1)
        assert rpath.cmp(self.new, self.output)
        list(map(rpath.RPath.delete, rplist))
Пример #8
0
    def testRdiffDeltaPatchGzip(self):
        """Same as above by try gzipping patches"""
        rplist = [
            self.basis, self.new, self.delta, self.signature, self.output
        ]
        for rp in rplist:
            if rp.lstat():
                rp.delete()

        MakeRandomFile(self.basis.path)
        MakeRandomFile(self.new.path)
        list(map(rpath.RPath.setdata, [self.basis, self.new]))
        self.assertTrue(self.basis.lstat() and self.new.lstat())
        self.signature.write_from_fileobj(Rdiff.get_signature(self.basis))
        self.assertTrue(self.signature.lstat())
        self.delta.write_from_fileobj(
            Rdiff.get_delta_sigrp_hash(self.signature, self.new))
        self.assertTrue(self.delta.lstat())
        gzip_path = self.delta.path + b".gz"
        if os.name == "nt":
            # simulate gzip using 7z on Windows
            os_system("7z a -tgzip -sdel -bb0 -y %s %s" %
                      (os.fsdecode(gzip_path), os.fsdecode(self.delta.path)))
        else:
            os_system(b"gzip %s" % self.delta.path)
        os.rename(gzip_path, self.delta.path)
        self.delta.setdata()

        Rdiff.patch_local(self.basis,
                          self.delta,
                          self.output,
                          delta_compressed=1)
        self.assertTrue(rpath.cmp(self.new, self.output))
        list(map(rpath.RPath.delete, rplist))
Пример #9
0
	def testGzipDiff(self):
		"""Test making gzipped diffs"""
		Globals.compression = 1
		rp = increment.Increment(rf, rf2, target)
		self.check_time(rp)
		assert rp.equal_verbose(rf2, check_index = 0, compare_size = 0)
		Rdiff.patch_local(rf, rp, out2, delta_compressed = 1)
		assert rpath.cmp(rf2, out2)
		rp.delete()
		out2.delete()
Пример #10
0
	def testCopyWithAttribs(self):
		"""Test copying with attribs (bug found earlier)"""
		out = RPath(self.lc, self.mainprefix, ("out",))
		if out.lstat(): out.delete()
		for rp in [self.noperms, self.nowrite, self.rf, self.exec1,
				   self.exec2, self.hl1, self.dir, self.sym]:
			rpath.copy_with_attribs(rp, out)
			assert rpath.cmp(rp, out)
			assert rp.equal_loose(out)
			out.delete()
Пример #11
0
 def testCopyWithAttribs(self):
     """Test copying with attribs (bug found earlier)"""
     out = RPath(self.lc, self.mainprefix, ("out",))
     if out.lstat():
         out.delete()
     for rp in [self.noperms, self.nowrite, self.rf, self.exec1, self.exec2, self.hl1, self.dir, self.sym]:
         rpath.copy_with_attribs(rp, out)
         assert rpath.cmp(rp, out)
         assert rp.equal_loose(out)
         out.delete()
Пример #12
0
 def testGzipDiff(self):
     """Test making gzipped diffs"""
     Globals.compression = 1
     rp = increment.Increment(rf, rf2, target)
     self.check_time(rp)
     assert rp.equal_verbose(rf2, check_index=0, compare_size=0)
     Rdiff.patch_local(rf, rp, out2, delta_compressed=1)
     assert rpath.cmp(rf2, out2)
     rp.delete()
     out2.delete()
Пример #13
0
 def testDiff(self):
     """Test making diffs"""
     Globals.compression = None
     rp = increment.Increment(rf, rf2, target)
     self.check_time(rp)
     self.assertTrue(rp._equal_verbose(rf2, check_index=0, compare_size=0))
     Rdiff.patch_local(rf, rp, out2)
     self.assertTrue(rpath.cmp(rf2, out2))
     rp.delete()
     out2.delete()
Пример #14
0
	def testCopy(self):
		"""Using rdiff to copy two files"""
		rplist = [self.basis, self.new]
		for rp in rplist:
			if rp.lstat(): rp.delete()

		MakeRandomFile(self.basis.path)
		MakeRandomFile(self.new.path)
		map(rpath.RPath.setdata, rplist)
		Rdiff.copy_local(self.basis, self.new)
		assert rpath.cmp(self.basis, self.new)
		map(rpath.RPath.delete, rplist)
Пример #15
0
    def testCopy(self):
        """Using rdiff to copy two files"""
        rplist = [self.basis, self.new]
        for rp in rplist:
            if rp.lstat(): rp.delete()

        MakeRandomFile(self.basis.path)
        MakeRandomFile(self.new.path)
        list(map(rpath.RPath.setdata, rplist))
        Rdiff.copy_local(self.basis, self.new)
        assert rpath.cmp(self.basis, self.new)
        list(map(rpath.RPath.delete, rplist))
Пример #16
0
    def testWriteDelta(self):
        """Test write delta feature of rdiff"""
        if self.delta.lstat(): self.delta.delete()
        rplist = [self.basis, self.new, self.delta, self.output]
        MakeRandomFile(self.basis.path)
        MakeRandomFile(self.new.path)
        list(map(rpath.RPath.setdata, [self.basis, self.new]))
        assert self.basis.lstat() and self.new.lstat()

        Rdiff.write_delta(self.basis, self.new, self.delta)
        assert self.delta.lstat()
        Rdiff.patch_local(self.basis, self.delta, self.output)
        assert rpath.cmp(self.new, self.output)
        list(map(rpath.RPath.delete, rplist))
Пример #17
0
    def testGzipRegexp(self):
        """Here a .gz file shouldn't be compressed"""
        Globals.compression = 1
        rpath.copy(rf, out_gz)
        assert out_gz.lstat()

        rp = increment.Increment(rf, out_gz, target)
        self.check_time(rp)
        assert rp.equal_verbose(out_gz, check_index=0, compare_size=0)
        Rdiff.patch_local(rf, rp, out2)
        assert rpath.cmp(out_gz, out2)
        rp.delete()
        out2.delete()
        out_gz.delete()
Пример #18
0
	def testGzipRegexp(self):
		"""Here a .gz file shouldn't be compressed"""
		Globals.compression = 1
		rpath.copy(rf, out_gz)
		assert out_gz.lstat()

		rp = increment.Increment(rf, out_gz, target)
		self.check_time(rp)
		assert rp.equal_verbose(out_gz, check_index = 0, compare_size = 0)
		Rdiff.patch_local(rf, rp, out2)
		assert rpath.cmp(out_gz, out2)
		rp.delete()
		out2.delete()
		out_gz.delete()
Пример #19
0
	def testWriteDelta(self):
		"""Test write delta feature of rdiff"""
		if self.delta.lstat(): self.delta.delete()
		rplist = [self.basis, self.new, self.delta, self.output]
		MakeRandomFile(self.basis.path)
		MakeRandomFile(self.new.path)
		map(rpath.RPath.setdata, [self.basis, self.new])
		assert self.basis.lstat() and self.new.lstat()

		Rdiff.write_delta(self.basis, self.new, self.delta)
		assert self.delta.lstat()
		Rdiff.patch_local(self.basis, self.delta, self.output)
		assert rpath.cmp(self.new, self.output)
		map(rpath.RPath.delete, rplist)		
Пример #20
0
	def testGzipsnapshot(self):
		"""Test making a compressed snapshot"""
		Globals.compression = 1
		rp = increment.Increment(rf, sym, target)
		self.check_time(rp)
		assert rp.equal_verbose(sym, check_index = 0, compare_size = 0)
		assert rpath.cmp(rp, sym)
		rp.delete()
		
		rp = increment.Increment(sym, rf, target)
		self.check_time(rp)
		assert rp.equal_verbose(rf, check_index = 0, compare_size = 0)
		assert rpath.cmpfileobj(rp.open("rb", 1), rf.open("rb"))
		assert rp.isinccompressed()
		rp.delete()
Пример #21
0
    def testGzipsnapshot(self):
        """Test making a compressed snapshot"""
        Globals.compression = 1
        rp = increment.Increment(rf, sym, target)
        self.check_time(rp)
        assert rp.equal_verbose(sym, check_index=0, compare_size=0)
        assert rpath.cmp(rp, sym)
        rp.delete()

        rp = increment.Increment(sym, rf, target)
        self.check_time(rp)
        assert rp.equal_verbose(rf, check_index=0, compare_size=0)
        assert rpath.cmpfileobj(rp.open("rb", 1), rf.open("rb"))
        assert rp.isinccompressed()
        rp.delete()
Пример #22
0
    def testGzipsnapshot(self):
        """Test making a compressed snapshot"""
        Globals.compression = 1
        rp = increment.Increment(rf, sym, target)
        self.check_time(rp)
        self.assertTrue(rp._equal_verbose(sym, check_index=0, compare_size=0))
        self.assertTrue(rpath.cmp(rp, sym))
        rp.delete()

        rp = increment.Increment(sym, rf, target)
        self.check_time(rp)
        self.assertTrue(rp._equal_verbose(rf, check_index=0, compare_size=0))
        with rp.open("rb", 1) as rp_fd, rf.open("rb") as rf_fd:
            self.assertTrue(rpath._cmp_file_obj(rp_fd, rf_fd))
        self.assertTrue(rp.isinccompressed())
        rp.delete()
Пример #23
0
	def testRdiffRename(self):
		"""Rdiff replacing original file with patch outfile"""
		rplist = [self.basis, self.new, self.delta, self.signature]
		for rp in rplist:
			if rp.lstat(): rp.delete()

		MakeRandomFile(self.basis.path)
		MakeRandomFile(self.new.path)
		map(rpath.RPath.setdata, [self.basis, self.new])
		assert self.basis.lstat() and self.new.lstat()
		self.signature.write_from_fileobj(Rdiff.get_signature(self.basis))
		assert self.signature.lstat()
		self.delta.write_from_fileobj(Rdiff.get_delta_sigrp(self.signature,
															self.new))
		assert self.delta.lstat()
		Rdiff.patch_local(self.basis, self.delta)
		assert rpath.cmp(self.basis, self.new)
		map(rpath.RPath.delete, rplist)
Пример #24
0
	def testWriteDeltaGzip(self):
		"""Same as above but delta is written gzipped"""
		rplist = [self.basis, self.new, self.delta, self.output]
		MakeRandomFile(self.basis.path)
		MakeRandomFile(self.new.path)
		map(rpath.RPath.setdata, [self.basis, self.new])
		assert self.basis.lstat() and self.new.lstat()
		delta_gz = rpath.RPath(self.delta.conn, self.delta.path + ".gz")
		if delta_gz.lstat(): delta_gz.delete()

		Rdiff.write_delta(self.basis, self.new, delta_gz, 1)
		assert delta_gz.lstat()
		os.system("gunzip " + delta_gz.path)
		delta_gz.setdata()
		self.delta.setdata()
		Rdiff.patch_local(self.basis, self.delta, self.output)
		assert rpath.cmp(self.new, self.output)
		map(rpath.RPath.delete, rplist)		
Пример #25
0
    def testWriteDeltaGzip(self):
        """Same as above but delta is written gzipped"""
        rplist = [self.basis, self.new, self.delta, self.output]
        MakeRandomFile(self.basis.path)
        MakeRandomFile(self.new.path)
        list(map(rpath.RPath.setdata, [self.basis, self.new]))
        assert self.basis.lstat() and self.new.lstat()
        delta_gz = rpath.RPath(self.delta.conn, self.delta.path + ".gz")
        if delta_gz.lstat(): delta_gz.delete()

        Rdiff.write_delta(self.basis, self.new, delta_gz, 1)
        assert delta_gz.lstat()
        os.system("gunzip %s" % delta_gz.path)
        delta_gz.setdata()
        self.delta.setdata()
        Rdiff.patch_local(self.basis, self.delta, self.output)
        assert rpath.cmp(self.new, self.output)
        list(map(rpath.RPath.delete, rplist))
Пример #26
0
    def testRdiffRename(self):
        """Rdiff replacing original file with patch outfile"""
        rplist = [self.basis, self.new, self.delta, self.signature]
        for rp in rplist:
            if rp.lstat(): rp.delete()

        MakeRandomFile(self.basis.path)
        MakeRandomFile(self.new.path)
        list(map(rpath.RPath.setdata, [self.basis, self.new]))
        assert self.basis.lstat() and self.new.lstat()
        self.signature.write_from_fileobj(Rdiff.get_signature(self.basis))
        assert self.signature.lstat()
        self.delta.write_from_fileobj(
            Rdiff.get_delta_sigrp(self.signature, self.new))
        assert self.delta.lstat()
        Rdiff.patch_local(self.basis, self.delta)
        assert rpath.cmp(self.basis, self.new)
        list(map(rpath.RPath.delete, rplist))
Пример #27
0
	def testRdiffDeltaPatch(self):
		"""Test making deltas and patching files"""
		rplist = [self.basis, self.new, self.delta,
				  self.signature, self.output]
		for rp in rplist:
			if rp.lstat(): rp.delete()
			
		for i in range(2):
			MakeRandomFile(self.basis.path)
			MakeRandomFile(self.new.path)
			map(rpath.RPath.setdata, [self.basis, self.new])
			assert self.basis.lstat() and self.new.lstat()
			self.signature.write_from_fileobj(Rdiff.get_signature(self.basis))
			assert self.signature.lstat()
			self.delta.write_from_fileobj(Rdiff.get_delta_sigrp(self.signature,
																self.new))
			assert self.delta.lstat()
			Rdiff.patch_local(self.basis, self.delta, self.output)
			assert rpath.cmp(self.new, self.output)
			map(rpath.RPath.delete, rplist)
Пример #28
0
    def testRdiffDeltaPatch(self):
        """Test making deltas and patching files"""
        rplist = [
            self.basis, self.new, self.delta, self.signature, self.output
        ]
        for rp in rplist:
            if rp.lstat(): rp.delete()

        for i in range(2):
            MakeRandomFile(self.basis.path)
            MakeRandomFile(self.new.path)
            list(map(rpath.RPath.setdata, [self.basis, self.new]))
            assert self.basis.lstat() and self.new.lstat()
            self.signature.write_from_fileobj(Rdiff.get_signature(self.basis))
            assert self.signature.lstat()
            self.delta.write_from_fileobj(
                Rdiff.get_delta_sigrp(self.signature, self.new))
            assert self.delta.lstat()
            Rdiff.patch_local(self.basis, self.delta, self.output)
            assert rpath.cmp(self.new, self.output)
            list(map(rpath.RPath.delete, rplist))
Пример #29
0
	def testRdiffDeltaPatchGzip(self):
		"""Same as above by try gzipping patches"""
		rplist = [self.basis, self.new, self.delta,
				  self.signature, self.output]
		for rp in rplist:
			if rp.lstat(): rp.delete()
			
		MakeRandomFile(self.basis.path)
		MakeRandomFile(self.new.path)
		map(rpath.RPath.setdata, [self.basis, self.new])
		assert self.basis.lstat() and self.new.lstat()
		self.signature.write_from_fileobj(Rdiff.get_signature(self.basis))
		assert self.signature.lstat()
		self.delta.write_from_fileobj(Rdiff.get_delta_sigrp(self.signature,
															self.new))
		assert self.delta.lstat()
		os.system("gzip " + self.delta.path)
		os.system("mv %s %s" % (self.delta.path + ".gz", self.delta.path))
		self.delta.setdata()

		Rdiff.patch_local(self.basis, self.delta, self.output,
						  delta_compressed = 1)
		assert rpath.cmp(self.new, self.output)
		map(rpath.RPath.delete, rplist)
Пример #30
0
 def testComp(self):
     """Test comparisons involving regular files"""
     assert rpath.cmp(self.hl1, self.hl2)
     assert not rpath.cmp(self.rf, self.hl1)
     assert not rpath.cmp(self.dir, self.rf)
Пример #31
0
 def testComp(self):
     """Test comparisons involving regular files"""
     assert rpath.cmp(self.hl1, self.hl2)
     assert not rpath.cmp(self.rf, self.hl1)
     assert not rpath.cmp(self.dir, self.rf)
Пример #32
0
 def testComp(self):
     """Test comparisons involving regular files"""
     self.assertTrue(rpath.cmp(self.hl1, self.hl2))
     self.assertFalse(rpath.cmp(self.rf, self.hl1))
     self.assertFalse(rpath.cmp(self.dir, self.rf))