[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 4/5] iotests: Make 083 less flaky
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH v2 4/5] iotests: Make 083 less flaky |
Date: |
Thu, 9 Nov 2017 21:30:24 +0100 |
083 has (at least) two issues:
1. By launching the nbd-fault-injector in background, it may not be
scheduled until the first grep on its output file is executed.
However, until then, that file may not have been created yet -- so it
either does not exist yet (thus making the grep emit an error), or it
does exist but contains stale data (thus making the rest of the test
case work connect to a wrong address).
Fix this by explicitly overwriting the output file before executing
nbd-fault-injector.
2. The nbd-fault-injector prints things other than "Listening on...".
It also prints a "Closing connection" message from time to time. We
currently invoke sed on the whole file in the hope of it only
containing the "Listening on..." line yet. That hope is sometimes
shattered by the brutal reality of race conditions, so invoke grep
before sed.
Signed-off-by: Max Reitz <address@hidden>
---
tests/qemu-iotests/083 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/083 b/tests/qemu-iotests/083
index 0306f112da..3c1adbf0fb 100755
--- a/tests/qemu-iotests/083
+++ b/tests/qemu-iotests/083
@@ -86,6 +86,7 @@ EOF
rm -f "$TEST_DIR/nbd.sock"
+ echo > "$TEST_DIR/nbd-fault-injector.out"
$PYTHON nbd-fault-injector.py $extra_args "$nbd_addr"
"$TEST_DIR/nbd-fault-injector.conf" >"$TEST_DIR/nbd-fault-injector.out" 2>&1 &
# Wait for server to be ready
@@ -94,7 +95,8 @@ EOF
done
# Extract the final address (port number has now been assigned in tcp
case)
- nbd_addr=$(sed 's/Listening on \(.*\)$/\1/'
"$TEST_DIR/nbd-fault-injector.out")
+ nbd_addr=$(sed -n 's/^Listening on //p' \
+ "$TEST_DIR/nbd-fault-injector.out")
if [ "$proto" = "tcp" ]; then
nbd_url="nbd+tcp://$nbd_addr/$export_name"
--
2.13.6
[Qemu-devel] [PATCH v2 5/5] iotests: Make 136 less flaky, Max Reitz, 2017/11/09
Re: [Qemu-devel] [PATCH v2 0/5] iotests: Make some tests less flaky, Max Reitz, 2017/11/09