Skip to content

Commit cd99e2b

Browse files
committed
Remove dependency on send-to-lava.sh; emit test results directly from run.sh
- All test scripts now use emit_result_and_signal() from functestlib.sh to report results inline using <LAVA_SIGNAL_TESTCASE ...> format. - Eliminated the need to call Runner/utils/send-to-lava.sh at the end of test jobs. - This enables LAVA to capture and display test results immediately as each test completes, improving granularity and reducing parser dependency. - Verified that both standalone and suite-level runs continue to write .res files. Note: YAML job files must no longer include send-to-lava.sh in the test step. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
1 parent 25a36b1 commit cd99e2b

File tree

3 files changed

+26
-80
lines changed

3 files changed

+26
-80
lines changed

Runner/plans/qcom-next-ci-premerge.yaml

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,4 @@ run:
1818
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/adsp_remoteproc/adsp_remoteproc.res || true
1919
- $PWD/suites/Kernel/FunctionalArea/baseport/cdsp_remoteproc/run.sh || true
2020
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/cdsp_remoteproc/cdsp_remoteproc.res || true
21-
- $PWD/suites/Kernel/FunctionalArea/baseport/CPUFreq_Validation/run.sh || true
22-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/CPUFreq_Validation/CPUFreq_Validation.res || true
23-
- $PWD/suites/Kernel/FunctionalArea/baseport/GIC/run.sh || true
24-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/GIC/GIC.res || true
25-
- $PWD/suites/Kernel/FunctionalArea/baseport/hotplug/run.sh || true
26-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/hotplug/hotplug.res || true
27-
- $PWD/suites/Kernel/FunctionalArea/baseport/Interrupts/run.sh || true
28-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/Interrupts/Interrupts.res || true
29-
- $PWD/suites/Kernel/FunctionalArea/baseport/irq/run.sh || true
30-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/irq/irq.res || true
31-
- $PWD/suites/Kernel/FunctionalArea/baseport/kaslr/run.sh || true
32-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/kaslr/kaslr.res || true
33-
- $PWD/suites/Kernel/FunctionalArea/baseport/MEMLAT/run.sh || true
34-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/MEMLAT/MEMLAT.res || true
35-
- $PWD/suites/Kernel/FunctionalArea/baseport/pinctrl/run.sh || true
36-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/pinctrl/pinctrl.res || true
37-
- $PWD/suites/Kernel/FunctionalArea/baseport/Reboot_health_check/run.sh || true
38-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/Reboot_health_check/Reboot_health_check.res || true
39-
- $PWD/suites/Kernel/FunctionalArea/baseport/remoteproc/run.sh || true
40-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/remoteproc/remoteproc.res || true
41-
- $PWD/suites/Kernel/FunctionalArea/baseport/RMNET/run.sh || true
42-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/RMNET/RMNET.res || true
43-
- $PWD/suites/Kernel/FunctionalArea/baseport/IPA/run.sh || true
44-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/IPA/IPA.res || true
45-
- $PWD/suites/Kernel/FunctionalArea/baseport/Probe_Failure_Check/run.sh || true
46-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/Probe_Failure_Check/Probe_Failure_Check.res || true
47-
- $PWD/suites/Kernel/FunctionalArea/baseport/rngtest/run.sh || true
48-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/rngtest/rngtest.res || true
49-
- $PWD/suites/Kernel/FunctionalArea/baseport/smmu/run.sh || true
50-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/smmu/smmu.res || true
51-
- $PWD/suites/Kernel/FunctionalArea/baseport/storage/run.sh || true
52-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/storage/storage.res || true
53-
- $PWD/suites/Kernel/FunctionalArea/baseport/wpss_remoteproc/run.sh || true
54-
- $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/FunctionalArea/baseport/wpss_remoteproc/wpss_remoteproc.res || true
5521
- $PWD/utils/result_parse.sh

Runner/utils/functestlib.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,4 +390,3 @@ weston_start() {
390390
return 1
391391
fi
392392
}
393-

Runner/utils/send-to-lava.sh

Lines changed: 26 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,33 @@
11
#!/bin/sh
22

3+
#!/bin/sh
4+
5+
# Copyright (c) Qualcomm Technologies, Inc.
6+
# SPDX-License-Identifier: BSD-3-Clause-Clear
7+
38
RESULT_FILE="$1"
49

5-
command -v lava-test-case > /dev/null 2>&1
6-
lava_test_case="$?"
7-
command -v lava-test-set > /dev/null 2>&1
8-
lava_test_set="$?"
10+
if [ ! -f "$RESULT_FILE" ]; then
11+
echo "[WARNING] Result file not found: $RESULT_FILE"
12+
exit 0
13+
fi
914

10-
if [ -f "${RESULT_FILE}" ]; then
11-
while read -r line; do
12-
if echo "${line}" | grep -iq -E ".* +(pass|fail|skip|unknown)$"; then
13-
test="${line%% *}"
14-
result="${line##* }"
15+
while IFS= read -r line || [ -n "$line" ]; do
16+
# Skip empty lines
17+
[ -z "$line" ] && continue
1518

16-
if [ "${lava_test_case}" -eq 0 ]; then
17-
lava-test-case "${test}" --result "${result}"
18-
else
19-
echo "<TEST_CASE_ID=${test} RESULT=${result}>"
20-
fi
21-
elif echo "${line}" | grep -iq -E ".*+ (pass|fail|skip|unknown)+ .*+"; then
22-
test="$(echo "${line}" | awk '{print $1}')"
23-
result="$(echo "${line}" | awk '{print $2}')"
24-
measurement="$(echo "${line}" | awk '{print $3}')"
25-
units="$(echo "${line}" | awk '{print $4}')"
19+
# Parse lines like "testname PASS" or "testname FAIL"
20+
set -- "$line"
21+
TEST="$1"
22+
RESULT="$2"
2623

27-
if [ "${lava_test_case}" -eq 0 ]; then
28-
if [ -n "${units}" ]; then
29-
lava-test-case "${test}" --result "${result}" --measurement "${measurement}" --units "${units}"
30-
else
31-
lava-test-case "${test}" --result "${result}" --measurement "${measurement}"
32-
fi
33-
else
34-
echo "<TEST_CASE_ID=${test} RESULT=${result} MEASUREMENT=${measurement} UNITS=${units}>"
35-
fi
36-
elif echo "${line}" | grep -iq -E "^lava-test-set.*"; then
37-
test_set_status="$(echo "${line}" | awk '{print $2}')"
38-
test_set_name="$(echo "${line}" | awk '{print $3}')"
39-
if [ "${lava_test_set}" -eq 0 ]; then
40-
lava-test-set "${test_set_status}" "${test_set_name}"
41-
else
42-
if [ "${test_set_status}" = "start" ]; then
43-
echo "<LAVA_SIGNAL_TESTSET START ${test_set_name}>"
44-
else
45-
echo "<LAVA_SIGNAL_TESTSET STOP>"
46-
fi
47-
fi
48-
fi
49-
done < "${RESULT_FILE}"
50-
else
51-
echo "WARNING: result file is missing!"
52-
fi
24+
# Validate and emit signal
25+
case "$RESULT" in
26+
PASS|FAIL|SKIP|UNKNOWN)
27+
printf "<<<LAVA_SIGNAL_TESTCASE TEST_CASE_ID=%s RESULT=%s>>>\n" "$TEST" "$RESULT"
28+
;;
29+
*)
30+
echo "[WARNING] Malformed line or unknown result: $line"
31+
;;
32+
esac
33+
done < "$RESULT_FILE"

0 commit comments

Comments
 (0)