Beispiel #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)
Beispiel #2
0
    def test_source_file(self):
        """ Test the SourceFile class """
        if os.path.exists('python-test'):
            shutil.rmtree('python-test')
        sys.argv = ['fedora-review', '-n', 'python-test']
        Settings.init(True)
        ReviewDirs.reset()
        ReviewDirs.workdir_setup('.', True)
        bug = NameBug('python-test')
        bug.find_urls()
        bug.download_files()

        spec = SpecFile(bug.spec_file)
        sources = Sources(spec)
        source = Source(sources, 'Source0', TEST_SRC)
        # check that source exists and source.filename point to the right location
        expected = os.path.abspath('./upstream/python-test-1.0.tar.gz')
        self.assertEqual(source.filename, expected)
        self.assertEqual(source.is_archive(), True)
        self.assertTrue(os.path.exists(source.filename))
        self.assertEqual(
            source.check_source_checksum(),
            "7ef644ee4eafa62cfa773cad4056cdcea592e27dacd5ae"
            "b4e8b11f51f5bf60d3")
        os.chdir(self.startdir)
Beispiel #3
0
 def test_sha256(self):
     sys.argv = ['fedora-review','-b','1']
     Settings.init(True)
     Settings.checksum = 'sha256'
     helpers = HelpersMixin()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, 'd8669d49c8557ac47681f9b85e322849fa84186a8683c93959a590d6e7b9ae29')
Beispiel #4
0
 def test_sha384(self):
     sys.argv = ['fedora-review','-b','1']
     Settings.init(True)
     Settings.checksum = 'sha384'
     helpers = HelpersMixin()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '3d6a580100b1e8a40dc41892f6b289ff13c0b489b8079d8b7c01a17c67b88bf77283f784b4e8dacac6572050df8c948e')
Beispiel #5
0
 def test_sha1(self):
     sys.argv = ['fedora-review','-b','1']
     Settings.init(True)
     Settings.checksum = 'sha1'
     helpers = HelpersMixin()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '5315b33321883c15c19445871cd335f7f698a2aa')
Beispiel #6
0
 def test_sha224(self):
     sys.argv = ['fedora-review','-b','1']
     Settings.init(True)
     Settings.checksum = 'sha224'
     helpers = HelpersMixin()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '01959559db8ef8d596ff824fe207fc0345be67df6b8a51942214adb7')
Beispiel #7
0
 def test_md5(self):
     sys.argv = ['fedora-review','-b','1']
     Settings.init(True)
     Settings.checksum = 'md5'
     helpers = HelpersMixin()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '4a1c937e62192753c550221876613f86')
Beispiel #8
0
    def init_test(self, cd, argv=None, wd=None, buildroot=None, options=None):
        '''
        Initiate a test which runs in directory cd
        kwargs:
           argv: fed to sys.argv and eventually to Settings
                 fedora-review is prepended and mock_root appended.
           wd:   review directory, cleared.
           options: mock-options'''

        cd = os.path.abspath(cd)
        os.chdir(cd)
        if not wd:
            wd = os.getcwd()
        ReviewDirs.workdir_setup(wd, 'testing')
        if not argv:
            argv = []
        args = argv
        args.insert(0, 'fedora-review')
        br = buildroot if buildroot else self.BUILDROOT
        args.append("--mock-config=" + br)
        opts = []
        if NO_NET:
            opts.append('--offline')
        if options:
            opts.append(options)
        if opts:
            argv.append('--mock-options=' + ' '.join(opts))
        sys.argv = argv
        Settings.init(True)
        Mock.clear_builddir()
        Mock.reset()
    def init_test(self, cd, argv=None, wd=None,
                  buildroot=None, options=None):
        '''
        Initiate a test which runs in directory cd
        kwargs:
           argv: fed to sys.argv and eventually to Settings
                 fedora-review is prepended and mock_root appended.
           wd:   review directory, cleared.
           options: mock-options'''

        cd = os.path.abspath(cd)
        os.chdir(cd)
        if not wd:
            wd = os.getcwd()
        ReviewDirs.workdir_setup(wd, 'testing')
        if not argv:
            argv = []
        args = argv
        args.insert(0, 'fedora-review')
        br = buildroot if buildroot else self.BUILDROOT
        args.append("--mock-config=" + br)
        opts = []
        if NO_NET:
            opts.append('--offline')
        if options:
            opts.append(options)
        if opts:
            argv.append('--mock-options=' + ' '.join(opts))
        sys.argv = argv
        Settings.init(True)
        Mock.clear_builddir()
        Mock.reset()
