def testSwitchRemoteBranch(self): scm = Git(Process(quiet=True)) self.branch(self.packagedir, '2.x') self.clone() self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), 'master') self.assertEqual(scm.switch_branch(self.clonedir, '2.x'), 0) self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), '2.x')
def setUp(self): SubversionSetup.setUp(self) process = Process(quiet=True) process.system('svn mv -m"Rename" "file://%s/tags" "file://%s/tag"' % (self.packagedir, self.packagedir)) process.system('svn mv -m"Rename" "file://%s/branches" "file://%s/branch"' % (self.packagedir, self.packagedir))
def test_env(self): env = os.environ.copy() env['HELLO'] = 'Hello world' process = Process(env=env) rc = process.system('echo ${HELLO} > output') self.assertEqual(rc, 0) self.assertEqual(process.pipe('cat output'), 'Hello world')
def test_env(self): env = os.environ.copy() env['HELLO'] = 'Hello world' process = Process(quiet=True, env=env) rc, lines = process.popen('echo ${HELLO}') self.assertEqual(rc, 0) self.assertEqual(lines, ['Hello world'])
def testCreateExistingTag(self): scm = Mercurial(Process(quiet=True)) self.assertEqual( scm.create_tag(self.packagedir, '2.6', 'testpackage', '2.6', False), 0) self.assertEqual(scm.tag_exists(self.packagedir, '2.6'), True) self.assertRaises(SystemExit, scm.create_tag, self.packagedir, '2.6', 'testpackage', '2.6', False)
def testCreateAndPushRemoteTag(self): scm = Mercurial(Process(quiet=True)) self.clone() self.assertEqual( scm.create_tag(self.clonedir, '2.6', 'testpackage', '2.6', True), 0) self.assertEqual(scm.tag_exists(self.clonedir, '2.6'), True) self.assertEqual(scm.tag_exists(self.packagedir, '2.6'), True)
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 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 testCommitAndPushDirtyRemoteSandbox(self): scm = Mercurial(Process(quiet=True)) self.clone() self.modify(self.clonedir) self.assertEqual( scm.commit_sandbox(self.clonedir, 'testpackage', '2.6', True), 0) self.verify(self.clonedir) self.update(self.packagedir) self.verify(self.packagedir)
def clone(self): process = Process(quiet=True) process.system('git clone testpackage testclone') self.clonedir = join(self.tempdir, 'testclone') # Park the server on a branch because "Updating the currently # checked-out branch may cause confusion." self.dirstack.push('testpackage') process.system('git checkout -b parking') self.dirstack.pop()
def testSwitchRemoteBranch(self): scm = Mercurial(Process(quiet=True)) self.branch(self.packagedir, '2.x') self.modify(self.packagedir) self.assertEqual( scm.commit_sandbox(self.packagedir, 'testpackage', '0.0', True), 0) self.clone() self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), 'default') self.assertEqual(scm.switch_branch(self.clonedir, '2.x'), 0) self.assertEqual(scm.get_branch_from_sandbox(self.clonedir), '2.x')
def _fake_clone(self): # Fake a checkout, the real thing is too expensive process = Process(quiet=True) source = self._fake_source package = join(dirname(__file__), 'tests', source) archive = zipfile.ZipFile(package, 'r') archive.extractall() os.rename(source[:-4], 'testclone') self.dirstack.push('testclone') if self.scm.version_info[:2] >= (1, 7): url = process.popen('svn info')[1][2][5:] else: url = process.popen('svn info')[1][1][5:] process.system('svn switch --relocate %s file://%s/trunk' % (url, self.packagedir)) self.dirstack.pop() self.clonedir = join(self.tempdir, 'testclone')
def testGitManifest(self): st = Setuptools(Process(quiet=True, env=get_env())) archive = st.run_dist(self.packagedir, [], 'sdist', ['--formats=zip'], ff='git') self.assertEqual( get_manifest(archive), """\ README.txt setup.py testpackage/__init__.py testpackage/git_only.c testpackage/git_only.py testpackage/git_only.txt testpackage.egg-info/PKG-INFO testpackage.egg-info/SOURCES.txt testpackage.egg-info/dependency_links.txt testpackage.egg-info/not-zip-safe testpackage.egg-info/requires.txt testpackage.egg-info/top_level.txt""")
def testSwitchUnknownBranch(self): scm = Mercurial(Process(quiet=True)) self.assertRaises(SystemExit, scm.switch_branch, self.packagedir, '2.x')
def testBadSandbox(self): scm = Mercurial(Process(quiet=True)) self.destroy() self.assertRaises(SystemExit, scm.switch_branch, self.packagedir, '2.x')
def testBadServer(self): scm = Mercurial(Process(quiet=True)) self.destroy() self.assertRaises(SystemExit, scm.clone_url, self.packagedir, 'testclone')
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 testBadPush(self): scm = Mercurial(Process(quiet=True)) self.clone() self.destroy() self.assertRaises(SystemExit, scm.commit_sandbox, self.clonedir, 'testpackage', '2.6', True)
def testCloneUrl(self): scm = Mercurial(Process(quiet=True)) self.assertEqual(scm.clone_url(self.packagedir, 'testclone'), 0) self.assertEqual(isdir('testclone'), True)
def testCommitAndPushCleanRemoteSandbox(self): scm = Mercurial(Process(quiet=True)) self.clone() self.assertEqual( scm.commit_sandbox(self.clonedir, 'testpackage', '2.6', True), 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)
def testCommitAndPushDirtyLocalSandbox(self): scm = Mercurial(Process(quiet=True)) self.modify(self.packagedir) self.assertEqual( scm.commit_sandbox(self.packagedir, 'testpackage', '2.6', True), 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)
def testBadSandbox(self): scm = Mercurial(Process(quiet=True)) self.destroy() self.assertRaises(SystemExit, scm.check_tag_exists, self.packagedir, '2.6')
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 testBadSandbox(self): scm = Subversion(Process(quiet=True)) self.destroy(self.clonedir) self.assertRaises(SystemExit, scm.get_root_from_sandbox, self.clonedir)
def testBadSandbox(self): scm = Mercurial(Process(quiet=True)) self.destroy() self.assertRaises(SystemExit, scm.get_branch_from_sandbox, self.packagedir)
def testCommitCleanSandbox(self): scm = Mercurial(Process(quiet=True)) self.assertEqual( scm.commit_sandbox(self.packagedir, 'testpackage', '2.6', False), 0)
def testBadSandbox(self): scm = Mercurial(Process(quiet=True)) self.destroy() self.assertRaises(SystemExit, scm.create_tag, self.packagedir, '2.6', 'testpackage', '2.6', False)
def testBadSandbox(self): scm = Mercurial(Process(quiet=True)) self.destroy() self.assertRaises(SystemExit, scm.is_unclean_sandbox, self.packagedir)