Closed locriandev closed 1 year ago
py38: install_deps> python -I -m pip install '.[tests]'
.pkg: install_requires> python -I -m pip install 'setuptools>=65.5.1'
.pkg: _optional_hooks> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: freeze> python -m pip freeze --all
.pkg: pip==23.2.1,setuptools==68.0.0,wheel==0.41.0
.pkg: build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py38: install_package_deps> python -I -m pip install 'aiohttp[speedups]>=3.6' 'click>=8.1.3' 'errata-tool@ git+https://github.com/red-hat-storage/errata-tool@v1.31.0' future 'jira>=3.4.1' 'koji>=1.18' 'pydantic~=1.10.7' pygit2==1.10.1 'python-bugzilla>=3.2' pyyaml requests 'requests-gssapi~=1.2.3' ruamel.yaml semver tenacity
py38: install_package> python -I -m pip install --force-reinstall --no-deps /mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/.tmp/package/1/rh-elliott-0.0.0.tar.gz
py38: freeze> python -m pip freeze --all
py38: aiodns==3.0.0,aiohttp==3.8.5,aiosignal==1.3.1,astroid==2.15.6,async-timeout==4.0.2,attrs==23.1.0,Brotli==1.0.9,cachetools==5.3.1,cchardet==2.1.7,certifi==2023.7.22,cffi==1.15.1,chardet==5.2.0,charset-normalizer==3.2.0,click==8.1.6,colorama==0.4.6,coverage==7.2.7,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.7,distlib==0.3.7,errata-tool @ git+https://github.com/red-hat-storage/errata-tool@2fd4c8b5e26d13eae73557e1621f922a57b2acf6,exceptiongroup==1.1.2,filelock==3.12.2,flake8==6.1.0,flexmock==0.11.3,frozenlist==1.4.0,future==0.18.3,gssapi==1.8.2,idna==3.4,iniconfig==2.0.0,isort==5.12.0,jira==3.5.2,jsonpath-rw==1.4.0,koji==1.33.1,lazy-object-proxy==1.9.0,mccabe==0.7.0,multidict==6.0.4,mypy==1.4.1,mypy-extensions==1.0.0,oauthlib==3.2.2,packaging==23.1,pip==23.2.1,platformdirs==3.10.0,pluggy==1.2.0,ply==3.11,pycares==4.3.0,pycodestyle==2.11.0,pycparser==2.21,pydantic==1.10.12,pyflakes==3.1.0,pygit2==1.10.1,pylint==2.17.5,pyproject-api==1.5.3,pytest==7.4.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0.1,requests==2.31.0,requests-gssapi==1.2.3,requests-oauthlib==1.3.1,requests-toolbelt==1.0.0,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/.tmp/package/1/rh-elliott-0.0.0.tar.gz#sha256=c2999fb4fe6bece7ef44656001c1ea8ba422a35b1dafc8465c5216c893edcdf6,ruamel.yaml==0.17.32,ruamel.yaml.clib==0.2.7,semver==3.0.1,setuptools==68.0.0,six==1.16.0,tenacity==8.2.2,tomli==2.0.1,tomlkit==0.12.1,tox==4.6.4,typing_extensions==4.7.1,urllib3==2.0.4,virtualenv==20.24.2,wheel==0.41.0,wrapt==1.15.0,yarl==1.9.2
py38: commands[0]> coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
..............................................Cannot find any corresponding flaw bugs for these trackers: [13]. These trackers do not have a valid whiteboard component value: [12].
..BZ 9 is ignored because its status was MODIFIED at the moment of sweep cutoff (2021-06-30 12:30:00), however its status changed back to ['ASSIGNED'] afterwards
...............................................................................F.....F.F.............................................................
======================================================================
FAIL: test_run_with_specified_trackers (tests.test_find_bugs_kernel_cli.TestFindBugsKernelCli)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.8/unittest/async_case.py", line 65, in _callTestMethod
self._callMaybeAsync(method)
File "/usr/lib64/python3.8/unittest/async_case.py", line 88, in _callMaybeAsync
return self._asyncioTestLoop.run_until_complete(fut)
File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/usr/lib64/python3.8/unittest/async_case.py", line 102, in _asyncioLoopRunner
ret = await awaitable
File "/usr/lib64/python3.8/unittest/mock.py", line 1342, in patched
return await func(*newargs, **newkeywargs)
File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-581/tests/test_find_bugs_kernel_cli.py", line 354, in test_run_with_specified_trackers
To fix missing builds in other advisories:
elliott move-builds -k image --from 42 --to <target_advisory> --only operand-nvr-1-0
_comment_on_tracker.assert_called_once_with(ANY, jira_client.issue.return_value, ANY, ANY)
File "/usr/lib64/python3.8/unittest/mock.py", line 925, in assert_called_once_with
return self.assert_called_with(*args, **kwargs)
File "/usr/lib64/python3.8/unittest/mock.py", line 913, in assert_called_with
raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: _comment_on_tracker(<ANY>, <MagicMock name='mock.bug_trackers()._client.issue()' spec='Issue' id='140119017456688'>, <ANY>, <ANY>)
Actual: _comment_on_tracker(<MagicMock name='mock.get_bug_tracker()._client' id='140119066542288'>, <MagicMock name='mock.get_bug_tracker()._client.issue()' id='140119017413792'>, <MagicMock name='mock.build_retrying_koji_client()' id='140119017802624'>, TargetJiraConfig(project='OCPBUGS', component='RHCOS', version='4.14', target_release='4.14.0', candidate_brew_tag='rhaos-4.14-rhel-9-candidate', prod_brew_tag='rhaos-4.14-rhel-9'))
======================================================================
FAIL: test_run_with_specified_issues (tests.test_find_bugs_kernel_clones_cli.TestFindBugsKernelClonesCli)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.8/unittest/async_case.py", line 65, in _callTestMethod
self._callMaybeAsync(method)
File "/usr/lib64/python3.8/unittest/async_case.py", line 88, in _callMaybeAsync
return self._asyncioTestLoop.run_until_complete(fut)
File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/usr/lib64/python3.8/unittest/async_case.py", line 102, in _asyncioLoopRunner
ret = await awaitable
File "/usr/lib64/python3.8/unittest/mock.py", line 1342, in patched
return await func(*newargs, **newkeywargs)
File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-581/tests/test_find_bugs_kernel_clones_cli.py", line 255, in test_run_with_specified_issues
_update_jira_issues.assert_called_once_with(jira_client, found_issues, ANY, ANY)
File "/usr/lib64/python3.8/unittest/mock.py", line 925, in assert_called_once_with
return self.assert_called_with(*args, **kwargs)
File "/usr/lib64/python3.8/unittest/mock.py", line 913, in assert_called_with
raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: _update_jira_issues(<MagicMock name='mock.bug_trackers()._client' id='140119017068048'>, [<MagicMock spec='Issue' id='140119016260464'>, <MagicMock spec='Issue' id='140119016293712'>, <MagicMock spec='Issue' id='140119016318768'>], <ANY>, <ANY>)
Actual: _update_jira_issues(<MagicMock name='mock.get_bug_tracker()._client' id='140119016413312'>, [<MagicMock spec='Issue' id='140119016260464'>, <MagicMock spec='Issue' id='140119016293712'>, <MagicMock spec='Issue' id='140119016318768'>], <MagicMock name='mock.build_retrying_koji_client()' id='140119017952400'>, KernelBugSweepConfig(tracker_jira=TrackerJiraConfig(project='KMAINT', labels=['early-kernel-track']), bugzilla=BugzillaConfig(target_releases=['9.2.0']), target_jira=TargetJiraConfig(project='OCPBUGS', component='RHCOS', version='4.14', target_release='4.14.0', candidate_brew_tag='rhaos-4.14-rhel-9-candidate', prod_brew_tag='rhaos-4.14-rhel-9')))
======================================================================
FAIL: test_run_without_specified_issues (tests.test_find_bugs_kernel_clones_cli.TestFindBugsKernelClonesCli)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.8/unittest/async_case.py", line 65, in _callTestMethod
self._callMaybeAsync(method)
File "/usr/lib64/python3.8/unittest/async_case.py", line 88, in _callMaybeAsync
return self._asyncioTestLoop.run_until_complete(fut)
File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/usr/lib64/python3.8/unittest/async_case.py", line 102, in _asyncioLoopRunner
ret = await awaitable
File "/usr/lib64/python3.8/unittest/mock.py", line 1342, in patched
return await func(*newargs, **newkeywargs)
File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-581/tests/test_find_bugs_kernel_clones_cli.py", line 192, in test_run_without_specified_issues
_update_jira_issues.assert_called_once_with(jira_client, found_issues, ANY, ANY)
File "/usr/lib64/python3.8/unittest/mock.py", line 925, in assert_called_once_with
return self.assert_called_with(*args, **kwargs)
File "/usr/lib64/python3.8/unittest/mock.py", line 913, in assert_called_with
raise AssertionError(_error_message()) from cause
AssertionError: expected call not found.
Expected: _update_jira_issues(<MagicMock name='mock.bug_trackers()._client' id='140119016651168'>, [<MagicMock spec='Issue' id='140119016748176'>, <MagicMock spec='Issue' id='140119015990800'>, <MagicMock spec='Issue' id='140119016019952'>], <ANY>, <ANY>)
Actual: _update_jira_issues(<MagicMock name='mock.get_bug_tracker()._client' id='140119016110400'>, [<MagicMock spec='Issue' id='140119016748176'>, <MagicMock spec='Issue' id='140119015990800'>, <MagicMock spec='Issue' id='140119016019952'>], <MagicMock name='mock.build_retrying_koji_client()' id='140119016138640'>, KernelBugSweepConfig(tracker_jira=TrackerJiraConfig(project='KMAINT', labels=['early-kernel-track']), bugzilla=BugzillaConfig(target_releases=['9.2.0']), target_jira=TargetJiraConfig(project='OCPBUGS', component='RHCOS', version='4.14', target_release='4.14.0', candidate_brew_tag='rhaos-4.14-rhel-9-candidate', prod_brew_tag='rhaos-4.14-rhel-9')))
----------------------------------------------------------------------
Ran 194 tests in 1.289s
FAILED (failures=3)
py38: exit 1 (2.35 seconds) /mnt/workspace/jenkins/working/art-tools_elliott_PR-581> coverage run --branch --source elliottlib -m unittest discover -t . -s tests/ pid=234
.pkg: _exit> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py38: FAIL code 1 (37.28=setup[34.93]+cmd[2.35] seconds)
evaluation failed :( (37.61 seconds)
.pkg: _optional_hooks> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: freeze> python -m pip freeze --all
.pkg: pip==23.2.1,setuptools==68.0.0,wheel==0.41.0
.pkg: build_sdist> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py38: recreate env because dependencies removed: errata-tool@ git+https://github.com/red-hat-storage/errata-tool@v1.31.0
py38: remove tox env folder /mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/py38
py38: install_deps> python -I -m pip install '.[tests]'
py38: install_package_deps> python -I -m pip install 'aiohttp[speedups]>=3.6' 'click>=8.1.3' 'errata-tool~=1.31.0' future 'jira>=3.4.1' 'koji>=1.18' 'pydantic~=1.10.7' pygit2==1.10.1 'python-bugzilla>=3.2' pyyaml requests 'requests-gssapi~=1.2.3' ruamel.yaml semver tenacity
py38: install_package> python -I -m pip install --force-reinstall --no-deps /mnt/workspace/jenkins/working/art-tools_elliott_PR-581/.tox/.tmp/package/3/rh-elliott-0.0.0.tar.gz
py38: commands[0]> coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
..............................................Cannot find any corresponding flaw bugs for these trackers: [13]. These trackers do not have a valid whiteboard component value: [12].
..BZ 9 is ignored because its status was MODIFIED at the moment of sweep cutoff (2021-06-30 12:30:00), however its status changed back to ['ASSIGNED'] afterwards
..................................................................................................................................................
----------------------------------------------------------------------
Ran 194 tests in 1.240s
OK
To fix missing builds in other advisories:
elliott move-builds -k image --from 42 --to <target_advisory> --only operand-nvr-1-0
py38: commands[1]> coverage report
Name Stmts Miss Branch BrPart Cover
-----------------------------------------------------------------------------------
elliottlib/__init__.py 12 7 2 1 43%
elliottlib/assembly.py 131 39 76 7 67%
elliottlib/assertion.py 11 0 6 0 100%
elliottlib/brew.py 336 195 134 5 36%
elliottlib/build_finder.py 114 12 74 15 86%
elliottlib/bzutil.py 867 354 346 28 55%
elliottlib/cincinnati.py 21 21 4 0 0%
elliottlib/cli/__init__.py 0 0 0 0 100%
elliottlib/cli/__main__.py 278 278 75 0 0%
elliottlib/cli/add_metadata_cli.py 28 28 4 0 0%
elliottlib/cli/advisory_commons_cli.py 90 90 38 0 0%
elliottlib/cli/advisory_drop_cli.py 39 39 14 0 0%
elliottlib/cli/advisory_images_cli.py 14 14 2 0 0%
elliottlib/cli/advisory_impetus_cli.py 22 22 6 0 0%
elliottlib/cli/attach_bugs_cli.py 37 37 18 0 0%
elliottlib/cli/attach_cve_flaws_cli.py 130 65 60 9 46%
elliottlib/cli/change_state_cli.py 44 44 16 0 0%
elliottlib/cli/cli_opts.py 15 0 17 0 100%
elliottlib/cli/common.py 48 12 6 1 69%
elliottlib/cli/create_cli.py 70 70 20 0 0%
elliottlib/cli/create_placeholder_cli.py 36 36 12 0 0%
elliottlib/cli/create_textonly_cli.py 51 51 8 0 0%
elliottlib/cli/find_bugs_blocker_cli.py 43 4 10 3 87%
elliottlib/cli/find_bugs_kernel_cli.py 220 22 87 22 85%
elliottlib/cli/find_bugs_kernel_clones_cli.py 177 30 85 22 79%
elliottlib/cli/find_bugs_qe_cli.py 44 12 14 1 67%
elliottlib/cli/find_bugs_sweep_cli.py 229 35 130 22 82%
elliottlib/cli/find_builds_cli.py 269 200 179 2 19%
elliottlib/cli/find_unconsumed_rpms.py 98 98 56 0 0%
elliottlib/cli/get_golang_versions_cli.py 59 14 32 9 73%
elliottlib/cli/list_cli.py 14 14 2 0 0%
elliottlib/cli/move_builds_cli.py 44 44 16 0 0%
elliottlib/cli/puddle_advisories_cli.py 34 34 8 0 0%
elliottlib/cli/remove_bugs_cli.py 45 6 14 6 80%
elliottlib/cli/repair_bugs_cli.py 61 5 26 6 87%
elliottlib/cli/rhcos_cli.py 93 93 52 0 0%
elliottlib/cli/rpmdiff_cli.py 102 102 34 0 0%
elliottlib/cli/tag_builds_cli.py 128 128 62 0 0%
elliottlib/cli/tarball_sources_cli.py 83 83 26 0 0%
elliottlib/cli/validate_rhsa.py 45 45 16 0 0%
elliottlib/cli/verify_attached_bugs_cli.py 266 95 173 20 57%
elliottlib/cli/verify_attached_operators_cli.py 159 56 80 5 59%
elliottlib/cli/verify_cvp_cli.py 166 166 78 0 0%
elliottlib/config_model.py 22 0 0 0 100%
elliottlib/constants.py 52 0 0 0 100%
elliottlib/cvp.py 216 216 113 0 0%
elliottlib/dotconfig.py 54 11 30 6 75%
elliottlib/errata.py 344 221 150 4 32%
elliottlib/errata_async.py 160 19 60 8 87%
elliottlib/exceptions.py 12 0 0 0 100%
elliottlib/exectools.py 84 7 24 3 89%
elliottlib/gitdata.py 171 137 76 0 14%
elliottlib/imagecfg.py 21 2 0 0 90%
elliottlib/logutil.py 9 1 2 1 82%
elliottlib/metadata.py 154 43 76 18 67%
elliottlib/model.py 105 22 30 2 79%
elliottlib/openshiftclient.py 34 34 8 0 0%
elliottlib/pushd.py 21 0 2 0 100%
elliottlib/resultsdb.py 28 28 4 0 0%
elliottlib/rhcos.py 80 80 16 0 0%
elliottlib/rpm_utils.py 30 14 16 5 46%
elliottlib/rpmcfg.py 5 2 0 0 60%
elliottlib/rpmdiff.py 31 0 0 0 100%
elliottlib/runtime.py 280 203 106 2 22%
elliottlib/tarball_sources.py 90 61 34 0 30%
elliottlib/util.py 297 139 110 15 50%
-----------------------------------------------------------------------------------
TOTAL 7073 3940 2975 248 41%
py38: commands[2]> flake8
.pkg: _exit> python /home/art/.local/lib/python3.8/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py38: OK (33.72=setup[29.80]+cmd[2.28,0.98,0.66] seconds)
congratulations :) (34.03 seconds)
There's a part in story which says This comment should happen exactly once per bug.
There are cases when a bug is moved back to modified/assigned, where we might repeat ourselves
I'm not too hung up on that part, since right now we do the same with other comments (post everytime we move to qe). So not a blocker imo
I'm not too hung up on that part, since right now we do the same with other comments (post everytime we move to qe). So not a blocker imo
Agree, I thought we could afford repeating ourselves in these cases
Ref. https://issues.redhat.com/browse/ART-7268
runtime.bug_trackers
intoruntime.get_bug_tracker
; the function returns a single object, and it's not a property so making this clear in the name. Also added return type hint: https://github.com/openshift-eng/elliott/commit/3a43d552a7b5d61b77b7ae2056b7109ae92a4f68