def test_prebuilt(self): ''' test --name --prebuilt ''' argv = ['fedora-review', '-rpn', 'python-spiffgtkwidgets'] argv.extend(['--mock-config', 'fedora-16-i386']) sys.argv = argv os.chdir('prebuilt') if os.path.exists('python-spiffgtkwidgets'): shutil.rmtree('python-spiffgtkwidgets') ReviewDirs.reset() Settings.init(True) rpms = glob('/var/lib/mock/fedora-16-i386/*.rpm') for r in rpms: os.unlink(r) rh = ReviewHelper() sys.stdout = open( '/dev/null', 'w') rh.run() sys.stdout = sys.__stdout__ self.assertEqual(len(rpms), 0) rv = 'python-spiffgtkwidgets-review.txt' with open(os.path.abspath(rv)) as f: log = '\n'.join(f.readlines()) self.assertIn('Using prebuilt rpms', log) os.chdir(startdir)
def test_mock_options(self): ''' test -o/--mock-options and -m/mock-config ''' dflt = os.readlink('/etc/mock/default.cfg') v = '16' if '17' in dflt else '17' d = os.path.join(os.getcwd(), 'results') if os.path.exists(d): shutil.rmtree(d) os.mkdir(d) cmd = 'fedora-review -n python-test -m fedora-%s-i386' \ ' -o=--resultdir=%s --no-report' % (v, d) self.init_test(cmd.split()) rh = ReviewHelper() rh.run() rpms = glob(os.path.join(d, '*fc%s*.rpm' % v)) self.assertTrue(len(rpms) > 0)
def run_spec(self, spec): ''' Run all tests for a test spec.... ''' # pylint: disable=C0111,W0212 class Null(object): def write(self, msg): pass argv = ['-rn', spec.testcase, '-x', 'generic-large-docs', '--no-build'] argv.extend(spec.args) self.init_test(spec.testcase, wd=spec.workdir, argv=argv) helper = ReviewHelper() Mock.clear_builddir() if os.path.exists('BUILD'): if os.path.islink('BUILD'): os.unlink('BUILD') else: shutil.rmtree('BUILD') stdout = sys.stdout sys.stdout = Null() rc = helper.run('review.txt') self.assertEqual(rc, 0) sys.stdout = stdout checkdict = helper.checks.get_checks() for check in checkdict.itervalues(): self.assertTrue(check.is_run) if check.is_passed or check.is_pending or check.is_failed: self.assertIn(check.group, spec.groups_ok, check.name + ': group is ' + check.group) for (what, check) in spec.expected: state = checkdict[check].state if what in ['pass', 'fail', 'pending']: self.assertEqual(state, what, check + ': state is ' + str(state)) elif what == 'na': self.assertEqual(state, None, check + ': state is ' + str(state)) elif what.startswith == 'in_attachment': self.assertIn( what.split(':')[1], checkdict[check].attachments[0].text) else: self.assertFalse(what)
def test_git_source(self): ''' test use of local source0 tarball ''' argv = ['fedora-review', '-rpn', 'get-flash-videos'] argv.extend(['--mock-config', 'fedora-16-i386-rpmfusion_nonfree']) sys.argv = argv os.chdir('git-source') if os.path.exists('get-flash-videos'): shutil.rmtree('get-flash-videos') ReviewDirs.reset() Settings.init(True) rh = ReviewHelper() sys.stdout = open( '/dev/null', 'w') rh.run() sys.stdout = sys.__stdout__ rv = 'get-flash-videos-review.txt' with open(os.path.abspath(rv)) as f: log = f.read() self.assertIn('Using local file' , log) os.chdir(startdir)