示例#1
0
 def testTagIdFromTag(self):
     scm = Subversion()
     tagid = 'file://%s/tag/2.6' % self.packagedir
     self.tag(self.clonedir, tagid)
     self.assertEqual(scm.tag_exists(self.tagdir, tagid), True)
     self.assertEqual(scm.make_tagid(self.tagdir, '2.7'),
         'file://%s/tag/2.7' % self.packagedir)
示例#2
0
 def testGetBranchFromBranchSubdir(self):
     scm = Subversion()
     branchid = "file://%s/branches/2.x" % self.packagedir
     self.branch(self.clonedir, branchid)
     self.assertEqual(
         scm.get_branch_from_sandbox(join(self.branchdir, "testpackage")), "file://%s/branches/2.x" % self.packagedir
     )
示例#3
0
 def testSwitchBranch(self):
     scm = Subversion(Process(quiet=True))
     trunkid = 'file://%s/trunk' % self.packagedir
     branchid = 'file://%s/branches/2.x' % self.packagedir
     self.branch(self.clonedir, branchid)
     self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), trunkid)
     self.assertEqual(scm.switch_branch(self.clonedir, branchid), 0)
     self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), branchid)
示例#4
0
 def testTagIdFromBranch(self):
     scm = Subversion()
     branchid = 'file://%s/branch/2.x' % self.packagedir
     self.branch(self.clonedir, branchid)
     self.assertEqual(scm.get_branch_from_sandbox(self.branchdir),
         'file://%s/branch/2.x' % self.packagedir)
     self.assertEqual(scm.make_tagid(self.branchdir, '2.6'),
         'file://%s/tag/2.6' % self.packagedir)
示例#5
0
 def testCreateExistingTag(self):
     scm = Subversion(Process(quiet=True))
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.assertEqual(scm.create_tag(self.clonedir, tagid, 'testpackage', '2.6', False), 0)
     self.assertEqual(scm.tag_exists(self.clonedir, tagid), True)
     # Note: This works! Subversion just copies stuff into a subdirectory...
     self.assertEqual(scm.create_tag(self.clonedir, tagid, 'testpackage', '2.6', False), 0)
     # Note: Only on the third attempt tagging fails
     self.assertRaises(SystemExit, scm.create_tag, self.clonedir, tagid, 'testpackage', '2.6', False)
示例#6
0
 def testTreeConflict(self):
     # Requires Subversion >= 1.6
     def func(cmd):
         if cmd == 'svn --version':
             return 0, ['version 1.6.16']
         else:
             return 0, ['      C foo.py']
                        #      ^ 7th column
     scm = Subversion(MockProcess(func=func))
     self.assertEqual(scm.is_unclean_sandbox(self.clonedir), True)
 def testBadSandbox(self):
     scm = Subversion(Process(quiet=True))
     self.destroy(self.clonedir)
     # Note: The sandbox is reported as *clean*
     self.assertEqual(scm.is_unclean_sandbox(self.clonedir), False)
示例#8
0
 def testGetRoot(self):
     scm = Subversion()
     self.assertEqual(scm.get_root_from_sandbox(self.clonedir),
                      self.clonedir)
示例#9
0
 def testBadSandbox(self):
     scm = Subversion(Process(quiet=True))
     self.destroy(self.clonedir)
     self.assertRaises(SystemExit, scm.get_root_from_sandbox, self.clonedir)
示例#10
0
 def testVersionInfo(self):
     scm = Subversion()
     self.failIfEqual(scm.version_info, ())
示例#11
0
 def testNotACheckout(self):
     scm = Subversion()
     self.destroy(self.clonedir)
     self.assertEqual(scm.is_valid_sandbox(self.clonedir), False)
示例#12
0
 def testCommitCleanSandbox(self):
     scm = Subversion(Process(quiet=True))
     self.assertEqual(scm.commit_sandbox(self.clonedir, 'testpackage', '2.6', False), 0)
示例#13
0
 def testCloneUrl(self):
     scm = Subversion(Process(quiet=True))
     self.assertEqual(scm.clone_url('file://'+self.packagedir, 'testclone2'), 0)
     self.assertEqual(isdir('testclone2'), True)
示例#14
0
 def testTagIdFromBadUrl(self):
     scm = Subversion(MockProcess(rc=0, lines=['', 'URL: file://svn/testpackage']))
     self.assertRaises(SystemExit, scm.make_tagid, self.clonedir, '2.6')
示例#15
0
 def testHttpsUrl(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_url('https://'), True)
示例#16
0
 def testBadProtocol(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_url('git://'), False)
示例#17
0
 def testCommitAndPushDirtySandbox(self):
     scm = Subversion(Process(quiet=True))
     self.modify(self.clonedir)
     self.assertEqual(scm.commit_sandbox(self.clonedir, 'testpackage', '2.6', True), 0)
     self.verify(self.clonedir)
示例#18
0
 def testEmptyBranchId(self):
     scm = Subversion()
     self.assertEqual(scm.make_branchid(self.clonedir, ''), '')
