Skip to content

Commit 25eb323

Browse files
vigneshramannuclearcat
authored andcommitted
rootfs: overlays: blktests: add results parsing
Add a parse_results function to process blktests output and report individual test case results using lava-test-case. Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
1 parent 0d2e905 commit 25eb323

1 file changed

Lines changed: 31 additions & 4 deletions

File tree

config/rootfs/debos/overlays/blktests/usr/bin/run-blktests.sh

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash
2-
set -euo pipefail
3-
set -x
2+
set -eux
43

54
TEST_GROUP="${1:-}"
65
TEST_DEV="${2:-}"
@@ -10,6 +9,7 @@ if [ -z "$TEST_GROUP" ] || [ -z "$TEST_DEV" ]; then
109
exit 1
1110
fi
1211

12+
RESULT_DIR="/tmp/blktests-results"
1313
LOOPBACK_REQUIRED=false
1414
LOOPDEV=""
1515
LOOPFILE=""
@@ -26,6 +26,24 @@ cleanup() {
2626
}
2727
trap cleanup EXIT
2828

29+
parse_results() {
30+
if [ -d "$RESULT_DIR" ]; then
31+
find "$RESULT_DIR" -type f -regex '.*/[^/]+/[^/]+/[0-9][0-9][0-9]' | sort | while read -r result_file; do
32+
test_name=$(basename "$result_file")
33+
group=$(basename "$(dirname "$result_file")")
34+
status=$(grep -m1 "^status" "$result_file" | cut -f2)
35+
36+
case "$status" in
37+
pass|fail) ;;
38+
"not run") status="skip" ;;
39+
*) status="fail" ;;
40+
esac
41+
42+
lava-test-case "${group}/${test_name}" --result "$status"
43+
done
44+
fi
45+
}
46+
2947
if [ "$LOOPBACK_REQUIRED" = true ]; then
3048
LOOPFILE=$(mktemp /tmp/loopdisk.XXXX.img)
3149
truncate -s 1G "$LOOPFILE"
@@ -36,7 +54,16 @@ if [ "$LOOPBACK_REQUIRED" = true ]; then
3654
TEST_DEV="$LOOPDEV"
3755
fi
3856

39-
mkdir -p /tmp/blktests-results
57+
mkdir -p "$RESULT_DIR"
4058
cd /usr/local/blktests/
4159
echo "TEST_DEVS=('$TEST_DEV')" > config
42-
./check -c config "$TEST_GROUP" --output /tmp/blktests-results
60+
set +e
61+
./check -c config "$TEST_GROUP" --output "$RESULT_DIR"
62+
set -e
63+
exit_code=$?
64+
65+
set +x
66+
parse_results
67+
set -x
68+
69+
exit $exit_code

0 commit comments

Comments
 (0)