osbuild: also print what export is availalble when one is not found
The current error message when an export is not found could be improved by printing what exports are actually availalble to make it easier for the user to e.g. spot typos.
This commit is contained in:
parent
09da4fff7b
commit
f3188e841f
2 changed files with 26 additions and 1 deletions
|
|
@ -138,8 +138,9 @@ def osbuild_cli() -> int:
|
|||
exports = set(args.export)
|
||||
unresolved = [e for e in exports if e not in manifest]
|
||||
if unresolved:
|
||||
available = list(manifest.pipelines.keys())
|
||||
for name in unresolved:
|
||||
print(f"Export {vt.bold}{name}{vt.reset} not found!")
|
||||
print(f"Export {vt.bold}{name}{vt.reset} not found in {available}")
|
||||
print(f"{vt.reset}{vt.bold}{vt.red}Failed{vt.reset}")
|
||||
return 1
|
||||
|
||||
|
|
|
|||
24
test/run/test_main.py
Normal file
24
test/run/test_main.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import json
|
||||
|
||||
import pytest
|
||||
|
||||
from .. import test
|
||||
|
||||
jsondata = json.dumps({
|
||||
"version": "2",
|
||||
"pipelines": [
|
||||
{
|
||||
"name": "noop",
|
||||
},
|
||||
{
|
||||
"name": "noop2",
|
||||
},
|
||||
],
|
||||
})
|
||||
|
||||
|
||||
def test_exports_are_shown_on_missing_exports(capsys):
|
||||
with pytest.raises(AssertionError):
|
||||
with test.OSBuild() as osb:
|
||||
osb.compile(jsondata, exports=["not-existing"])
|
||||
assert "Export not-existing not found in ['noop', 'noop2']\n" in capsys.readouterr().out
|
||||
Loading…
Add table
Add a link
Reference in a new issue