示例#19
0
 def testAbsPathBranchId(self):
     scm = Subversion()
     self.dirstack.push(self.packagedir)
     branchid = 'file:branches/2.x'
     self.assertEqual(scm.make_branchid(self.clonedir, branchid),
         'file://%s/branches/2.x' % self.packagedir)
示例#20
0
 def testMakeBranchId(self):
     scm = Subversion()
     branchid = 'file://%s/branches/2.x' % self.packagedir
     self.assertEqual(scm.make_branchid(self.clonedir, branchid), branchid)
示例#21
0
 def testGitSshUrl(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_url('[email protected]:Jarn/jarn.mkrelease'), False)
示例#22
0
 def testBadSandbox(self):
     scm = Subversion(Process(quiet=True))
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.destroy(self.clonedir)
     self.assertRaises(SystemExit, scm.create_tag, self.clonedir, tagid, 'testpackage', '2.6', False)
示例#23
0
 def testTagIdFromTrunk(self):
     scm = Subversion()
     self.assertEqual(scm.make_tagid(self.clonedir, '2.6'),
         'file://%s/tag/2.6' % self.packagedir)
示例#24
0
 def testNotExists(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_sandbox('foo'), False)
示例#25
0
 def testSwitchSameBranch(self):
     scm = Subversion()
     trunkid = 'file://%s/trunk' % self.packagedir
     self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), trunkid)
     self.assertEqual(scm.switch_branch(self.clonedir, trunkid), 0)
     self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), trunkid)
示例#26
0
 def testFileUrl(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_url('file://'), True)
示例#27
0
 def testSandbox(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_sandbox(self.clonedir), True)
示例#28
0
 def testBadSandbox(self):
     scm = Subversion(Process(quiet=True))
     branchid = 'file://%s/branches/2.x' % self.packagedir
     self.destroy(self.clonedir)
     self.assertRaises(SystemExit, scm.switch_branch, self.clonedir, branchid)
示例#29
0
 def testCreateAndPushTag(self):
     scm = Subversion(Process(quiet=True))
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.assertEqual(scm.create_tag(self.clonedir, tagid, 'testpackage', '2.6', True), 0)
     self.assertEqual(scm.tag_exists(self.clonedir, tagid), True)
示例#30
0
 def testBadProcess(self):
     scm = Subversion(MockProcess(rc=1))
     branchid = 'file://%s/branches/2.x' % self.packagedir
     self.assertRaises(SystemExit, scm.switch_branch, self.clonedir, branchid)
示例#31
0
 def testBadProcess(self):
     scm = Subversion(MockProcess(rc=1))
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.assertRaises(SystemExit, scm.create_tag, self.clonedir, tagid, 'testpackage', '2.6', False)
示例#32
0
 def testEmptyString(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_url(''), False)
示例#33
0
 def testGetVersion(self):
     scm = Subversion()
     self.failIfEqual(scm.get_version(), '')
示例#34
0
 def testTagDoesNotExist(self):
     scm = Subversion()
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.assertEqual(scm.tag_exists(self.clonedir, tagid), False)
示例#35
0
 def testNotADir(self):
     scm = Subversion()
     self.assertEqual(scm.is_valid_sandbox(join(self.clonedir, 'setup.py')), False)
示例#36
0
 def testTagExists(self):
     scm = Subversion()
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.tag(self.clonedir, tagid)
     self.assertEqual(scm.tag_exists(self.clonedir, tagid), True)
示例#37
0
 def testCheckRaises(self):
     scm = Subversion()
     self.assertRaises(SystemExit, scm.check_valid_sandbox, 'foo')
     self.assertRaises(SystemExit, scm.check_valid_sandbox, join(self.clonedir, 'setup.py'))
     self.destroy(self.clonedir)
     self.assertRaises(SystemExit, scm.check_valid_sandbox, self.clonedir)
示例#38
0
 def testBadRepository(self):
     scm = Subversion(Process(quiet=True))
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.destroy(self.packagedir)
     self.assertRaises(SystemExit, scm.check_tag_exists, self.clonedir, tagid)
示例#39
0
 def testGetSubfolderRoot(self):
     scm = Subversion()
     self.assertEqual(scm.get_root_from_sandbox(join(self.clonedir, 'testpackage')),
                      self.clonedir)
示例#40
0
 def testBadProcess(self):
     scm = Subversion(MockProcess(rc=1))
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.assertRaises(SystemExit, scm.check_tag_exists, self.clonedir, tagid)
示例#41
0
 def testBadProcess(self):
     scm = Subversion(MockProcess(rc=1))
     self.assertRaises(SystemExit, scm.get_root_from_sandbox, self.clonedir)
示例#42
0
 def testCheckRaises(self):
     scm = Subversion()
     tagid = 'file://%s/tags/2.6' % self.packagedir
     self.tag(self.clonedir, tagid)
     self.assertRaises(SystemExit, scm.check_tag_exists, self.clonedir, tagid)