Beispiel #10
0
 def test_checksum_command_line(self):
     ''' Default checksum test. '''
     sys.argv = ['fedora-review', '-b', '1', '-k', 'sha1']
     Settings.init(True)
     helpers = HelpersMixin()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '5315b33321883c15c19445871cd335f7f698a2aa')
Beispiel #11
0
 def test_sha512(self):
     sys.argv = ['fedora-review','-b','1']
     Settings.init(True)
     Settings.checksum = 'sha512'
     helpers = HelpersMixin()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '77a138fbd918610d55d9fd22868901bd189d987f17701498164badea88dd6f5612c118fc9e66d7b57f802bf0cddadc1cec54674ee1c3df2ddfaf1cac4007ac26')
Beispiel #12
0
 def test_checksum_command_line(self):
     sys.argv = ['fedora-review','-n','python-test','--prebuilt',
                 '-k','sha1']
     Settings.init(True)
     helpers = Helpers()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '5315b33321883c15c19445871cd335f7f698a2aa')
 def setUp(self):
     sys.argv = ['fedora-review','-rpn','R-Rdummypkg']
     os.chdir('test-R')
     if os.path.exists('R-Rdummypkg'):
          shutil.rmtree('R-Rdummypkg')
     Settings.init(True)
     ReviewDirs.reset()
Beispiel #14
0
 def setUp(self):
     sys.argv = ['fedora-review', '-rpn', 'R-Rdummypkg']
     os.chdir('test-R')
     if os.path.exists('R-Rdummypkg'):
         shutil.rmtree('R-Rdummypkg')
     Settings.init(True)
     ReviewDirs.reset()
Beispiel #15
0
 def init_test(self, cd, argv=[], wd=None,
               buildroot=None, options=None):
     # Initiate a test which runs in directory cd
     # kwargs:
     #    argv: fed to sys.argv and eventually to Settings
     #          fedora-review is prepended and mock_root appended.
     #    wd:   review directory, cleared.
     #    options: mock-options
     os.chdir(cd)
     if wd:
         if os.path.exists(wd):
             shutil.rmtree(wd)
     ReviewDirs.reset(cd)
     ReviewDirs.workdir_setup(os.getcwd(), True)
     args = argv
     args.insert(0, 'fedora-review')
     br = buildroot if buildroot else self.BUILDROOT
     args.append("--mock-config=" + br)
     opts = []
     if NO_NET:
         opts.append('--offline')
     if options:
         opts.append(options)
     if opts:
         argv.append('--mock-options=' +  ' '.join(opts))
     sys.argv = argv
     Settings.init(True)
     Mock.reset()
Beispiel #16
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)
Beispiel #17
0
 def test_checksum_command_line(self):
     sys.argv = [
         'fedora-review', '-n', 'python-test', '--prebuilt', '-k', 'sha1'
     ]
     Settings.init(True)
     helpers = Helpers()
     checksum = helpers._checksum('scantailor.desktop')
     self.assertEqual(checksum, '5315b33321883c15c19445871cd335f7f698a2aa')
Beispiel #18
0
 def init_test(self, argv=["fedora-review"], d=None):
     os.chdir(startdir)
     if d:
         os.chdir(d)
     if os.path.exists("python-test"):
         shutil.rmtree("python-test")
     ReviewDirs.reset()
     ReviewDirs.workdir_setup(".", True)
     sys.argv = argv
     Settings.init(True)
