ci/bare-metal: Fix capturing of serial output as job artifacts.
[mesa.git] / .gitlab-ci / bare-metal / cros-servo.sh
index 3fe923125994ab45a4b97b3a2f697e4551871796..b05eaec50ec31dc512105dccacca42a8b8dd05aa 100755 (executable)
@@ -50,7 +50,6 @@ set -ex
 # Clear out any previous run's artifacts.
 rm -rf results/
 mkdir -p results
-find artifacts/ -name serial\*.txt  | xargs rm -f
 
 # Create the rootfs in the NFS directory.  rm to make sure it's in a pristine
 # state, since it's volume-mounted on the host.
@@ -64,41 +63,15 @@ rm -rf /tftp/*
 cp $BM_KERNEL /tftp/vmlinuz
 echo "$BM_CMDLINE" > /tftp/cmdline
 
-# Start watching serials, and power up the device.
-$BM/serial-buffer.py $BM_SERIAL_EC | tee serial-ec-output.txt | sed -u 's|^|SERIAL-EC> |g' &
-$BM/serial-buffer.py $BM_SERIAL | tee serial-output.txt | sed -u 's|^|SERIAL-CPU> |g'  &
-while [ ! -e serial-output.txt ]; do
-  sleep 1
-done
-# Flush any partial commands in the EC's prompt, then ask for a reboot.
-$BM/write-serial.py $BM_SERIAL_EC ""
-$BM/write-serial.py $BM_SERIAL_EC reboot
-
-# This is emitted right when the bootloader pauses to check for input.  Emit a
-# ^N character to request network boot, because we don't have a
-# direct-to-netboot firmware on cheza.
-$BM/expect-output.sh serial-output.txt -f "load_archive: loading locale_en.bin"
-$BM/write-serial.py $BM_SERIAL `printf '\016'`
-
-# Wait for the device to complete the deqp run
-$BM/expect-output.sh serial-output.txt \
-    -f "bare-metal result" \
-    -e "---. end Kernel panic"
-
-# power down the CPU on the device
-$BM/write-serial.py $BM_SERIAL_EC 'power off'
-
-set -ex
+set +e
+python3 $BM/cros_servo_run.py \
+        --cpu $BM_SERIAL \
+        --ec $BM_SERIAL_EC
+ret=$?
+set -e
 
 # Bring artifacts back from the NFS dir to the build dir where gitlab-runner
-# will look for them.  Note that results/ may already exist, so be careful
-# with cp.
-mkdir -p results
+# will look for them.
 cp -Rp /nfs/results/. results/
 
-set +e
-if grep -q "bare-metal result: pass" serial-output.txt; then
-   exit 0
-else
-   exit 1
-fi
+exit $ret