Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
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)
Exemplo n.º 6
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)
Exemplo n.º 7
0
    def test_review_helper(self):
        ''' Test review_helper error handling. '''
        # pylint: disable=C0111,W0212

        class Null(object):
            def write(self, msg):
                pass

        loglevel = None
        argv = ['-rn', 'foo', '--no-build']
        self.init_test('.', argv)
        helper = ReviewHelper()
        stdout = sys.stdout
        sys.stdout = Null()
        helper.log.setLevel(logging.CRITICAL)
        rc = helper.run('review.txt')
        sys.stdout = stdout
        if loglevel:
            os.environ['REVIEW_LOGLEVEL'] = loglevel
        self.assertEqual(rc, 2)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    def test_display(self):
        """ test -d/--display option. """
        # pylint: disable=C0111

        class Logger(object):

            def __init__(self):
                self.lines = []

            def write(self, message):
                self.lines.append(message)

        if not srcpath.PLUGIN_PATH in sys.path:
            sys.path.append(srcpath.PLUGIN_PATH)
        from FedoraReview.review_helper import ReviewHelper
        sys.argv = ['fedora-review', '-d', '--no-build']
        Settings.init(True)
        helper = ReviewHelper()
        stdout = sys.stdout
        logger = Logger()
        sys.stdout = logger
        helper.run()
        sys.stdout = stdout
        self.assertTrue(len(logger.lines) > 20)