Beispiel #19
0
 def init_test(self, argv= ['fedora-review'], d=None):
     os.chdir(startdir)
     if d:
         os.chdir(d)
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     sys.argv = argv
     Settings.init(True)
 def setUp(self):
     FR_TestCase.setUp(self)
     sys.argv = ['fedora-review', '-b', '1']
     Settings.init(True)
     self.spec_file = os.path.join(os.path.abspath('.'),
                                   'test_regressions',
                                   'test_107_1.spec')
     self.srpm_file = os.path.join(os.path.abspath('.'),
                                   'test_regressions',
                                   'test_107_1-1.0-1.fc17.src.rpm')
     Mock.reset()
Beispiel #21
0
 def test_desktop_file_bug(self):
     os.chdir('desktop-file')
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     sys.argv = ['fedora-review','-rpn','python-test']
     Settings.init(True)
     ReviewDirs.reset()
     bug = NameBug('python-test')
     check = self.run_single_check(bug,'CheckDesktopFileInstall')
     self.assertEqual(check.state, 'pass')
     os.chdir(self.startdir)
Beispiel #22
0
 def test_desktop_file_bug(self):
     os.chdir('desktop-file')
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     sys.argv = ['fedora-review', '-rpn', 'python-test']
     Settings.init(True)
     ReviewDirs.reset()
     bug = NameBug('python-test')
     check = self.run_single_check(bug, 'CheckDesktopFileInstall')
     self.assertEqual(check.state, 'pass')
     os.chdir(self.startdir)
Beispiel #23
0
 def setUp(self):
     sys.argv = ['fedora-review', '-b', '1']
     Settings.init(True)
     self.log = Settings.get_logger()
     self.helpers = HelpersMixin()
     self.srpm_file = os.path.join(os.path.abspath('.'),
                                   'test_misc',
                                   'python-test-1.0-1.fc16.src.rpm')
     self.spec_file = os.path.join(Mock.get_builddir('SOURCES'),
                                   'python-test.spec')
     self.startdir = os.getcwd()
     Mock.reset()
Beispiel #24
0
 def setUp(self):
     if not srcpath.PLUGIN_PATH in sys.path:
         sys.path.append(srcpath.PLUGIN_PATH)
     sys.argv = ['fedora-review', '-b', '1']
     Settings.init(True)
     self.log = Settings.get_logger()
     self.helpers = HelpersMixin()
     self.srpm_file = os.path.join(os.path.abspath('.'),
                                   'test_misc',
                                   'python-test-1.0-1.fc17.src.rpm')
     self.startdir = os.getcwd()
     Mock.reset()
 def setUp(self):
     sys.argv = ['fedora-review', '-b', '1']
     self.startdir = os.getcwd()
     Settings.init(True)
     self.log = Settings.get_logger()
     self.helpers = HelpersMixin()
     self.spec_file = os.path.join(os.path.abspath('.'),
                                   'test_regressions',
                                   'test_107_1.spec')
     self.srpm_file = os.path.join(os.path.abspath('.'),
                                   'test_regressions',
                                   'test_107_1-1.0-1.fc17.src.rpm')
     Mock.reset()
Beispiel #26
0
 def test_rpm_spec(self):
     sys.argv = ['fedora-review','-rn','python-test']
     Settings.init(True)
     ReviewDirs.reset()
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     bug = NameBug('python-test')
     bug.find_urls()
     expected = 'src/test/python-test-1.0-1.fc16.src.rpm'
     self.assertTrue(bug.srpm_url.endswith(expected))
     expected = 'src/test/python-test/srpm-unpacked/python-test.spec'
     self.assertTrue(bug.spec_url.endswith(expected))
     os.chdir(self.startdir)
Beispiel #27
0
 def test_rpm_spec(self):
     sys.argv = ['fedora-review', '-rn', 'python-test']
     Settings.init(True)
     ReviewDirs.reset()
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     bug = NameBug('python-test')
     bug.find_urls()
     expected = 'src/test/python-test-1.0-1.fc16.src.rpm'
     self.assertTrue(bug.srpm_url.endswith(expected))
     expected = 'src/test/python-test/srpm-unpacked/python-test.spec'
     self.assertTrue(bug.spec_url.endswith(expected))
     os.chdir(self.startdir)
