def testBackup(self): # Backup test. (rcs file not exist yet) self.writefile() assert self.get_revision() == 1, self.get_revision() assert os.access(self.wcfile, os.R_OK) assert not os.access(self.rcsfile, os.R_OK) rcs.backup(self.wcfile) assert os.access(self.wcfile, os.R_OK) assert os.path.exists(self.rcsfile) assert os.access(self.rcsfile, os.R_OK), self.rcsfile # Backup test. (rcs exist already) self.writefile() assert os.access(self.rcsfile, os.R_OK) rcs.backup(self.wcfile) # exception test self.assertRaises(Exception, rcs.backup, "")
def testRestore(self): rcs.restore("") # new file, backup to r1.1 self.writefile() rcs.backup(self.wcfile) # restore from top rev: 1.1 os.remove(self.wcfile) assert not os.access(self.wcfile, os.R_OK) rcs.restore(self.wcfile) assert self.get_revision() == 1, self.get_revision() # new file, backup to 1.2 self.writefile() rcs.backup(self.wcfile) # backup from top rev: 1.2, and overwrite wcfile self.writefile() assert self.get_revision() == 3, self.get_revision() rcs.restore(self.wcfile) assert self.get_revision() == 2, self.get_revision() # backup from old rev: 1.1, and overwrite wcfile rcs.restore(self.wcfile, '1.1') assert self.get_revision() == 1, self.get_revision() # new file, backup to 1.3 self.writefile(5) rcs.backup(self.wcfile) assert self.get_revision() == 5, self.get_revision() # restore from top rev: 1.3 os.remove(self.wcfile) assert not os.access(self.wcfile, os.R_OK) rcs.restore(self.wcfile) assert self.get_revision() == 5, self.get_revision()
def testLogs(self): rcslog = rcs.RcsLog(self.wcfile) rcslog.log_per_page = 10 for i in range(1,rcslog.log_per_page+1): # new file, backup to r1.1 self.writefile(i) rcs.backup(self.wcfile, comment="Test no. %d" % i, user="******") rcslog.reload() assert rcslog.total == i, rcslog.total assert rcslog.total_page == 1, rcslog.total_page rcslog.reload() assert "rcstest.txt,v" in rcslog.rcsfile, rcslog.rcsfile assert rcslog.head=='1.10', rcslog.head assert rcslog.total==10, rcslog.total for i in range(11,15): # new file, backup to r1.1 self.writefile(i) rcs.backup(self.wcfile, comment="第 %d 次提交测试。" % i, user="******") assert rcslog.head=='1.10', rcslog.head rcslog.reload() assert rcslog.head=='1.14', rcslog.head assert rcslog.total==14, rcslog.total logs = rcslog.get_logs() assert len(logs)==14, logs assert logs[3]['revision'] == u'1.4', logs[3]['revision'] assert logs[3]['author'] == u'User1', logs[3]['author'] assert logs[3]['log'] == u'Test no. 4', logs[3]['log'] assert logs[13]['revision'] == u'1.14', logs[13]['revision'] assert logs[13]['author'] == u'蒋鑫', logs[13]['author'].encode('utf-8') assert logs[13]['log'] == u'第 14 次提交测试。', logs[13]['log'].encode('utf-8') logs = rcslog.get_logs('1.9','1.12') assert len(logs)==4, logs assert logs[1]['revision'] == u'1.10', logs[1]['revision'] assert logs[1]['author'] == u'User1', logs[1]['author'] assert logs[1]['log'] == u'Test no. 10', logs[1]['log'] assert logs[2]['revision'] == u'1.11', logs[2]['revision'] assert logs[2]['author'] == u'蒋鑫', logs[2]['author'].encode('utf-8') assert logs[2]['log'] == u'第 11 次提交测试。', logs[2]['log'].encode('utf-8') logs = rcslog.get_logs('','1.12') assert len(logs)==12, logs assert logs[10]['revision'] == u'1.11', logs[10]['revision'] logs = rcslog.get_logs('1.12','') assert len(logs)==3, len(logs) assert logs[1]['revision'] == u'1.13', logs[1]['revision'] logs = rcslog.get_logs('1.7','1.11', '1.14') assert len(logs)==6, len(logs) assert logs[4]['revision'] == u'1.11', logs[1]['revision'] assert logs[5]['revision'] == u'1.14', logs[1]['revision'] assert rcslog.total_page == 2, rcslog.total_page rcslog.log_per_page=0 assert rcslog.log_per_page>1, rcslog.log_per_page rcslog.log_per_page=5 assert rcslog.log_per_page==5, rcslog.log_per_page assert rcslog.total_page == 3, rcslog.total_page logs = rcslog.get_page_logs(1) logs2= rcslog.get_page_logs(0) assert logs == logs2 assert [x['revision'] for x in logs] == \ ['1.9', '1.10', '1.11', '1.12', '1.13', '1.14'], \ [x['revision'] for x in logs] logs = rcslog.get_page_logs(2) assert [x['revision'] for x in logs] == \ ['1.5', '1.6', '1.7', '1.8', '1.9', '1.14'], \ [x['revision'] for x in logs] logs = rcslog.get_page_logs(3) logs2= rcslog.get_page_logs(30) assert logs == logs2 assert [x['revision'] for x in logs] == \ ['1.1', '1.2', '1.3', '1.4', '1.5', '1.14'], \ [x['revision'] for x in logs] buff = rcslog.differ('1.2','1.5') assert "-Revision: 2\n+Revision: 5" in buff, buff buff = rcslog.differ('1.13') assert "-Revision: 13\n+Revision: 14" in buff, buff buff = rcslog.cat() assert "Revision: 14\n" in buff, buff buff = rcslog.cat('1.8') assert "Revision: 8\n" in buff, buff