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)
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)
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)
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)
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)) 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)
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)
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)
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)
def testNotACheckout(self): scm = Subversion() self.destroy(self.clonedir) self.assertEqual(scm.is_valid_sandbox(self.clonedir), False)
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)
def testEmptyString(self): scm = Subversion() self.assertEqual(scm.is_valid_url(''), False)
def testVersionInfo(self): scm = Subversion() self.failIfEqual(scm.version_info, ())
def testGitSshUrl(self): scm = Subversion() self.assertEqual(scm.is_valid_url('[email protected]:Jarn/jarn.mkrelease'), False)
def testTagIdFromTrunk(self): scm = Subversion() self.assertEqual(scm.make_tagid(self.clonedir, '2.6'), 'file://%s/tag/2.6' % self.packagedir)
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)
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)
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)
def testNotExists(self): scm = Subversion() self.assertEqual(scm.is_valid_sandbox('foo'), False)
def testGetRoot(self): scm = Subversion() self.assertEqual(scm.get_root_from_sandbox(self.clonedir), self.clonedir)
def testGetVersion(self): scm = Subversion() self.failIfEqual(scm.get_version(), '')
def testBadSandbox(self): scm = Subversion(Process(quiet=True)) self.destroy(self.clonedir) self.assertRaises(SystemExit, scm.get_root_from_sandbox, self.clonedir)
def testNotADir(self): scm = Subversion() self.assertEqual(scm.is_valid_sandbox(join(self.clonedir, 'setup.py')), False)
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)
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)
def testTagDoesNotExist(self): scm = Subversion() tagid = 'file://%s/tags/2.6' % self.packagedir self.assertEqual(scm.tag_exists(self.clonedir, tagid), False)
def testGetSubfolderRoot(self): scm = Subversion() self.assertEqual(scm.get_root_from_sandbox(join(self.clonedir, 'testpackage')), self.clonedir)
def testTagIdFromBadUrl(self): scm = Subversion(MockProcess(rc=0, lines=['', 'URL: file://svn/testpackage'])) self.assertRaises(SystemExit, scm.make_tagid, self.clonedir, '2.6')
def testBadProcess(self): scm = Subversion(MockProcess(rc=1)) self.assertRaises(SystemExit, scm.get_root_from_sandbox, self.clonedir)
def testSandbox(self): scm = Subversion() self.assertEqual(scm.is_valid_sandbox(self.clonedir), True)