Beispiel #28
0
 def test_bad_specfile(self):        
     os.chdir('bad-spec')
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     sys.argv = ['fedora-review','-pn','python-test']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     bug = NameBug('python-test')
     check = self.run_single_check(bug,'CheckSpecAsInSRPM')
     self.assertEqual(check.state, 'fail')
     self.assertTrue('#TestTag' in check.attachments[0].text)
     os.chdir(self.startdir)
Beispiel #29
0
 def test_bad_specfile(self):
     os.chdir('bad-spec')
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     sys.argv = ['fedora-review', '-pn', 'python-test']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     bug = NameBug('python-test')
     check = self.run_single_check(bug, 'CheckSpecAsInSRPM')
     self.assertEqual(check.state, 'fail')
     self.assertTrue('#TestTag' in check.attachments[0].text)
     os.chdir(self.startdir)
Beispiel #30
0
 def test_bugzilla_bug(self):
     sys.argv = ['fedora-review','-b','817268']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     bug = BugzillaBug('817268')
     bug.find_urls()
     expected ='http://dl.dropbox.com/u/17870887/python-faces-0.11.7-2' \
               '/python-faces-0.11.7-2.fc16.src.rpm'
     self.assertEqual(expected, bug.srpm_url)
     expected = 'http://dl.dropbox.com/u/17870887/python-faces-0.11.7-2/' \
                'python-faces.spec'
     self.assertEqual(expected, bug.spec_url)
     self.assertEqual(None, bug.spec_file)
     self.assertEqual(None, bug.srpm_file)
     os.chdir(self.startdir)
 def __init__(self):
     self.bug = None
     self.checks = None
     self.log = Settings.get_logger()
     self.verbose = False
     self.outfile = None
     self.prebuilt = False
Beispiel #32
0
 def __init__(self):
     self.bug = None
     self.checks = None
     self.log = Settings.get_logger()
     self.verbose = False
     self.outfile = None
     self.prebuilt = False
Beispiel #33
0
 def test_bugzilla_bug(self):
     sys.argv = ['fedora-review', '-b', '817268']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     bug = BugzillaBug('817268')
     bug.find_urls()
     expected ='http://dl.dropbox.com/u/17870887/python-faces-0.11.7-2' \
               '/python-faces-0.11.7-2.fc16.src.rpm'
     self.assertEqual(expected, bug.srpm_url)
     expected = 'http://dl.dropbox.com/u/17870887/python-faces-0.11.7-2/' \
                'python-faces.spec'
     self.assertEqual(expected, bug.spec_url)
     self.assertEqual(None, bug.spec_file)
     self.assertEqual(None, bug.srpm_file)
     os.chdir(self.startdir)
Beispiel #34
0
 def setUp(self):
     self.startdir = os.getcwd()
     sys.argv = ['test-checks','-b','1234']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     if not os.path.exists(TEST_WORK_DIR):
         os.makedirs(TEST_WORK_DIR)
     self.checks = None
     self.srpm = TEST_WORK_DIR + os.path.basename(TEST_SRPM)
     self.spec = TEST_WORK_DIR + os.path.basename(TEST_SPEC)
     self.source = TEST_WORK_DIR + os.path.basename(TEST_SRC)
     helper = Helpers()
     helper._get_file(TEST_SRPM, TEST_WORK_DIR)
     helper._get_file(TEST_SRC, TEST_WORK_DIR)
     helper._get_file(TEST_SPEC, TEST_WORK_DIR)
     del helper
Beispiel #35
0
 def setUp(self):
     self.startdir = os.getcwd()
     sys.argv = ['test-checks', '-b', '1234']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     if not os.path.exists(TEST_WORK_DIR):
         os.makedirs(TEST_WORK_DIR)
     self.checks = None
     self.srpm = TEST_WORK_DIR + os.path.basename(TEST_SRPM)
     self.spec = TEST_WORK_DIR + os.path.basename(TEST_SPEC)
     self.source = TEST_WORK_DIR + os.path.basename(TEST_SRC)
     helper = Helpers()
     helper._get_file(TEST_SRPM, TEST_WORK_DIR)
     helper._get_file(TEST_SRC, TEST_WORK_DIR)
     helper._get_file(TEST_SPEC, TEST_WORK_DIR)
     del helper
    def __do_report(self):
        ''' Create a review report'''
        self.log.info('Getting .spec and .srpm Urls from : '
                       + self.bug.get_location())

        Settings.dump()
        if not self.bug.find_urls():
            raise self.HelperError('Cannot find .spec or .srpm URL(s)')

        if not ReviewDirs.is_inited:
            wd = self.bug.get_dirname()
            ReviewDirs.workdir_setup(wd)

        if not self.bug.download_files():
            raise self.HelperError('Cannot download .spec and .srpm')

        Settings.name = self.bug.get_name()
        self.__run_checks(self.bug.spec_file, self.bug.srpm_file)
Beispiel #37
0
 def test_md5sum_diff_fail(self):
     os.chdir('md5sum-diff-fail')
     sys.argv = ['fedora-review', '-rpn', 'python-test']
     Settings.init(True)
     ReviewDirs.reset()
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     bug = NameBug('python-test')
     bug.find_urls()
     checks = Checks(bug.spec_file, bug.srpm_file)
     checks.set_single_check('CheckSourceMD5')
     self.assertEqual(len(checks.checks), 1)
     check = checks.checks[0]
     check.run()
     self.assertEqual(check.state, 'fail')
     expected = 'diff -r also reports differences'
     self.assertTrue(expected in check.attachments[0].text)
     os.chdir(self.startdir)
Beispiel #38
0
 def test_md5sum_diff_fail(self):        
     os.chdir('md5sum-diff-fail')
     sys.argv = ['fedora-review','-rpn','python-test']
     Settings.init(True)
     ReviewDirs.reset()
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     bug = NameBug('python-test')
     bug.find_urls()
     checks = Checks(bug.spec_file, bug.srpm_file)
     checks.set_single_check('CheckSourceMD5')
     self.assertEqual(len(checks.checks), 1)
     check = checks.checks[0]
     check.run()
     self.assertEqual(check.state, 'fail')
     expected = 'diff -r also reports differences'
     self.assertTrue(expected in check.attachments[0].text)
     os.chdir(self.startdir)
 def run(self):
     self.log.debug( "Command  line: " + ' '.join(sys.argv))
     try:
         Settings.init()
         make_report = True
         if Settings.list_checks:
             self.__list_checks()
             make_report = False
         elif Settings.version:
             self.__print_version()
             make_report = False
         elif Settings.url:
             self.log.info("Processing bug on url: " + Settings.url )
             self.bug = UrlBug(Settings.url)
         elif Settings.bug:
             self.log.info("Processing bugzilla bug: " + Settings.bug )
             self.bug = BugzillaBug(Settings.bug, user=Settings.user)
         elif Settings.name:
             self.log.info("Processing local files: " + Settings.name )
             self.bug = NameBug(Settings.name)
         if make_report:
             self.__do_report()
         return 0
     except BugException as err:
         print str(err)
         return 2
     except HandledError as err:
         print str(err)
         return 2
     except SettingsError as err:
         self.log.error("Incompatible settings: " + str(err))
         return 2
     except ReviewDirExistsError as err:
         print("The directory %s is in the way, please remove." %
               err.value)
         return 4
     except CleanExitError as err:
         self.log.debug('Processing CleanExit')
         return 2
     except:
         self.log.debug("Exception down the road...", exc_info=True)
         self.log.error("Exception down the road...")
         return 1
     return 0
