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 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 )
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)) self.destroy(self.clonedir) # Note: The sandbox is reported as *clean* self.assertEqual(scm.is_unclean_sandbox(self.clonedir), False)
def testGetRoot(self): scm = Subversion() self.assertEqual(scm.get_root_from_sandbox(self.clonedir), self.clonedir)
def testBadSandbox(self): scm = Subversion(Process(quiet=True)) self.destroy(self.clonedir) self.assertRaises(SystemExit, scm.get_root_from_sandbox, self.clonedir)
def testVersionInfo(self): scm = Subversion() self.failIfEqual(scm.version_info, ())
def testNotACheckout(self): scm = Subversion() self.destroy(self.clonedir) self.assertEqual(scm.is_valid_sandbox(self.clonedir), False)
def testCommitCleanSandbox(self): scm = Subversion(Process(quiet=True)) self.assertEqual(scm.commit_sandbox(self.clonedir, 'testpackage', '2.6', False), 0)
def testCloneUrl(self): scm = Subversion(Process(quiet=True)) self.assertEqual(scm.clone_url('file://'+self.packagedir, 'testclone2'), 0) self.assertEqual(isdir('testclone2'), True)
def testTagIdFromBadUrl(self): scm = Subversion(MockProcess(rc=0, lines=['', 'URL: file://svn/testpackage'])) self.assertRaises(SystemExit, scm.make_tagid, self.clonedir, '2.6')
def testHttpsUrl(self): scm = Subversion() self.assertEqual(scm.is_valid_url('https://'), True)
def testBadProtocol(self): scm = Subversion() self.assertEqual(scm.is_valid_url('git://'), False)
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)
def testEmptyBranchId(self): scm = Subversion() self.assertEqual(scm.make_branchid(self.clonedir, ''), '')
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)
def testMakeBranchId(self): scm = Subversion() branchid = 'file://%s/branches/2.x' % self.packagedir self.assertEqual(scm.make_branchid(self.clonedir, branchid), branchid)
def testGitSshUrl(self): scm = Subversion() self.assertEqual(scm.is_valid_url('[email protected]:Jarn/jarn.mkrelease'), False)
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 testTagIdFromTrunk(self): scm = Subversion() self.assertEqual(scm.make_tagid(self.clonedir, '2.6'), 'file://%s/tag/2.6' % self.packagedir)
def testNotExists(self): scm = Subversion() self.assertEqual(scm.is_valid_sandbox('foo'), False)
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)
def testFileUrl(self): scm = Subversion() self.assertEqual(scm.is_valid_url('file://'), True)
def testSandbox(self): scm = Subversion() self.assertEqual(scm.is_valid_sandbox(self.clonedir), True)
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 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 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 testEmptyString(self): scm = Subversion() self.assertEqual(scm.is_valid_url(''), False)
def testGetVersion(self): scm = Subversion() self.failIfEqual(scm.get_version(), '')
def testTagDoesNotExist(self): scm = Subversion() tagid = 'file://%s/tags/2.6' % self.packagedir self.assertEqual(scm.tag_exists(self.clonedir, tagid), False)
def testNotADir(self): scm = Subversion() self.assertEqual(scm.is_valid_sandbox(join(self.clonedir, 'setup.py')), 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 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 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 testGetSubfolderRoot(self): scm = Subversion() self.assertEqual(scm.get_root_from_sandbox(join(self.clonedir, 'testpackage')), self.clonedir)
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 testBadProcess(self): scm = Subversion(MockProcess(rc=1)) self.assertRaises(SystemExit, scm.get_root_from_sandbox, self.clonedir)
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)