From 499a2c1bc7db2b0f103f78d49f6088d9bdfbdf9c Mon Sep 17 00:00:00 2001 From: Iryna Shcherbina Date: Jan 29 2018 17:04:10 +0000 Subject: Make sure testing in mock does not fail if the requirement was not changed for a reason --- diff --git a/fix_requires.py b/fix_requires.py index f8fe9cf..4146485 100755 --- a/fix_requires.py +++ b/fix_requires.py @@ -188,7 +188,7 @@ def main(packages, dirname, no_mock_build, no_koji_build, pagure, # QA. local_repo.create_srpm() if not no_mock_build: - test_in_mock(local_repo, logger) + test_in_mock(local_repo, logger, dnf_info=modifier.dnf_info) if not no_koji_build: test_in_koji(local_repo, logger) diff --git a/qa/build_mock.py b/qa/build_mock.py index b603634..d8661e7 100644 --- a/qa/build_mock.py +++ b/qa/build_mock.py @@ -24,7 +24,7 @@ def is_unversioned(name): name == 'python') -def check_mockbuild_result(output): +def check_mockbuild_result(output, dnf_info): # Check that no rpms require python-smth. result_dir_re = r'Results and/or logs in: (\S*)' result_dir_path = re.search(result_dir_re, output.decode('utf-8')).group(1) @@ -37,12 +37,14 @@ def check_mockbuild_result(output): requires = subprocess.check_output(['rpm', '-qRp', rpm_file]) for require in requires.split(): if is_unversioned(require.decode('utf-8')): + if dnf_info and not dnf_info.requires_py2(require.decode('utf-8')): + return raise Exception(f'{require} is still not versioned') -def test_in_mock(package_repo, logger, check_requires=True): +def test_in_mock(package_repo, logger, check_requires=True, dnf_info=None): logger.debug('Running mock build') output = package_repo.run_mockbuild() if check_requires: logger.debug('Mock build completed. Checking resulting rpms') - check_mockbuild_result(output) + check_mockbuild_result(output, dnf_info)