Message ID | 20230223134027.2294640-3-berrange@redhat.com |
---|---|
State | New |
Headers | show |
Series | qapi: allow unions to contain further unions | expand |
On Thu, Feb 23, 2023 at 01:40:26PM +0000, Daniel P. Berrangé wrote: > It is possible to pass --update to tests/qapi-schema/test-qapi.py > to make it update the output files on error. This is inconvient inconvenient > to achieve though when test-qapi.py is run indirectly by make/meson. > > Instead simply allow for an env variable to be set: > > $ QAPI_TEST_UPDATE=1 make check-qapi-schema > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > --- > tests/qapi-schema/test-qapi.py | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py > index 2160cef082..75f2759fd6 100755 > --- a/tests/qapi-schema/test-qapi.py > +++ b/tests/qapi-schema/test-qapi.py > @@ -215,7 +215,8 @@ def main(argv): > (dir_name, base_name) = os.path.split(t) > dir_name = dir_name or args.dir > test_name = os.path.splitext(base_name)[0] > - status |= test_and_diff(test_name, dir_name, args.update) > + update = args.update or "QAPI_TEST_UPDATE" in os.environ > + status |= test_and_diff(test_name, dir_name, update) Reviewed-by: Eric Blake <eblake@redhat.com>
I have a mild dislike of abbreviations like "env var". Perhaps: qapi: Support updating expected test output via make Daniel P. Berrangé <berrange@redhat.com> writes: > It is possible to pass --update to tests/qapi-schema/test-qapi.py > to make it update the output files on error. This is inconvient > to achieve though when test-qapi.py is run indirectly by make/meson. > > Instead simply allow for an env variable to be set: > > $ QAPI_TEST_UPDATE=1 make check-qapi-schema Suggest to omit the value $ QAPI_TEST_UPDATE= make check-qapi-schema The value doesn't actually matter. A value of 1 looks as if it did, and as if a value of 0 would disable the thing. I'm no fan of environment variables duplicating options, but I understand the desire for a make invocation, and I don't have a better idea. > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > --- > tests/qapi-schema/test-qapi.py | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py > index 2160cef082..75f2759fd6 100755 > --- a/tests/qapi-schema/test-qapi.py > +++ b/tests/qapi-schema/test-qapi.py > @@ -215,7 +215,8 @@ def main(argv): > (dir_name, base_name) = os.path.split(t) > dir_name = dir_name or args.dir > test_name = os.path.splitext(base_name)[0] > - status |= test_and_diff(test_name, dir_name, args.update) > + update = args.update or "QAPI_TEST_UPDATE" in os.environ > + status |= test_and_diff(test_name, dir_name, update) > > exit(status) Let's use argparse instead: parser.add_argument('-u', '--update', action='store_true', + default='QAPI_TEST_UPDATE' in os.environ, help="update expected test results")
diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py index 2160cef082..75f2759fd6 100755 --- a/tests/qapi-schema/test-qapi.py +++ b/tests/qapi-schema/test-qapi.py @@ -215,7 +215,8 @@ def main(argv): (dir_name, base_name) = os.path.split(t) dir_name = dir_name or args.dir test_name = os.path.splitext(base_name)[0] - status |= test_and_diff(test_name, dir_name, args.update) + update = args.update or "QAPI_TEST_UPDATE" in os.environ + status |= test_and_diff(test_name, dir_name, update) exit(status)
It is possible to pass --update to tests/qapi-schema/test-qapi.py to make it update the output files on error. This is inconvient to achieve though when test-qapi.py is run indirectly by make/meson. Instead simply allow for an env variable to be set: $ QAPI_TEST_UPDATE=1 make check-qapi-schema Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- tests/qapi-schema/test-qapi.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)