osbuild add new -q, --quiet option
Current osbuild will always print some non output even
when run with `--monitor=JSONSeqMonitor` because of the
unconditional `print/sys.stdout.write()` in `main_cli.py`.
This commit adds a new `-q` option to silence this so that something
like osbuild-composer can run `osbuild -q --monitor=JSONSeqMonitor`
to get pure json-seq output during the build.
The use-case is to run `osbuild --monitor-fd` from e.g. bib and
osbuild-composer so that we get pure json from the monitor-fd
and anything that goes on std{out,err} can be logged as it is
most likely error output.
This commit is contained in:
parent
a221d4e68b
commit
ea14713f3a
2 changed files with 24 additions and 2 deletions
|
|
@ -3,9 +3,12 @@
|
|||
#
|
||||
|
||||
import json
|
||||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
import osbuild.main_cli
|
||||
|
||||
from .. import test
|
||||
|
||||
|
||||
|
|
@ -64,3 +67,20 @@ def test_noop2(osb):
|
|||
@pytest.mark.skipif(not test.TestBase.can_bind_mount(), reason="root-only")
|
||||
def test_noop_v2(osb, tmp_path, jsondata):
|
||||
osb.compile(jsondata, output_dir=tmp_path, exports=["noop"])
|
||||
|
||||
|
||||
def test_noop_cli(monkeypatch, capfd, tmp_path, jsondata):
|
||||
fake_manifest = tmp_path / "manifest.json"
|
||||
fake_manifest.write_text(jsondata)
|
||||
|
||||
monkeypatch.setattr("sys.argv", [
|
||||
"arg0",
|
||||
"--libdir=.", os.fspath(fake_manifest),
|
||||
f"--store={tmp_path}",
|
||||
"--quiet",
|
||||
])
|
||||
ret_code = osbuild.main_cli.osbuild_cli()
|
||||
assert ret_code == 0
|
||||
|
||||
captured = capfd.readouterr()
|
||||
assert captured.out == ""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue