1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-01-12 07:42:56 +00:00

tests: Fix virsh-snapshot/checkpoint without readline-devel

readline-devel is an optional build dependency; when it is not
present, the output of 'virsh <<EOF ... EOF' is different in that the
input provided by the user is not echoed, and prompts become
interleaved on the same line as actual output, which in turn causes
the sed doing prompt filtering to mess up:

| ./virsh-snapshot
| --- exp	2019-07-31 18:42:31.107399428 -0300
| +++ out.cooked	2019-07-31 18:42:31.108399437 -0300
| @@ -1,8 +1,3 @@
| -
| -
| -Domain snapshot s3 created from 's3.xml'
| -Domain snapshot s2 created from 's2.xml'
| -Name:           s2
|  Domain:         test
|  Current:        yes
|  State:          running

Maybe we should fix virsh in interactive mode to echo regardless of
whether readline-devel was used, but the quicker fix is to make the
test use 'virsh "..."' rather than reading its input from stdin.

Reported-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
Eric Blake 2019-08-02 08:20:08 -05:00
parent bd24bab96a
commit 8bfb1371d9
2 changed files with 6 additions and 8 deletions

@ -140,7 +140,7 @@ EOF
compare exp err || fail=1
# Restore state with redefine
$abs_top_builddir/tools/virsh -c test:///default >out 2>err <<EOF || fail=1
$abs_top_builddir/tools/virsh -c test:///default >out 2>err '
# Redefine must be in topological order; this will fail
checkpoint-create test --redefine c2.xml
echo --err marker
@ -149,7 +149,7 @@ $abs_top_builddir/tools/virsh -c test:///default >out 2>err <<EOF || fail=1
checkpoint-create test --redefine c2.xml
checkpoint-list test --leaves --name
checkpoint-info test c2
EOF
' || fail=1
cat <<\EOF > exp || fail=1
@ -165,8 +165,7 @@ Children: 0
Descendants: 0
EOF
sed '1,/^virsh #/d; /virsh #/d' < out > out.cooked || fail=1
compare exp out.cooked || fail=1
compare exp out || fail=1
cat <<EOF > exp || fail=1
error: invalid argument: parent c3 for moment c2 not found

@ -191,7 +191,7 @@ EOF
compare exp err || fail=1
# Restore state with redefine
$abs_top_builddir/tools/virsh -c test:///default >out 2>err <<EOF || fail=1
$abs_top_builddir/tools/virsh -c test:///default >out 2>err '
# Redefine must be in topological order; this will fail
snapshot-create test --redefine s2.xml --validate
echo --err marker
@ -199,7 +199,7 @@ $abs_top_builddir/tools/virsh -c test:///default >out 2>err <<EOF || fail=1
snapshot-create test --redefine s3.xml --validate
snapshot-create test --redefine s2.xml --current --validate
snapshot-info test --current
EOF
' || fail=1
cat <<\EOF > exp || fail=1
@ -217,8 +217,7 @@ Descendants: 0
Metadata: yes
EOF
sed '1,/^virsh #/d; /virsh #/d' < out > out.cooked || fail=1
compare exp out.cooked || fail=1
compare exp out || fail=1
cat <<EOF > exp || fail=1
error: invalid argument: parent s3 for moment s2 not found