Test failure exposed in commit 7d3390f. * tests/undefine: Fix to match updated test driver semantics. --- Pushing under the build-breaker rule. tests/undefine | 42 ++++++++++++++++++++++++++++-------------- 1 files changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/undefine b/tests/undefine index 5c39e27..6c821ad 100755 --- a/tests/undefine +++ b/tests/undefine @@ -29,32 +29,46 @@ fi fail=0 -# Attempt to undefine a running domain, by domain name. -# Although the API allows this, the test hypervisor does not. -$abs_top_builddir/tools/virsh -q -c test:///default undefine test > out 2>&1 -test $? = 1 || fail=1 +# Attempt to undefine a running domain, by domain name. Every time a new +# connection is opened to the test driver, it starts life with a new +# persistent running domain named 'test' with a different uuid, so +# testing this command requires batch mode use of virsh. +$abs_top_builddir/tools/virsh -q -c test:///default \ + 'dominfo test; undefine test; dominfo test' > out1 2>&1 +test $? = 0 || fail=1 +sed '/^Persistent/n; /:/d' < out1 > out cat <<\EOF > exp || fail=1 -error: Failed to undefine domain test -error: internal error Domain 'test' is still running +Persistent: yes +Domain test has been undefined +Persistent: no EOF compare exp out || fail=1 # A similar diagnostic when specifying a domain ID -$abs_top_builddir/tools/virsh -q -c test:///default undefine 1 > out 2>&1 -test $? = 1 || fail=1 +$abs_top_builddir/tools/virsh -q -c test:///default \ + 'dominfo 1; undefine 1; dominfo 1' > out1 2>&1 +test $? = 0 || fail=1 +sed '/^Persistent/n; /:/d' < out1 > out cat <<\EOF > exp || fail=1 -error: Failed to undefine domain 1 -error: internal error Domain 'test' is still running +Persistent: yes +Domain 1 has been undefined +Persistent: no EOF compare exp out || fail=1 # Succeed, now: first shut down, then undefine, both via name. -$abs_top_builddir/tools/virsh -q -c test:///default 'shutdown test; undefine test' > out 2>&1 -test $? = 0 || fail=1 -cat <<\EOF > exp || fail=1 +$abs_top_builddir/tools/virsh -q -c test:///default \ + 'shutdown test; undefine test; dominfo test' > out 2> err +test $? = 1 || fail=1 +cat <<\EOF > expout || fail=1 Domain test is being shutdown Domain test has been undefined EOF -compare exp out || fail=1 +cat <<\EOF > experr || fail=1 +error: failed to get domain 'test' +error: Domain not found +EOF +compare expout out || fail=1 +compare experr err || fail=1 (exit $fail); exit $fail -- 1.7.4.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list