On Sat, Oct 19, 2019 at 06:33:45PM +0100, Richard W.M. Jones wrote:
On Mon, Sep 30, 2019 at 12:15:42PM -0500, Eric Blake wrote:
Test the just-fixed bug in --run failing to detect an nbdkit assertion failure.
While at it, sleep less when we don't actually need to wait for the socket to be opened.
Signed-off-by: Eric Blake <eblake@redhat.com> --- tests/test-captive.sh | 46 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-)
diff --git a/tests/test-captive.sh b/tests/test-captive.sh index e89c387d..88c0d818 100755 --- a/tests/test-captive.sh +++ b/tests/test-captive.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # nbdkit -# Copyright (C) 2014-2018 Red Hat Inc. +# Copyright (C) 2014-2019 Red Hat Inc. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are @@ -36,13 +36,15 @@ set -x
# Test nbdkit --run (captive nbdkit) option.
+fail=0 + sock=`mktemp -u` -files="$sock captive.out" +files="$sock captive.out captive.pid" rm -f $files cleanup_fn rm -f $files
nbdkit -U $sock example1 --run ' - sleep 5; echo nbd=$nbd; echo port=$port; echo socket=$unixsocket + sleep 1; echo nbd=$nbd; echo port=$port; echo socket=$unixsocket ' > captive.out
For some reason this test is now failing much more frequently under load. I can pretty easily reproduce the failure on my local 24 core machine, especially if I use ‘make check-valgrind’, and it happens in Koji too on the slower builders, eg:
https://kojipkgs.fedoraproject.org//work/tasks/6571/38396571/build.log
I am planning to revert this single line from the commit for now, but really I don't understand why it's failing because the sleep ought to be completely unnecessary (ie. no sleep ought to work just as well). I can't think right now why I put a sleep there in the first place ...
Oh I get it now. I'll fix this ... Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v