Beispiel #40
0
 def run(self):
     self.log.debug("Command  line: " + ' '.join(sys.argv))
     try:
         Settings.init()
         make_report = True
         if Settings.list_checks:
             self.__list_checks()
             make_report = False
         elif Settings.version:
             self.__print_version()
             make_report = False
         elif Settings.url:
             self.log.info("Processing bug on url: " + Settings.url)
             self.bug = UrlBug(Settings.url)
         elif Settings.bug:
             self.log.info("Processing bugzilla bug: " + Settings.bug)
             self.bug = BugzillaBug(Settings.bug, user=Settings.user)
         elif Settings.name:
             self.log.info("Processing local files: " + Settings.name)
             self.bug = NameBug(Settings.name)
         if make_report:
             self.__do_report()
         return 0
     except BugException as err:
         print str(err)
         return 2
     except HandledError as err:
         print str(err)
         return 2
     except SettingsError as err:
         self.log.error("Incompatible settings: " + str(err))
         return 2
     except ReviewDirExistsError as err:
         print("The directory %s is in the way, please remove." % err.value)
         return 4
     except CleanExitError as err:
         self.log.debug('Processing CleanExit')
         return 2
     except:
         self.log.debug("Exception down the road...", exc_info=True)
         self.log.error("Exception down the road...")
         return 1
     return 0
Beispiel #41
0
    def __do_report(self):
        ''' Create a review report'''
        self.log.info('Getting .spec and .srpm Urls from : ' +
                      self.bug.get_location())

        Settings.dump()
        if not self.bug.find_urls():
            self.log.error('Cannot find .spec or .srpm URL(s)')
            raise HandledError()

        if not ReviewDirs.is_inited:
            wd = self.bug.get_dirname()
            ReviewDirs.workdir_setup(wd)

        if not self.bug.download_files():
            self.log.error('Cannot download .spec and .srpm')
            raise HandledError()

        Settings.name = self.bug.get_name()
        self.__run_checks(self.bug.spec_file, self.bug.srpm_file)
Beispiel #42
0
 def test_sources(self):
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     sys.argv = ['fedora-review','-n','python-test']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     bug = NameBug('python-test')
     bug.find_urls()
     bug.download_files()
     checks = Checks(bug.spec_file, bug.srpm_file)
     checks.set_single_check('CheckSourceMD5')
     self.assertEqual(len(checks.checks), 1)
     check = checks.checks[0]
     check.run()
     result = check.get_result()
     self.log.debug('result : ' + result.result)
     if result.output_extra:
        self.log.debug("Result extra text: " + result.output_extra)
     self.assertEqual( result.result, 'pass')
     os.chdir(self.startdir)
Beispiel #43
0
 def setUp(self):
     sys.argv = ['fedora-review', '-n', 'python-test', '--prebuilt']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     self.log = Settings.get_logger()
     self.helpers = Helpers()
     self.srpm_file = os.path.join(os.path.abspath('.'),
                                   os.path.basename(TEST_SRPM))
     self.spec_file = os.path.join(Mock.get_builddir('SOURCES'),
                                   os.path.basename(TEST_SPEC))
     self.source_file = os.path.join(Mock.get_builddir('SOURCES'),
                                     os.path.basename(TEST_SRC))
     if not os.path.exists(TEST_WORK_DIR):
         os.makedirs(TEST_WORK_DIR)
     self.helpers._get_file(TEST_SRPM, TEST_WORK_DIR)
     self.startdir = os.getcwd()
     for tree in ['python-test', 'results']:
         if os.path.exists(tree):
             shutil.rmtree(tree)
     Mock.reset()
Beispiel #44
0
 def setUp(self):
     sys.argv = ['fedora-review','-n','python-test','--prebuilt']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     self.log = Settings.get_logger()
     self.helpers = Helpers()
     self.srpm_file = os.path.join(os.path.abspath('.'),
                                   os.path.basename(TEST_SRPM))
     self.spec_file = os.path.join(Mock.get_builddir('SOURCES'),
                                     os.path.basename(TEST_SPEC))
     self.source_file = os.path.join(Mock.get_builddir('SOURCES'),
                                     os.path.basename(TEST_SRC))
     if not os.path.exists(TEST_WORK_DIR):
         os.makedirs(TEST_WORK_DIR)
     self.helpers._get_file(TEST_SRPM, TEST_WORK_DIR)
     self.startdir = os.getcwd()
     for tree in ['python-test', 'results']:
         if os.path.exists(tree):
             shutil.rmtree(tree)
     Mock.reset()
