openshift-eng / elliott

Apache License 2.0
15 stars 28 forks source link

Better error for target release mismatch #482

Closed thegreyd closed 1 year ago

thegreyd commented 1 year ago

Right now if there's a target release mismatch, the error doesn't show the info to find the offending bug. This does that

./elliott --assembly=rc.4 --group=openshift-4.12 attach-cve-flaws --advisory 104601 --noop

openshift-bot commented 1 year ago

Build #1

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_elliott_PR-482/setup.py
py38 create: /mnt/workspace/jenkins/working/art-tools_elliott_PR-482/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_elliott_PR-482/.tox/.tmp/package/1/rh-elliott-2.0.14.dev209+g9bb2ba4.zip
py38 installed: aiodns==3.0.0,aiohttp==3.8.3,aiosignal==1.3.1,astroid==2.12.13,async-timeout==4.0.2,asynctest==0.13.0,attrs==22.1.0,Brotli==1.0.9,cachetools==5.2.0,cchardet==2.1.7,certifi==2022.12.7,cffi==1.15.1,chardet==5.1.0,charset-normalizer==2.1.1,click==8.1.3,colorama==0.4.6,coverage==6.5.0,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.6,distlib==0.3.6,errata-tool==1.30.0,exceptiongroup==1.0.4,filelock==3.8.2,flake8==6.0.0,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.2,gssapi==1.8.2,idna==3.4,iniconfig==1.1.1,isort==5.11.2,jira==3.4.1,jsonpath-rw==1.4.0,koji==1.31.0,lazy-object-proxy==1.8.0,mccabe==0.7.0,mock==4.0.3,multidict==6.0.3,mypy==0.991,mypy-extensions==0.4.3,oauthlib==3.2.2,packaging==22.0,platformdirs==2.6.0,pluggy==1.0.0,ply==3.11,pycares==4.3.0,pycodestyle==2.10.0,pycparser==2.21,pyflakes==3.0.1,pygit2==1.10.1,pylint==2.15.8,pyproject_api==1.2.1,pytest==7.2.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-oauthlib==1.3.1,requests-toolbelt==0.10.1,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-482/.tox/.tmp/package/1/rh-elliott-2.0.14.dev209%2Bg9bb2ba4.zip,ruamel.yaml==0.17.21,ruamel.yaml.clib==0.2.7,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,tomli==2.0.1,tomlkit==0.11.6,tox==4.0.10,typing_extensions==4.4.0,urllib3==1.26.13,virtualenv==20.17.1,wrapt==1.14.1,yarl==1.8.2
py38 run-test-pre: PYTHONHASHSEED='3583336659'
py38 run-test: commands[0] | coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
................................................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
.....................No flaw bugs could be found for these trackers: {'OCPBUGS-2'}
...changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
..changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
...............................................Bug ['OCPBUGS-4', 'OCPBUGS-5'] has CVE number in summary but does not have tracker keywords
................../usr/lib64/python3.8/asyncio/base_events.py:654: ResourceWarning: unclosed event loop <_UnixSelectorEventLoop running=False closed=False debug=False>
  _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
..............E...........
======================================================================
ERROR: test_get_target_release (tests.test_util.TestUtil)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-482/tests/test_util.py", line 111, in test_get_target_release
    actual = Bug.get_target_release(t['bugs'])
  File "/mnt/workspace/jenkins/working/art-tools_elliott_PR-482/elliottlib/bzutil.py", line 114, in get_target_release
    return target_releases.pop()
TypeError: pop expected at least 1 argument, got 0

----------------------------------------------------------------------
Ran 168 tests in 0.767s

FAILED (errors=1)
ERROR: InvocationError for command /mnt/workspace/jenkins/working/art-tools_elliott_PR-482/.tox/py38/bin/coverage run --branch --source elliottlib -m unittest discover -t . -s tests/ (exited with code 1)
___________________________________ summary ____________________________________
ERROR:   py38: commands failed
openshift-bot commented 1 year ago

Build #2

