/[rdiff-backup]/rdiff-backup/testing/hashtest.py
ViewVC logotype

Diff of /rdiff-backup/testing/hashtest.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by bescoto, Thu Oct 27 06:16:39 2005 UTC revision 1.3 by bescoto, Fri Nov 4 22:41:13 2005 UTC
# Line 1  Line 1 
1  import unittest, StringIO  import unittest, StringIO
2  from rdiff_backup import hash, rpath, regress, restore, metadata  from rdiff_backup import hash
3  from commontest import *  from commontest import *
4    
5  class HashTest(unittest.TestCase):  class HashTest(unittest.TestCase):
# Line 81  class HashTest(unittest.TestCase): Line 81  class HashTest(unittest.TestCase):
81                  in_rp1, hashlist1, in_rp2, hashlist2 = self.make_dirs()                  in_rp1, hashlist1, in_rp2, hashlist2 = self.make_dirs()
82                  Myrm("testfiles/output")                  Myrm("testfiles/output")
83    
84                  rdiff_backup(1, 1, in_rp1.path, "testfiles/output", 10000, "-v5")                  rdiff_backup(1, 1, in_rp1.path, "testfiles/output", 10000, "-v3")
85                  meta_prefix = rpath.RPath(Globals.local_connection,                  meta_prefix = rpath.RPath(Globals.local_connection,
86                                            "testfiles/output/rdiff-backup-data/mirror_metadata")                                            "testfiles/output/rdiff-backup-data/mirror_metadata")
87                  incs = restore.get_inclist(meta_prefix)                  incs = restore.get_inclist(meta_prefix)
# Line 90  class HashTest(unittest.TestCase): Line 90  class HashTest(unittest.TestCase):
90                  hashlist = self.extract_hashs(metadata_rp)                  hashlist = self.extract_hashs(metadata_rp)
91                  assert hashlist == hashlist1, (hashlist1, hashlist)                  assert hashlist == hashlist1, (hashlist1, hashlist)
92    
93                  rdiff_backup(1, 1, in_rp2.path, "testfiles/output", 20000, "-v7")                  rdiff_backup(1, 1, in_rp2.path, "testfiles/output", 20000, "-v3")
94                  incs = restore.get_inclist(meta_prefix)                  incs = restore.get_inclist(meta_prefix)
95                  assert len(incs) == 2                  assert len(incs) == 2
96                  metadata_rp.delete() # easy way to find the other one                  if incs[0].getinctype() == 'snapshot': inc = incs[0]
97                  incs = restore.get_inclist(meta_prefix)                  else: inc = incs[1]
98                  assert len(incs) == 1                  hashlist = self.extract_hashs(inc)
                 hashlist = self.extract_hashs(incs[0])  
99                  assert hashlist == hashlist2, (hashlist2, hashlist)                  assert hashlist == hashlist2, (hashlist2, hashlist)
100    
101            def test_rorpiter_xfer(self):
102                    """Test if hashes are transferred in files, rorpiter"""
103                    #log.Log.setverbosity(5)
104                    Globals.security_level = 'override'
105                    conn = SetConnections.init_connection('python ./server.py .')
106                    assert conn.reval("lambda x: x+1", 4) == 5 # connection sanity check
107    
108                    fp = hash.FileWrapper(StringIO.StringIO(self.s1))
109                    conn.Globals.set('tmp_file', fp)
110                    fp_remote = conn.Globals.get('tmp_file')
111                    assert fp_remote.read() == self.s1
112                    assert fp_remote.close().sha1_digest == self.s1_hash
113    
114                    # Tested xfer of file, now test xfer of files in rorpiter
115                    root = MakeOutputDir()
116                    rp1 = root.append('s1')
117                    rp1.write_string(self.s1)
118                    rp2 = root.append('s2')
119                    rp2.write_string(self.s2)
120                    rp1.setfile(hash.FileWrapper(rp1.open('rb')))
121                    rp2.setfile(hash.FileWrapper(rp2.open('rb')))
122                    rpiter = iter([rp1, rp2])
123    
124                    conn.Globals.set('tmp_conn_iter', rpiter)
125                    remote_iter = conn.Globals.get('tmp_conn_iter')
126    
127                    rorp1 = remote_iter.next()
128                    fp = rorp1.open('rb')
129                    assert fp.read() == self.s1, fp.read()
130                    ret_val = fp.close()
131                    assert isinstance(ret_val, hash.Report), ret_val
132                    assert ret_val.sha1_digest == self.s1_hash
133                    rorp2 = remote_iter.next()
134                    fp2 = rorp1.open('rb')
135                    assert fp2.close().sha1_digest == self.s2_hash
136    
137                    conn.quit()
138    
139    
140    from rdiff_backup import rpath, regress, restore, metadata, log, Globals
141    
142  if __name__ == "__main__": unittest.main()  if __name__ == "__main__": unittest.main()

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26