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 _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 testUpdateWithRevisionPin(self): from mr.developer.develop import CmdCheckout from mr.developer.develop import CmdUpdate process = Process() repository = os.path.join(self.tempdir, 'repository') rc, lines = process.popen( "svnadmin create {0}".format(repository)) assert rc == 0 checkout = os.path.join(self.tempdir, 'checkout') rc, lines = process.popen( "svn checkout file://{0} {1}".format(repository, checkout), echo=False) assert rc == 0 foo = os.path.join(checkout, 'foo') self.mkfile(foo, 'foo') rc, lines = process.popen( "svn add {0}".format(foo), echo=False) assert rc == 0 rc, lines = process.popen( "svn commit {0} -m foo".format(foo), echo=False) assert rc == 0 bar = os.path.join(checkout, 'bar') self.mkfile(bar, 'bar') rc, lines = process.popen( "svn add {0}".format(bar), echo=False) assert rc == 0 rc, lines = process.popen( "svn commit {0} -m bar".format(bar), echo=False) assert rc == 0 src = os.path.join(self.tempdir, 'src') develop = MockDevelop() develop.sources = { 'egg': Source( kind='svn', name='egg', url='file://{0}@1'.format(repository), path=os.path.join(src, 'egg'))} CmdCheckout(develop)(develop.parser.parse_args(['co', 'egg'])) assert set(os.listdir(os.path.join(src, 'egg'))) == set(('.svn', 'foo')) CmdUpdate(develop)(develop.parser.parse_args(['up', 'egg'])) assert set(os.listdir(os.path.join(src, 'egg'))) == set(('.svn', 'foo'))
def test_bad_cmd(self): process = Process() rc, lines = process.popen('$ "Hello world"') self.assertEqual(rc, 127) self.assertEqual(lines, [])
def test_echo2(self): process = Process() rc, lines = process.popen('$ "Hello world"', echo2=False) self.assertEqual(rc, 127) self.assertEqual(lines, [])
def test_echo(self): process = Process() rc, lines = process.popen('echo "Hello world"', echo=False) self.assertEqual(rc, 0) self.assertEqual(lines, ['Hello world'])
def test_quiet(self): process = Process(quiet=True) rc, lines = process.popen('echo "Hello world"') self.assertEqual(rc, 0) self.assertEqual(lines, ['Hello world'])
def test_simple(self): process = Process() rc, lines = process.popen('echo "Hello world"') self.assertEqual(rc, 0) self.assertEqual(lines, ['Hello world'])