GLOB sdist-make: /mnt/workspace/jenkins/working/art-tools_elliott_PR-482/setup.py
py38 recreate: /mnt/workspace/jenkins/working/art-tools_elliott_PR-482/.tox/py38
py38 installdeps: -rrequirements-dev.txt
py38 inst: /mnt/workspace/jenkins/working/art-tools_elliott_PR-482/.tox/.tmp/package/1/rh-elliott-2.0.14.dev211+gfb47876.zip
py38 installed: aiodns==3.0.0,aiohttp==3.8.3,aiosignal==1.3.1,astroid==2.12.13,async-timeout==4.0.2,asynctest==0.13.0,attrs==22.1.0,Brotli==1.0.9,cachetools==5.2.0,cchardet==2.1.7,certifi==2022.12.7,cffi==1.15.1,chardet==5.1.0,charset-normalizer==2.1.1,click==8.1.3,colorama==0.4.6,coverage==6.5.0,decorator==5.1.1,defusedxml==0.7.1,dill==0.3.6,distlib==0.3.6,errata-tool==1.30.0,exceptiongroup==1.0.4,filelock==3.8.2,flake8==6.0.0,flexmock==0.11.3,frozenlist==1.3.3,future==0.18.2,gssapi==1.8.2,idna==3.4,iniconfig==1.1.1,isort==5.11.2,jira==3.4.1,jsonpath-rw==1.4.0,koji==1.31.0,lazy-object-proxy==1.8.0,mccabe==0.7.0,mock==4.0.3,multidict==6.0.3,mypy==0.991,mypy-extensions==0.4.3,oauthlib==3.2.2,packaging==22.0,platformdirs==2.6.0,pluggy==1.0.0,ply==3.11,pycares==4.3.0,pycodestyle==2.10.0,pycparser==2.21,pyflakes==3.0.1,pygit2==1.10.1,pylint==2.15.8,pyproject_api==1.2.1,pytest==7.2.0,python-bugzilla==3.2.0,python-dateutil==2.8.2,PyYAML==6.0,requests==2.28.1,requests-gssapi==1.2.3,requests-oauthlib==1.3.1,requests-toolbelt==0.10.1,rh-elliott @ file:///mnt/workspace/jenkins/working/art-tools_elliott_PR-482/.tox/.tmp/package/1/rh-elliott-2.0.14.dev211%2Bgfb47876.zip,ruamel.yaml==0.17.21,ruamel.yaml.clib==0.2.7,semver==2.13.0,setuptools-scm==7.0.5,six==1.16.0,tenacity==8.1.0,tomli==2.0.1,tomlkit==0.11.6,tox==4.0.10,typing_extensions==4.4.0,urllib3==1.26.13,virtualenv==20.17.1,wrapt==1.14.1,yarl==1.8.2
py38 run-test-pre: PYTHONHASHSEED='1983021860'
py38 run-test: commands[0] | coverage run --branch --source elliottlib -m unittest discover -t . -s tests/
................................................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
.....................No flaw bugs could be found for these trackers: {'OCPBUGS-2'}
...changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
..changed 123 from status1 to status2
.123 is already on status1
.changed 123 from status1 to status2
...............................................Bug ['OCPBUGS-4', 'OCPBUGS-5'] has CVE number in summary but does not have tracker keywords
................../usr/lib64/python3.8/asyncio/base_events.py:654: ResourceWarning: unclosed event loop <_UnixSelectorEventLoop running=False closed=False debug=False>
  _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
.........................
----------------------------------------------------------------------
Ran 168 tests in 0.897s

OK
py38 run-test: commands[1] | coverage report
Name                                              Stmts   Miss Branch BrPart  Cover
-----------------------------------------------------------------------------------
elliottlib/__init__.py                                8      2      2      1    70%
elliottlib/assembly.py                               92      9     54      7    89%
elliottlib/assertion.py                              11      0      6      0   100%
elliottlib/brew.py                                  328    188    134      5    36%
elliottlib/bug/__init__.py                            0      0      0      0   100%
elliottlib/build_finder.py                          114     12     74     15    86%
elliottlib/bzutil.py                                763    296    320     20    57%
elliottlib/cincinnati.py                             21     21      4      0     0%
elliottlib/cli/__init__.py                            0      0      0      0   100%
elliottlib/cli/__main__.py                          270    270     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                  37     37     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              128     64     56      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_qe_cli.py                   36      4      6      0    90%
elliottlib/cli/find_bugs_sweep_cli.py               201     33    114     20    81%
elliottlib/cli/find_builds_cli.py                   260    193    171      2    19%
elliottlib/cli/get_golang_versions_cli.py            56     21     32      5    50%
elliottlib/cli/list_cli.py                           14     14      2      0     0%
elliottlib/cli/puddle_advisories_cli.py              34     34      8      0     0%
elliottlib/cli/remove_bugs_cli.py                    46      6     14      6    80%
elliottlib/cli/repair_bugs_cli.py                    61      5     26      6    87%
elliottlib/cli/rhcos_cli.py                          97     97     54      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                      38     38     12      0     0%
elliottlib/cli/verify_attached_bugs_cli.py          256     92    169     18    57%
elliottlib/cli/verify_attached_operators_cli.py     118     85     55      0    19%
elliottlib/cli/verify_cvp_cli.py                    165    165     78      0     0%
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                                309    195    132      4    34%
elliottlib/errata_async.py                          109      6     38      5    93%
elliottlib/exceptions.py                             12      0      0      0   100%
elliottlib/exectools.py                              84     13     24      3    83%
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                                  55     55     12      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                               278    202    106      2    22%
elliottlib/tarball_sources.py                        90     61     34      0    30%
elliottlib/util.py                                  299    165    112      9    41%
-----------------------------------------------------------------------------------
TOTAL                                              6132   3614   2574    173    38%
py38 run-test: commands[2] | flake8
___________________________________ summary ____________________________________
  py38: commands succeeded
  congratulations :)
locriandev commented 1 year ago

/lgtm