def test_builder18(self): """test run method (write stdout to tmpfile)""" build_cmd = self.fixture_file('dummy.sh') builder = Builder(build_cmd=build_cmd, su_cmd=None, out='blah') with mkstemp(dir=self._tmp_dir) as f: ret = builder.run(stdout=f) self.assertEqual(ret, 0) f.seek(0, os.SEEK_SET) self.assertEqual(f.read(), 'blah\n')
def test_builder20(self): """test run method (specify spec file)""" build_cmd = self.fixture_file('dummy.sh') builder = Builder(build_cmd=build_cmd, su_cmd=None) with mkstemp(dir=self._tmp_dir) as f: ret = builder.run('foo.spec', stdout=f) self.assertEqual(ret, 0) f.seek(0, os.SEEK_SET) # output is the build descr self.assertEqual(f.read(), 'foo.spec\n')
def test_builder19(self): """test run method (no shell expansion)""" build_cmd = self.fixture_file('dummy.sh') builder = Builder(build_cmd=build_cmd, su_cmd=None, out='$PATH') with mkstemp(dir=self._tmp_dir) as f: ret = builder.run(stdout=f) self.assertEqual(ret, 0) f.seek(0, os.SEEK_SET) # path is not expanded because subprocess.call is invoked # with shell=False self.assertEqual(f.read(), '$PATH\n')
def test_builder17(self): """test run method (retcode 1)""" build_cmd = self.fixture_file('dummy.sh') builder = Builder(build_cmd=build_cmd, su_cmd=None, fail=True) ret = builder.run() self.assertEqual(ret, 1)
def test_builder16(self): """test run method (retcode 0)""" build_cmd = self.fixture_file('./dummy.sh') builder = Builder(build_cmd=build_cmd, su_cmd=None) ret = builder.run() self.assertEqual(ret, 0)