[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/15] tests/qemu-iotests: add QEMU_IOTESTS_REGEN=1 to update refe
|
From: |
Eric Blake |
|
Subject: |
[PULL 06/15] tests/qemu-iotests: add QEMU_IOTESTS_REGEN=1 to update reference file |
|
Date: |
Mon, 7 Mar 2022 19:44:10 -0600 |
From: Daniel P. Berrangé <berrange@redhat.com>
When developing an I/O test it is typical to add some logic to the
test script, run it to view the output diff, and then apply the
output diff to the reference file. This can be drastically simplified
by letting the test runner update the reference file in place.
By setting 'QEMU_IOTESTS_REGEN=1', the test runner will report the
failure and show the diff, but at the same time update the reference
file. So next time the I/O test is run it will succeed.
Continuing to display the diff when updating the reference gives the
developer a chance to review what was changed.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220304193610.3293146-7-berrange@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
---
tests/qemu-iotests/testrunner.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tests/qemu-iotests/testrunner.py b/tests/qemu-iotests/testrunner.py
index 41083ff9c6f7..5c207225b140 100644
--- a/tests/qemu-iotests/testrunner.py
+++ b/tests/qemu-iotests/testrunner.py
@@ -25,6 +25,7 @@
import contextlib
import json
import termios
+import shutil
import sys
from multiprocessing import Pool
from contextlib import contextmanager
@@ -322,6 +323,11 @@ def do_run_test(self, test: str, mp: bool) -> TestResult:
diff = file_diff(str(f_reference), str(f_bad))
if diff:
+ if os.environ.get("QEMU_IOTESTS_REGEN", None) is not None:
+ shutil.copyfile(str(f_bad), str(f_reference))
+ print("########################################")
+ print("##### REFERENCE FILE UPDATED #####")
+ print("########################################")
return TestResult(status='fail', elapsed=elapsed,
description=f'output mismatch (see {f_bad})',
diff=diff, casenotrun=casenotrun)
--
2.35.1
- [PULL 00/15] NBD patches for 7.0-rc0, Eric Blake, 2022/03/07
- [PULL 01/15] crypto: mandate a hostname when checking x509 creds on a client, Eric Blake, 2022/03/07
- [PULL 03/15] block/nbd: support override of hostname for TLS certificate validation, Eric Blake, 2022/03/07
- [PULL 02/15] block: pass desired TLS hostname through from block driver client, Eric Blake, 2022/03/07
- [PULL 05/15] block/nbd: don't restrict TLS usage to IP sockets, Eric Blake, 2022/03/07
- [PULL 04/15] qemu-nbd: add --tls-hostname option for TLS certificate validation, Eric Blake, 2022/03/07
- [PULL 06/15] tests/qemu-iotests: add QEMU_IOTESTS_REGEN=1 to update reference file,
Eric Blake <=
- [PULL 07/15] tests/qemu-iotests: expand _filter_nbd rules, Eric Blake, 2022/03/07
- [PULL 12/15] tests/qemu-iotests: validate NBD TLS with UNIX sockets and PSK, Eric Blake, 2022/03/07
- [PULL 10/15] tests/qemu-iotests: validate NBD TLS with hostname mismatch, Eric Blake, 2022/03/07
- [PULL 09/15] tests/qemu-iotests: convert NBD TLS test to use standard filters, Eric Blake, 2022/03/07
- [PULL 08/15] tests/qemu-iotests: introduce filter for qemu-nbd export list, Eric Blake, 2022/03/07
- [PULL 11/15] tests/qemu-iotests: validate NBD TLS with UNIX sockets, Eric Blake, 2022/03/07
- [PULL 14/15] qemu-io: Utilize 64-bit status during map, Eric Blake, 2022/03/07
- [PULL 13/15] nbd/server: Minor cleanups, Eric Blake, 2022/03/07
- [PULL 15/15] qemu-io: Allow larger write zeroes under no fallback, Eric Blake, 2022/03/07
- Re: [PULL 00/15] NBD patches for 7.0-rc0, Peter Maydell, 2022/03/09