Beispiel #45
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)
Beispiel #46
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)
Beispiel #47
0
 def test_sources(self):
     if os.path.exists('python-test'):
         shutil.rmtree('python-test')
     sys.argv = ['fedora-review', '-n', 'python-test']
     Settings.init(True)
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     bug = NameBug('python-test')
     bug.find_urls()
     bug.download_files()
     checks = Checks(bug.spec_file, bug.srpm_file)
     checks.set_single_check('CheckSourceMD5')
     self.assertEqual(len(checks.checks), 1)
     check = checks.checks[0]
     check.run()
     result = check.get_result()
     self.log.debug('result : ' + result.result)
     if result.output_extra:
         self.log.debug("Result extra text: " + result.output_extra)
     self.assertEqual(result.result, 'pass')
     os.chdir(self.startdir)
Beispiel #48
0
 def test_srpm_mockbuild(self):
     """ Test the SRPMFile class """
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     sys.argv = ['fedora-review', '-b', '817268', '-m', 'fedora-16-i386']
     Settings.init(True)
     self.helpers._get_file(TEST_SRPM, os.path.abspath('.'))
     srpm = SRPMFile(self.srpm_file)
     # install the srpm
     srpm.unpack()
     self.assertTrue(hasattr(srpm, 'unpacked_src'))
     src_dir = srpm.unpacked_src
     src_files = glob.glob(os.path.expanduser(src_dir) + '/*')
     src_files = [os.path.basename(f) for f in src_files]
     self.assertTrue('python-test-1.0.tar.gz' in src_files)
     self.log.info("Starting mock build (patience...)")
     srpm.mockbuild()
     self.assertTrue(srpm.is_build)
     rpms = glob.glob(
         os.path.join(Mock.resultdir, 'python-test-1.0-1*noarch.rpm'))
     self.assertEqual(1, len(rpms))
     os.chdir(self.startdir)
Beispiel #49
0
 def test_srpm_mockbuild(self):
     """ Test the SRPMFile class """
     ReviewDirs.reset()
     ReviewDirs.workdir_setup('.', True)
     sys.argv = ['fedora-review','-b','817268', '-m', 'fedora-16-i386']
     Settings.init(True)
     self.helpers._get_file(TEST_SRPM, os.path.abspath('.'))
     srpm = SRPMFile(self.srpm_file)
     # install the srpm
     srpm.unpack()
     self.assertTrue(hasattr(srpm, 'unpacked_src'))
     src_dir = srpm.unpacked_src
     src_files = glob.glob(os.path.expanduser(src_dir) + '/*')
     src_files = [os.path.basename(f) for f in  src_files]
     self.assertTrue('python-test-1.0.tar.gz' in src_files)
     self.log.info("Starting mock build (patience...)")
     srpm.mockbuild()
     self.assertTrue(srpm.is_build)
     rpms = glob.glob(os.path.join(Mock.resultdir,
                                   'python-test-1.0-1*noarch.rpm'))
     self.assertEqual(1, len(rpms))
     os.chdir(self.startdir)
Beispiel #50
0
class PhpCheckBase(LangCheckBase):
    """ Base class for all PHP specific checks. """
    header = "PHP"
    DIR = ['%{packname}']
    DOCS = []
    URLS = []
    log = Settings.get_logger()

    def is_applicable(self):
        """ Check is the tests are applicable, here it checks whether
        it is a PHP package (spec starts with 'php-') or not.
        """
        if self.spec.name.startswith("php-"):
            return True
        else:
            return False

    def run(self):
        """ Run the check """
        pass
Beispiel #51
0
 def __init__(self, checks):
     AbstractRegistry.__init__(self, checks)
     self.groups = checks.groups
     self.checks = checks
     self.log = Settings.get_logger()
Beispiel #52
0
 def setUp(self):
     self.log = Settings.get_logger()
     self.startdir = os.getcwd()
Beispiel #53
0
 def setUp(self):
     self.log = Settings.get_logger()
Beispiel #54
0
 def setUp(self):
     sys.argv = ['test-bugzilla','-b',TEST_BUG ]
     Settings.init(TEST_BUG )
     ReviewDirs.workdir_setup('.', True)
     self.bug = BugzillaBug(TEST_BUG)