Fix flaw in qemu-*.sh tests that producess a false success. The following
lines produces success despite the "expect" script producing nonzero exit
status:
set +e
...
./automation/scripts/qemu-key.exp | sed 's/\r\+$//'
(end of file)
The default exit status for a pipeline using "|" operator is that of the
rightmost command. Fix this by setting the "pipefail" option in the shell,
and removing "set +e" allowing the expect script to determine the result.
Signed-off-by: Victor Lira <victorm.lira@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(cherry picked from commit
740c41ca05a83a2c3629eb2ff323877c37d95c1e)
#!/bin/bash
-set -ex
+set -ex -o pipefail
# DomU Busybox
cd binaries
# Run the test
rm -f smoke.serial
-set +e
export QEMU_CMD="qemu-system-x86_64 \
-cpu qemu64,+svm \
-m 2G -smp 2 \
expect_after {
-re "(.*)\r" {
- exp_continue
+ exp_continue -continue_timer
}
timeout {send_error "ERROR-Timeout!\n"; exit 1}
eof {send_error "ERROR-EOF!\n"; exit 1}
#!/bin/bash
-set -ex
+set -ex -o pipefail
serial_log="$(pwd)/smoke.serial"
bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config
rm -f ${serial_log}
-set +e
export QEMU_CMD="./qemu-system-arm \
-machine virt \
-machine virtualization=true \
#!/bin/bash
-set -ex
+set -ex -o pipefail
# DomU Busybox
cd binaries
# Run the test
rm -f smoke.serial
-set +e
export QEMU_CMD="./binaries/qemu-system-aarch64 \
-machine virtualization=true \
-cpu cortex-a57 -machine type=virt \
#!/bin/bash
-set -ex
+set -ex -o pipefail
test_variant=$1
# Run the test
rm -f ${serial_log}
-set +e
export QEMU_CMD="./qemu-system-arm \
-machine virt \
-machine virtualization=true \
#!/bin/bash
-set -ex
+set -ex -o pipefail
test_variant=$1
# Run the test
rm -f smoke.serial
-set +e
export QEMU_CMD="./binaries/qemu-system-aarch64 \
-machine virtualization=true \
-cpu cortex-a57 -machine type=virt,gic-version=$gic_version \
#!/bin/bash
-set -ex
+set -ex -o pipefail
serial_log="$(pwd)/smoke.serial"
# Run the test
rm -f ${serial_log}
-set +e
export QEMU_CMD="qemu-system-ppc64 \
-bios skiboot.lid \
#!/bin/bash
-set -ex
+set -ex -o pipefail
# Run the test
rm -f smoke.serial
-set +e
export QEMU_CMD="qemu-system-riscv64 \
-M virt \
#!/bin/bash
-set -ex
+set -ex -o pipefail
# variant should be either pv or pvh
variant=$1
esac
rm -f smoke.serial
-set +e
export QEMU_CMD="qemu-system-x86_64 -nographic -kernel binaries/xen \
-initrd xtf/tests/example/$k \
-append \"loglvl=all console=com1 noreboot console_timestamps=boot $extra\" \
#!/bin/bash
-set -ex
+set -ex -o pipefail
# Name of the XTF test
xtf_test=$1
# Run the test
rm -f smoke.serial
-set +e
export QEMU_CMD="./binaries/qemu-system-aarch64 \
-machine virtualization=true \
-cpu cortex-a57 -machine type=virt \