[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 25/25] tests/qapi-schema: Make test-qapi.py -u work when files
From: |
Markus Armbruster |
Subject: |
[PULL v2 25/25] tests/qapi-schema: Make test-qapi.py -u work when files are absent |
Date: |
Mon, 27 Sep 2021 15:06:47 +0200 |
test-qapi.py -u updates the expected files. Since it fails when they
are absent, users have to create them manually before they can use
test-qapi.py to fill in the contents, say for a new test. Silly.
Improve -u to create them.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210922125619.670673-3-armbru@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
---
tests/qapi-schema/test-qapi.py | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py
index 2e384f5efd..c717a7a90b 100755
--- a/tests/qapi-schema/test-qapi.py
+++ b/tests/qapi-schema/test-qapi.py
@@ -132,6 +132,17 @@ def test_frontend(fname):
print(' section=%s\n%s' % (section.name, section.text))
+def open_test_result(dir_name, file_name, update):
+ mode = 'r+' if update else 'r'
+ try:
+ fp = open(os.path.join(dir_name, file_name), mode)
+ except FileNotFoundError:
+ if not update:
+ raise
+ fp = open(os.path.join(dir_name, file_name), 'w+')
+ return fp
+
+
def test_and_diff(test_name, dir_name, update):
sys.stdout = StringIO()
try:
@@ -148,10 +159,9 @@ def test_and_diff(test_name, dir_name, update):
sys.stdout.close()
sys.stdout = sys.__stdout__
- mode = 'r+' if update else 'r'
try:
- outfp = open(os.path.join(dir_name, test_name + '.out'), mode)
- errfp = open(os.path.join(dir_name, test_name + '.err'), mode)
+ outfp = open_test_result(dir_name, test_name + '.out', update)
+ errfp = open_test_result(dir_name, test_name + '.err', update)
expected_out = outfp.readlines()
expected_err = errfp.readlines()
except OSError as err:
--
2.31.1
- [PULL v2 16/25] tests/qapi-schema: Simple union UserDefListUnion is now unused, drop, (continued)
- [PULL v2 16/25] tests/qapi-schema: Simple union UserDefListUnion is now unused, drop, Markus Armbruster, 2021/09/27
- [PULL v2 19/25] tests/qapi-schema: Drop simple union __org.qemu_x-Union1, Markus Armbruster, 2021/09/27
- [PULL v2 05/25] qapi: Convert simple union TpmTypeOptions to flat one, Markus Armbruster, 2021/09/27
- [PULL v2 14/25] test-clone-visitor: Wean off UserDefListUnion, Markus Armbruster, 2021/09/27
- [PULL v2 17/25] tests/qapi-schema: Rewrite simple union TestIfUnion to be flat, Markus Armbruster, 2021/09/27
- [PULL v2 08/25] qapi: Convert simple union SocketAddressLegacy to flat one, Markus Armbruster, 2021/09/27
- [PULL v2 07/25] qapi: Convert simple union ChardevBackend to flat one, Markus Armbruster, 2021/09/27
- [PULL v2 03/25] qapi: Convert simple union KeyValue to flat one, Markus Armbruster, 2021/09/27
- [PULL v2 02/25] qapi: Stop enforcing "type name should not end in 'Kind', Markus Armbruster, 2021/09/27
- [PULL v2 10/25] qapi: Convert simple union TransactionAction to flat one, Markus Armbruster, 2021/09/27
- [PULL v2 25/25] tests/qapi-schema: Make test-qapi.py -u work when files are absent,
Markus Armbruster <=
- [PULL v2 18/25] test-clone-visitor: Wean off __org.qemu_x-Union1, Markus Armbruster, 2021/09/27
- [PULL v2 06/25] qapi: Convert simple union MemoryDeviceInfo to flat one, Markus Armbruster, 2021/09/27
- [PULL v2 23/25] test-clone-visitor: Correct an accidental rename, Markus Armbruster, 2021/09/27
- [PULL v2 15/25] tests/qapi-schema: Wean off UserDefListUnion, Markus Armbruster, 2021/09/27
- [PULL v2 12/25] test-qobject-input-visitor: Wean off UserDefListUnion, Markus Armbruster, 2021/09/27
- [PULL v2 21/25] qapi: Drop simple unions, Markus Armbruster, 2021/09/27
- [PULL v2 20/25] tests/qapi-schema: Purge simple unions from tests, Markus Armbruster, 2021/09/27
- [PULL v2 22/25] tests/qapi-schema: Rename flat-union-* test cases to union-*, Markus Armbruster, 2021/09/27
- [PULL v2 13/25] test-qobject-output-visitor: Wean off UserDefListUnion, Markus Armbruster, 2021/09/27
- [PULL v2 24/25] tests/qapi-schema: Use Python OSError instead of outmoded IOError, Markus Armbruster, 2021/09/27