automation: remove CR characters from serial output

The gitlab CI webpage seems to have issues displaying the \CR\CR\LF "\r\r\n"
sequence on the web interface used as line returns by the Linux kernel serial
output.  This leads to the QEMU tests output looking like:

(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 664kB init memory
mapping kernel into physical memory
about to get started...
qemu-system-x86_64: terminating on signal 15 from pid 52 (timeout)

This not helpful, so strip the CR characters from the output that goes to
stdout, leaving the output in the serial output file untouched.

All usages of `tee` are adjusted to strip CR from the output.

Fixes: 3030a73bf8 ('automation: add a QEMU based x86_64 Dom0/DomU test')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
Roger Pau Monne authored and Andrew Cooper committed 2023-11-22 13:37:17 +00:00
1 parent 4b99ce89eb
commit b576497e3b
9 files changed
+17 -9

No files matched your search

+4 -1
View File
@@ -84,7 +84,10 @@ qemu-system-x86_64 \
-monitor none -serial stdio \ -monitor none -serial stdio \
-nographic \ -nographic \
-device virtio-net-pci,netdev=n0 \ -device virtio-net-pci,netdev=n0 \
-netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& tee smoke.serial -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
# Remove carriage returns from the stdout output, as gitlab
# interface chokes on them
tee smoke.serial | sed 's/\r//'
set -e set -e
(grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1 (grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
+2 -1
View File
@@ -91,7 +91,8 @@ timeout -k 1 720 \
-no-reboot \ -no-reboot \
-device virtio-net-pci,netdev=n0 \ -device virtio-net-pci,netdev=n0 \
-netdev user,id=n0,tftp=./ \ -netdev user,id=n0,tftp=./ \
-bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee ${serial_log} -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& \
tee ${serial_log} | sed 's/\r//'
set -e set -e
(grep -q "Domain-0" ${serial_log} && grep -q "^/ #" ${serial_log}) || exit 1 (grep -q "Domain-0" ${serial_log} && grep -q "^/ #" ${serial_log}) || exit 1
+2 -1
View File
@@ -104,7 +104,8 @@ timeout -k 1 720 \
-no-reboot \ -no-reboot \
-device virtio-net-pci,netdev=n0 \ -device virtio-net-pci,netdev=n0 \
-netdev user,id=n0,tftp=binaries \ -netdev user,id=n0,tftp=binaries \
-bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& \
tee smoke.serial | sed 's/\r//'
set -e set -e
(grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1 (grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
@@ -137,7 +137,8 @@ timeout -k 1 240 \
-no-reboot \ -no-reboot \
-device virtio-net-pci,netdev=n0 \ -device virtio-net-pci,netdev=n0 \
-netdev user,id=n0,tftp=./ \ -netdev user,id=n0,tftp=./ \
-bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee ${serial_log} -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& \
tee ${serial_log} | sed 's/\r//'
set -e set -e
(grep -q "${dom0_prompt}" ${serial_log} && grep -q "${passed}" ${serial_log}) || exit 1 (grep -q "${dom0_prompt}" ${serial_log} && grep -q "${passed}" ${serial_log}) || exit 1
@@ -201,7 +201,8 @@ timeout -k 1 240 \
-no-reboot \ -no-reboot \
-device virtio-net-pci,netdev=n0 \ -device virtio-net-pci,netdev=n0 \
-netdev user,id=n0,tftp=binaries \ -netdev user,id=n0,tftp=binaries \
-bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& \
tee smoke.serial | sed 's/\r//'
set -e set -e
(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1 (grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+1 -1
View File
@@ -13,7 +13,7 @@ qemu-system-riscv64 \
-nographic \ -nographic \
-m 2g \ -m 2g \
-kernel binaries/xen \ -kernel binaries/xen \
|& tee smoke.serial |& tee smoke.serial | sed 's/\r//'
set -e set -e
(grep -q "All set up" smoke.serial) || exit 1 (grep -q "All set up" smoke.serial) || exit 1
@@ -61,7 +61,8 @@ timeout -k 1 120 \
-no-reboot \ -no-reboot \
-device virtio-net-pci,netdev=n0 \ -device virtio-net-pci,netdev=n0 \
-netdev user,id=n0,tftp=binaries \ -netdev user,id=n0,tftp=binaries \
-bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& \
tee smoke.serial | sed 's/\r//'
set -e set -e
(grep -q "${passed}" smoke.serial) || exit 1 (grep -q "${passed}" smoke.serial) || exit 1
+1 -1
View File
@@ -200,7 +200,7 @@ cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
# the console # the console
mkfifo /tmp/console-stdin mkfifo /tmp/console-stdin
cat /tmp/console-stdin |\ cat /tmp/console-stdin |\
ssh $CONTROLLER console | tee smoke.serial & ssh $CONTROLLER console | tee smoke.serial | sed 's/\r//' &
# start the system pointing at gitlab-ci predefined config # start the system pointing at gitlab-ci predefined config
ssh $CONTROLLER gitlabci poweron ssh $CONTROLLER gitlabci poweron
@@ -136,7 +136,7 @@ cd $START
# connect to serial # connect to serial
set +e set +e
stty -F /dev/ttyUSB0 115200 stty -F /dev/ttyUSB0 115200
timeout -k 1 120 nohup sh -c "cat /dev/ttyUSB0 | tee smoke.serial" timeout -k 1 120 nohup sh -c "cat /dev/ttyUSB0 | tee smoke.serial | sed 's/\r//'"
# stop the board # stop the board
cd /scratch/gitlab-runner cd /scratch/gitlab-runner
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.