diff --git a/Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/BT_FW_KMD_Service.yaml b/Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/BT_FW_KMD_Service.yaml new file mode 100644 index 00000000..f7e3b89b --- /dev/null +++ b/Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/BT_FW_KMD_Service.yaml @@ -0,0 +1,16 @@ +metadata: + name: bt-fw-kmd-service + format: "Lava-Test Test Definition 1.0" + description: "BT_FW_KMD_Service - Bluetooth FW + KMD + service + controller infra validation" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/Bluetooth/BT_FW_KMD_Service/ + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh BT_FW_KMD_Service.res + diff --git a/Runner/suites/Connectivity/Bluetooth/BT_ON_OFF/BT_ON_OFF.yaml b/Runner/suites/Connectivity/Bluetooth/BT_ON_OFF/BT_ON_OFF.yaml new file mode 100644 index 00000000..929ee06b --- /dev/null +++ b/Runner/suites/Connectivity/Bluetooth/BT_ON_OFF/BT_ON_OFF.yaml @@ -0,0 +1,18 @@ +metadata: + name: bt-on-off + format: "Lava-Test Test Definition 1.0" + description: "Toggle Bluetooth on/off using qcom-linux-testkit BT_ON_FF" + os: + - linux + scope: + - functional + +params: + BT_ADAPTER: "" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/Bluetooth/BT_ON_OFF + - ./run.sh --adapter "${BT_ADAPTER}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh BT_ON_OFF.res diff --git a/Runner/suites/Connectivity/Bluetooth/BT_SCAN/BT_SCAN.yaml b/Runner/suites/Connectivity/Bluetooth/BT_SCAN/BT_SCAN.yaml new file mode 100644 index 00000000..36e15a03 --- /dev/null +++ b/Runner/suites/Connectivity/Bluetooth/BT_SCAN/BT_SCAN.yaml @@ -0,0 +1,16 @@ +metadata: + name: bt-scan + format: "Lava-Test Test Definition 1.0" + description: "BT_SCAN – Bluetooth scanning validation (non-expect version)" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/Bluetooth/BT_SCAN/ + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh BT_SCAN.res + diff --git a/Runner/suites/Connectivity/Bluetooth/BT_SCAN_PAIR/BT_SCAN_PAIR.yaml b/Runner/suites/Connectivity/Bluetooth/BT_SCAN_PAIR/BT_SCAN_PAIR.yaml new file mode 100644 index 00000000..53496de8 --- /dev/null +++ b/Runner/suites/Connectivity/Bluetooth/BT_SCAN_PAIR/BT_SCAN_PAIR.yaml @@ -0,0 +1,27 @@ +metadata: + name: bt-scan-pair + format: "Lava-Test Test Definition 1.0" + description: "This test automates Bluetooth scanning, pairing, and post-pair verification (via l2ping) on embedded Linux devices using BlueZ and bluetoothctl." + os: + - linux + scope: + - functional + +params: + # Max pairing attempts per device + - PAIR_RETRIES: 3 + # Max scan retries per device before pairing + - SCAN_ATTEMPTS: 2 + # Overrides direct MAC (same format as CLI argument) + - BT_MAC_ENV: "" + # Overrides device name + - BT_NAME_ENV: "" + # Comma-separated MACs or names allowed for pairing + - BT_WHITELIST_ENV: "" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/Bluetooth/BT_SCAN_PAIR/ + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh BT_SCAN_PAIR.res diff --git a/Runner/suites/Connectivity/Ethernet/Ethernet.yaml b/Runner/suites/Connectivity/Ethernet/Ethernet.yaml new file mode 100644 index 00000000..85868ca4 --- /dev/null +++ b/Runner/suites/Connectivity/Ethernet/Ethernet.yaml @@ -0,0 +1,22 @@ +metadata: + name: ethernet + format: "Lava-Test Test Definition 1.0" + description: "This test case validates the basic functionality of the Ethernet interface (`eth0`) on the device. It checks for: + - Interface presence + - Interface status (UP/DOWN) + - Basic connectivity via ping to `8.8.8.8`" + os: + - linux + scope: + - functional + +params: + INTERFACE: "eth0" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/Ethernet/ + - ./run.sh "${INTERFACE}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Ethernet.res + diff --git a/Runner/suites/Connectivity/WiFi/WiFi_Dynamic_IP/WiFi_Dynamic_IP.yaml b/Runner/suites/Connectivity/WiFi/WiFi_Dynamic_IP/WiFi_Dynamic_IP.yaml new file mode 100644 index 00000000..aefa26d0 --- /dev/null +++ b/Runner/suites/Connectivity/WiFi/WiFi_Dynamic_IP/WiFi_Dynamic_IP.yaml @@ -0,0 +1,26 @@ +metadata: + name: wifi-dynamic-ip + format: "Lava-Test Test Definition 1.0" + description: "This test validates WiFi functionality by: + + - Connecting to an access point (AP) using either `nmcli` or `wpa_supplicant`. + - Verifying IP acquisition via DHCP. + - Checking internet connectivity with a `ping` test. + - Handling systemd network service status. + - Supporting flexible SSID/password input via arguments, environment, or file." + os: + - linux + scope: + - functional + +params: + SSID: "" + PASSWORD: "" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/WiFi/WiFi_Dynamic_IP + - ./run.sh --ssid "${SSID}" --password "${PASSWORD}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh WiFi_Dynamic_IP.res + diff --git a/Runner/suites/Connectivity/WiFi/WiFi_Firmware_Driver/WiFi_Firmware_Driver.yaml b/Runner/suites/Connectivity/WiFi/WiFi_Firmware_Driver/WiFi_Firmware_Driver.yaml new file mode 100644 index 00000000..28251ebf --- /dev/null +++ b/Runner/suites/Connectivity/WiFi/WiFi_Firmware_Driver/WiFi_Firmware_Driver.yaml @@ -0,0 +1,16 @@ +metadata: + name: wifi-firmware-driver + format: "Lava-Test Test Definition 1.0" + description: "This test validates WiFi firmware" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/WiFi/WiFi_Firmware_Driver + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh WiFi_Firmware_Driver.res + diff --git a/Runner/suites/Connectivity/WiFi/WiFi_Manual_IP/WiFi_Manual_IP.yaml b/Runner/suites/Connectivity/WiFi/WiFi_Manual_IP/WiFi_Manual_IP.yaml new file mode 100644 index 00000000..7168a92b --- /dev/null +++ b/Runner/suites/Connectivity/WiFi/WiFi_Manual_IP/WiFi_Manual_IP.yaml @@ -0,0 +1,23 @@ +metadata: + name: wifi-manual-ip + format: "Lava-Test Test Definition 1.0" + description: "This test validates WiFi functionality by: + + - Connecting to an access point (AP) using `wpa_supplicant`. + - Verifying IP acquisition via DHCP." + os: + - linux + scope: + - functional + +params: + SSID: "" + PASSWORD: "" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/WiFi/WiFi_Manual_IP + - ./run.sh --ssid "${SSID}" --password "${PASSWORD}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh WiFi_Manual_IP.res + diff --git a/Runner/suites/Connectivity/WiFi/WiFi_OnOff/WiFi_OnOff.yaml b/Runner/suites/Connectivity/WiFi/WiFi_OnOff/WiFi_OnOff.yaml new file mode 100644 index 00000000..7502368f --- /dev/null +++ b/Runner/suites/Connectivity/WiFi/WiFi_OnOff/WiFi_OnOff.yaml @@ -0,0 +1,16 @@ +metadata: + name: wifi-onoff + format: "Lava-Test Test Definition 1.0" + description: "This test validates WiFi can be turned ON and OFF" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Connectivity/WiFi/WiFi_OnOff + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh WiFi_OnOff.res + diff --git a/Runner/suites/Kernel/Baseport/BWMON/BWMON.yaml b/Runner/suites/Kernel/Baseport/BWMON/BWMON.yaml new file mode 100644 index 00000000..6167d3b8 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/BWMON/BWMON.yaml @@ -0,0 +1,16 @@ +metadata: + name: bwmon + format: "Lava-Test Test Definition 1.0" + description: "Test memory bandwidth" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/BWMON + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh BWMON.res + diff --git a/Runner/suites/Kernel/Baseport/Buses/Buses.yaml b/Runner/suites/Kernel/Baseport/Buses/Buses.yaml new file mode 100644 index 00000000..076bd9bc --- /dev/null +++ b/Runner/suites/Kernel/Baseport/Buses/Buses.yaml @@ -0,0 +1,16 @@ +metadata: + name: buses + format: "Lava-Test Test Definition 1.0" + description: "Test I2C busses" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/Buses + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Buses.res + diff --git a/Runner/suites/Kernel/Baseport/CPUFreq_Validation/CPUFreq_Validation.yaml b/Runner/suites/Kernel/Baseport/CPUFreq_Validation/CPUFreq_Validation.yaml new file mode 100644 index 00000000..e16c0830 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/CPUFreq_Validation/CPUFreq_Validation.yaml @@ -0,0 +1,17 @@ +metadata: + name: cpufreq-validation + format: "Lava-Test Test Definition 1.0" + description: "The test validates the CPU frequency scaling capabilities of a system using the Linux `cpufreq` subsystem. It verifies the ability to set and reflect CPU frequencies across shared policy domains (e.g., clusters of CPUs sharing frequency control)." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/CPUFreq_Validation + - ./run.sh || true + - pwd + - ls -l + - $REPO_PATH/Runner/utils/send-to-lava.sh CPUFreq_Validation.res diff --git a/Runner/suites/Kernel/Baseport/GIC/GIC.yaml b/Runner/suites/Kernel/Baseport/GIC/GIC.yaml new file mode 100755 index 00000000..12892ae2 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/GIC/GIC.yaml @@ -0,0 +1,18 @@ +metadata: + format: Lava-Test Test Definition 1.0 + name: gic + description: "Test GIC basic features" + maintainer: + - vnarapar@qti.qualcomm.com + os: + - openembedded + scope: + - functional + devices: + - rb3gen2 + +run: + steps: + - cd Runner + - $PWD/suites/Kernel/Baseport/GIC/run.sh || true + - $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/Baseport/GIC/GIC.res || true diff --git a/Runner/suites/Kernel/Baseport/IPA/IPA.yaml b/Runner/suites/Kernel/Baseport/IPA/IPA.yaml new file mode 100644 index 00000000..74651352 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/IPA/IPA.yaml @@ -0,0 +1,16 @@ +metadata: + name: ipa + format: "Lava-Test Test Definition 1.0" + description: "Test basic IPA features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/IPA + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh IPA.res || true + diff --git a/Runner/suites/Kernel/Baseport/IPA/run.sh b/Runner/suites/Kernel/Baseport/IPA/run.sh index 7486f5d4..d4d2634b 100755 --- a/Runner/suites/Kernel/Baseport/IPA/run.sh +++ b/Runner/suites/Kernel/Baseport/IPA/run.sh @@ -42,6 +42,7 @@ log_info "=== Test Initialization ===" # Kernel config gate if ! check_kernel_config "CONFIG_QCOM_IPA"; then log_skip "$TESTNAME SKIP - CONFIG_QCOM_IPA not enabled" + log_info "Writing to file $RES_FILE" echo "$TESTNAME SKIP" >"$RES_FILE" exit 0 fi @@ -55,8 +56,8 @@ if is_module_loaded "$MODNAME"; then log_info "Module $MODNAME already loaded" else MODPATH=$(find_kernel_module "$MODNAME") - [ -n "$MODPATH" ] || log_fail "$MODNAME.ko not found in filesystem" - load_kernel_module "$MODPATH" || log_fail "Failed to load $MODNAME" + [ -n "$MODPATH" ] || (log_fail "$MODNAME.ko not found in filesystem"; echo "$TESTNAME FAIL" >"$RES_FILE") + load_kernel_module "$MODPATH" || (log_fail "Failed to load $MODNAME"; echo "$TESTNAME FAIL" >"$RES_FILE") log_pass "$MODNAME module loaded" fi @@ -89,5 +90,6 @@ fi log_info "-------------------Completed $TESTNAME Testcase----------------------------" log_pass "$TESTNAME PASS" +log_info "Writing to file $RES_FILE" echo "$TESTNAME PASS" >"$RES_FILE" exit 0 diff --git a/Runner/suites/Kernel/Baseport/IPCC/IPCC.yaml b/Runner/suites/Kernel/Baseport/IPCC/IPCC.yaml new file mode 100644 index 00000000..848f0f5d --- /dev/null +++ b/Runner/suites/Kernel/Baseport/IPCC/IPCC.yaml @@ -0,0 +1,16 @@ +metadata: + name: ipcc + format: "Lava-Test Test Definition 1.0" + description: "Test basic IPCC features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/IPCC + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh IPCC.res || true + diff --git a/Runner/suites/Kernel/Baseport/IPCC/run.sh b/Runner/suites/Kernel/Baseport/IPCC/run.sh index f5591fbb..36bcf00c 100755 --- a/Runner/suites/Kernel/Baseport/IPCC/run.sh +++ b/Runner/suites/Kernel/Baseport/IPCC/run.sh @@ -45,10 +45,12 @@ count=$(echo "$output" | grep -c "running") if [ $count -eq 4 ]; then log_pass "$TESTNAME : Test Passed" + log_info "Writing to file $res_file" echo "$TESTNAME PASS" > "$res_file" exit 0 else log_fail "$TESTNAME : Test Failed" + log_info "Writing to file $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 fi diff --git a/Runner/suites/Kernel/Baseport/Interrupts/Interrupts.yaml b/Runner/suites/Kernel/Baseport/Interrupts/Interrupts.yaml new file mode 100755 index 00000000..9dd397b0 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/Interrupts/Interrupts.yaml @@ -0,0 +1,18 @@ +metadata: + format: Lava-Test Test Definition 1.0 + name: interrupts + description: "Test basic CPU interrupts features" + maintainer: + - vnarapar@qti.qualcomm.com + os: + - openembedded + scope: + - functional + devices: + - rb3gen2 + +run: + steps: + - cd Runner + - $PWD/suites/Kernel/Baseport/Interrupts/run.sh || true + - $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/Baseport/Interrupts/Interrupts.res || true diff --git a/Runner/suites/Kernel/Baseport/MEMLAT/MEMLAT.yaml b/Runner/suites/Kernel/Baseport/MEMLAT/MEMLAT.yaml new file mode 100644 index 00000000..b805ea0a --- /dev/null +++ b/Runner/suites/Kernel/Baseport/MEMLAT/MEMLAT.yaml @@ -0,0 +1,15 @@ +metadata: + name: memlat + format: "Lava-Test Test Definition 1.0" + description: "Test memory latency" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/MEMLAT + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh MEMLAT.res || true diff --git a/Runner/suites/Kernel/Baseport/PCIe/PCIe.yaml b/Runner/suites/Kernel/Baseport/PCIe/PCIe.yaml new file mode 100644 index 00000000..e9ec8674 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/PCIe/PCIe.yaml @@ -0,0 +1,16 @@ +metadata: + name: pcio + format: "Lava-Test Test Definition 1.0" + description: "Test basic PCIe features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/PCIe + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh PCIe.res || true + diff --git a/Runner/suites/Kernel/Baseport/Probe_Failure_Check/Probe_Failure_Check.yaml b/Runner/suites/Kernel/Baseport/Probe_Failure_Check/Probe_Failure_Check.yaml new file mode 100644 index 00000000..2ad836d6 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/Probe_Failure_Check/Probe_Failure_Check.yaml @@ -0,0 +1,15 @@ +metadata: + name: proble-failure-check + format: "Lava-Test Test Definition 1.0" + description: "This test verifies that no device driver probe errors occurred during the most recent system boot." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/Probe_Failure_Check + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Probe_Failure_Check.res || true diff --git a/Runner/suites/Kernel/Baseport/RMNET/RMNET.yaml b/Runner/suites/Kernel/Baseport/RMNET/RMNET.yaml new file mode 100644 index 00000000..4601b128 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/RMNET/RMNET.yaml @@ -0,0 +1,16 @@ +metadata: + name: adsp-remoteproc + format: "Lava-Test Test Definition 1.0" + description: "Test for RMNET driver: skip if CONFIG_RMNET not enabled, then builtin vs module, verify /dev/rmnet, functional sysfs & dmesg checks." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/RMNET + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh RMNET.res || true + diff --git a/Runner/suites/Kernel/Baseport/RMNET/run.sh b/Runner/suites/Kernel/Baseport/RMNET/run.sh index c850cd2f..3d9a413a 100755 --- a/Runner/suites/Kernel/Baseport/RMNET/run.sh +++ b/Runner/suites/Kernel/Baseport/RMNET/run.sh @@ -50,13 +50,14 @@ fi # Load module if needed MODNAME="rmnet" PRE_LOADED=0 +FAILURE=0 if is_module_loaded "$MODNAME"; then PRE_LOADED=1 log_info "Module $MODNAME already loaded" else MODPATH=$(find_kernel_module "$MODNAME") - [ -n "$MODPATH" ] || log_fail "$MODNAME.ko not found in filesystem" - load_kernel_module "$MODPATH" || log_fail "Failed to load $MODNAME" + [ -n "$MODPATH" ] || (log_fail "$MODNAME.ko not found in filesystem"; FAILURE=1) + load_kernel_module "$MODPATH" || (log_fail "Failed to load $MODNAME"; FAILURE=1) log_pass "$MODNAME module loaded" fi @@ -74,6 +75,7 @@ if [ -n "$first_node" ]; then log_pass "rmnet node $first_node is present" else log_fail "rmnet node $first_node did not appear within timeout" + FAILURE=1 fi else log_warn "No /dev/rmnet* nodes found" @@ -83,6 +85,7 @@ fi scan_dmesg_errors "rmnet" "." "panic|oops|fault|stall|abort" "" if [ -s "./rmnet_dmesg_errors.log" ]; then log_fail "rmnet-related errors found in dmesg" + FAILURE=1 else log_info "No rmnet-related errors in dmesg" fi @@ -105,7 +108,14 @@ else fi log_info "-------------------Completed $TESTNAME Testcase----------------------------" -log_pass "$TESTNAME PASS" -echo "$TESTNAME PASS" >"$RES_FILE" +if [ "$FAILURE" = 0 ]; then + log_pass "$TESTNAME PASS" + log_info "Writing to file $RES_FILE" + echo "$TESTNAME PASS" >"$RES_FILE" +else + log_fail "$TESTNAME FAIL" + log_info "Writing to file $RES_FILE" + echo "$TESTNAME FAIL" >"$RES_FILE" +fi exit 0 diff --git a/Runner/suites/Kernel/Baseport/Storage/UFS_Validation/UFS_Validation.yaml b/Runner/suites/Kernel/Baseport/Storage/UFS_Validation/UFS_Validation.yaml new file mode 100644 index 00000000..f84b2c2e --- /dev/null +++ b/Runner/suites/Kernel/Baseport/Storage/UFS_Validation/UFS_Validation.yaml @@ -0,0 +1,16 @@ +metadata: + name: ufs-validation + format: "Lava-Test Test Definition 1.0" + description: "Test basic UFS features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/Storage/UFS_Validation + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh UFS_Validation.res || true + diff --git a/Runner/suites/Kernel/Baseport/Storage/eMMC_Validation/eMMC_Validation.yaml b/Runner/suites/Kernel/Baseport/Storage/eMMC_Validation/eMMC_Validation.yaml new file mode 100644 index 00000000..2baaac16 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/Storage/eMMC_Validation/eMMC_Validation.yaml @@ -0,0 +1,16 @@ +metadata: + name: emmc-validation + format: "Lava-Test Test Definition 1.0" + description: "Test basic eMMC features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/Storage/eMMC_Validation + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh eMMC_Validation.res || true + diff --git a/Runner/suites/Kernel/Baseport/Timer/Timer.yaml b/Runner/suites/Kernel/Baseport/Timer/Timer.yaml new file mode 100644 index 00000000..5edda7d8 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/Timer/Timer.yaml @@ -0,0 +1,19 @@ +metadata: + name: timer + format: "Lava-Test Test Definition 1.0" + description: "Test basic Timers features" + os: + - linux + scope: + - functional + +params: + BINARY_PATH: "" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/Timer + - ./run.sh --binary-path="${BINARY_PATH}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Timer.res || true + diff --git a/Runner/suites/Kernel/Baseport/USBHost/USBHost.yaml b/Runner/suites/Kernel/Baseport/USBHost/USBHost.yaml new file mode 100644 index 00000000..6e8bf969 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/USBHost/USBHost.yaml @@ -0,0 +1,16 @@ +metadata: + name: usb-host + format: "Lava-Test Test Definition 1.0" + description: "This shell script executes on the DUT (Device-Under-Test) and verifies enumeration of connected USB devices." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/USBHost + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh USBHost.res || true + diff --git a/Runner/suites/Kernel/Baseport/adsp_remoteproc/adsp_remoteproc.yaml b/Runner/suites/Kernel/Baseport/adsp_remoteproc/adsp_remoteproc.yaml new file mode 100644 index 00000000..f81c994f --- /dev/null +++ b/Runner/suites/Kernel/Baseport/adsp_remoteproc/adsp_remoteproc.yaml @@ -0,0 +1,23 @@ +metadata: + name: adsp-remoteproc + format: "Lava-Test Test Definition 1.0" + description: "Test basic ADSP features" + os: + - linux + scope: + - functional + +params: + STOP_TO: 10 # remoteproc stop timeout (s) + START_TO: 10 # remoteproc start timeout (s) + POLL_I: 1 # state poll interval (s) + PRE_STOP_DELAY: 30 # FIXED delay before stopping ADSP (seconds) + FATAL_ON_UNSUSPENDED: 0 # 1 = abort if audio not suspended/unsupported after delay + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/adsp_remoteproc + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh adsp_remoteproc.res || true + diff --git a/Runner/suites/Kernel/Baseport/adsp_remoteproc/run.sh b/Runner/suites/Kernel/Baseport/adsp_remoteproc/run.sh index 90785c0d..75daac39 100755 --- a/Runner/suites/Kernel/Baseport/adsp_remoteproc/run.sh +++ b/Runner/suites/Kernel/Baseport/adsp_remoteproc/run.sh @@ -159,6 +159,7 @@ discover_audio_stack_and_snapshot # --- Check DT presence for ADSP ----------------------------------------------- if ! dt_has_remoteproc_fw "$FW"; then log_skip "$TESTNAME SKIP – $FW not described in DT" + log_info "Writing to file $RES_FILE" echo "$TESTNAME SKIP" >"$RES_FILE" exit 0 fi @@ -168,6 +169,7 @@ log_info "DT indicates $FW is present" entries="$(get_remoteproc_by_firmware "$FW" "" all 2>/dev/null)" || entries="" if [ -z "$entries" ]; then log_fail "$FW present in DT but no /sys/class/remoteproc entry found" + log_info "Writing to file $RES_FILE" echo "$TESTNAME FAIL" >"$RES_FILE" exit 1 fi @@ -208,6 +210,7 @@ while IFS='|' read -r rpath rstate rfirm rname; do if [ "$FATAL_ON_UNSUSPENDED" -eq 1 ]; then if [ "$(audio_pm_snapshot_ok)" -ne 1 ]; then log_fail "Audio not in suspended/unsupported state after ${PRE_STOP_DELAY}s (FATAL_ON_UNSUSPENDED=1); aborting before stop" + log_info "Writing to file $RES_FILE" echo "$TESTNAME FAIL" >"$RES_FILE" exit 1 fi @@ -283,10 +286,12 @@ log_info "Instance results:$RESULT_LINES" if [ "$inst_fail" -gt 0 ]; then log_fail "One or more $FW instance(s) failed ($inst_fail/$count_instances)" + log_info "Writing to file $RES_FILE" echo "$TESTNAME FAIL" >"$RES_FILE" exit 1 fi log_pass "All $count_instances $FW instance(s) passed" +log_info "Writing to file $RES_FILE" echo "$TESTNAME PASS" >"$RES_FILE" exit 0 diff --git a/Runner/suites/Kernel/Baseport/cdsp_remoteproc/cdsp_remoteproc.yaml b/Runner/suites/Kernel/Baseport/cdsp_remoteproc/cdsp_remoteproc.yaml new file mode 100644 index 00000000..411e92af --- /dev/null +++ b/Runner/suites/Kernel/Baseport/cdsp_remoteproc/cdsp_remoteproc.yaml @@ -0,0 +1,21 @@ +metadata: + name: cdsp-remoteproc + format: "Lava-Test Test Definition 1.0" + description: "Test CDSP basic features" + os: + - linux + scope: + - functional + +params: + STOP_TO: 10 # remoteproc stop timeout (s) + START_TO: 10 # remoteproc start timeout (s) + POLL_I: 1 # state poll interval (s) + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/cdsp_remoteproc + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh cdsp_remoteproc.res + diff --git a/Runner/suites/Kernel/Baseport/cdsp_remoteproc/run.sh b/Runner/suites/Kernel/Baseport/cdsp_remoteproc/run.sh index ed3144d1..984fecfd 100755 --- a/Runner/suites/Kernel/Baseport/cdsp_remoteproc/run.sh +++ b/Runner/suites/Kernel/Baseport/cdsp_remoteproc/run.sh @@ -52,7 +52,8 @@ if dt_has_remoteproc_fw "$FW"; then log_info "DT indicates $FW is present" else log_skip "$TESTNAME SKIP – $FW not described in DT" - echo "${TESTNAME} SKIP" >"$RES_FILE" + log_info "Writing to $RES_FILE" + echo "${TESTNAME} SKIP" > "$RES_FILE" exit 0 fi @@ -161,10 +162,12 @@ log_info "Instance results:$RESULT_LINES" if [ "$inst_fail" -gt 0 ]; then log_fail "One or more $FW instance(s) failed ($inst_fail/$count_instances)" - echo "$TESTNAME FAIL" >"$RES_FILE" + log_info "Writing to $RES_FILE" + echo "$TESTNAME FAIL" > "$RES_FILE" exit 1 fi log_pass "All $count_instances $FW instance(s) passed" -echo "$TESTNAME PASS" >"$RES_FILE" +log_info "Writing to $RES_FILE" +echo "$TESTNAME PASS" > "$RES_FILE" exit 0 diff --git a/Runner/suites/Kernel/Baseport/etm_trace/etm_trace.yaml b/Runner/suites/Kernel/Baseport/etm_trace/etm_trace.yaml new file mode 100644 index 00000000..d8356d2e --- /dev/null +++ b/Runner/suites/Kernel/Baseport/etm_trace/etm_trace.yaml @@ -0,0 +1,16 @@ +metadata: + name: etm-trace + format: "Lava-Test Test Definition 1.0" + description: "This test case validates the CoreSight Embedded Trace Macrocell (ETM) trace capture functionality on the target device. It ensures that the ETM source and TMC sink are properly enabled and that trace data can be successfully captured and validated." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/etm_trace + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh etm_trace.res + diff --git a/Runner/suites/Kernel/Baseport/gpdsp_remoteproc/gpdsp_remoteproc.yaml b/Runner/suites/Kernel/Baseport/gpdsp_remoteproc/gpdsp_remoteproc.yaml new file mode 100644 index 00000000..45b2996f --- /dev/null +++ b/Runner/suites/Kernel/Baseport/gpdsp_remoteproc/gpdsp_remoteproc.yaml @@ -0,0 +1,21 @@ +metadata: + name: gpdsp-remoteproc + format: "Lava-Test Test Definition 1.0" + description: "Test GPDSP basic features" + os: + - linux + scope: + - functional + +params: + STOP_TO: 10 # remoteproc stop timeout (s) + START_TO: 10 # remoteproc start timeout (s) + POLL_I: 1 # state poll interval (s) + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/gpdsp_remoteproc + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh gpdsp_remoteproc.res + diff --git a/Runner/suites/Kernel/Baseport/hotplug/hotplug.yaml b/Runner/suites/Kernel/Baseport/hotplug/hotplug.yaml new file mode 100755 index 00000000..f604df28 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/hotplug/hotplug.yaml @@ -0,0 +1,19 @@ +metadata: + format: Lava-Test Test Definition 1.0 + name: hotplug + description: "Test basic CPU hotplug features" + maintainer: + - vnarapar@qti.qualcomm.com + os: + - openembedded + scope: + - functional + devices: + - rb3gen2 + +run: + steps: + - cd Runner + - $PWD/suites/Kernel/Baseport/hotplug/run.sh || true + - $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/Baseport/hotplug/hotplug.res || true + diff --git a/Runner/suites/Kernel/Baseport/iommu/iommu.yaml b/Runner/suites/Kernel/Baseport/iommu/iommu.yaml new file mode 100644 index 00000000..772167e0 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/iommu/iommu.yaml @@ -0,0 +1,16 @@ +metadata: + name: iommu + format: "Lava-Test Test Definition 1.0" + description: "Test basic IOMMU features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/iommu + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh iommu.res || true + diff --git a/Runner/suites/Kernel/Baseport/iommu/run.sh b/Runner/suites/Kernel/Baseport/iommu/run.sh index d2f0ae8d..0cb0a794 100755 --- a/Runner/suites/Kernel/Baseport/iommu/run.sh +++ b/Runner/suites/Kernel/Baseport/iommu/run.sh @@ -56,12 +56,14 @@ pass=true CONFIGS="CONFIG_IOMMU_SUPPORT CONFIG_QCOM_IOMMU CONFIG_ARM_SMMU" check_kernel_config "$CONFIGS" || { log_fail "Kernel config validation failed." + log_info "Writing to file $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 } LOADED_MODULES="msm_iommu arm_smmu" check_driver_loaded "$LOADED_MODULES" || { log_fail "Failed to load required driver modules" + log_info "Writing to file $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 } @@ -69,6 +71,7 @@ check_driver_loaded "$LOADED_MODULES" || { DT_NODES="/proc/device-tree/soc@0/iommu@15000000 /proc/device-tree/soc/iommu@15000000" check_dt_nodes "$DT_NODES" || { log_fail "Device tree validation failed." + log_info "Writing to file $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 } @@ -77,10 +80,12 @@ check_runtime_behavior || pass=false if $pass; then log_pass "$TESTNAME : Test Passed" + log_info "Writing to file $res_file" echo "$TESTNAME PASS" > "$res_file" exit 0 else log_fail "$TESTNAME : Test Failed" + log_info "Writing to file $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 fi diff --git a/Runner/suites/Kernel/Baseport/irq/irq.yaml b/Runner/suites/Kernel/Baseport/irq/irq.yaml new file mode 100755 index 00000000..7aa84897 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/irq/irq.yaml @@ -0,0 +1,18 @@ +metadata: + format: Lava-Test Test Definition 1.0 + name: AUSanity + description: "Baseline AU Sanity test plan" + maintainer: + - vnarapar@qti.qualcomm.com + os: + - openembedded + scope: + - functional + devices: + - rb3gen2 + +run: + steps: + - cd Runner + - $PWD/suites/Kernel/Baseport/irq/run.sh || true + - $PWD/utils/send-to-lava.sh $PWD/suites/Kernel/Baseport/irq/irq.res || true diff --git a/Runner/suites/Kernel/Baseport/kaslr/kaslr.yaml b/Runner/suites/Kernel/Baseport/kaslr/kaslr.yaml new file mode 100644 index 00000000..a4f6df34 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/kaslr/kaslr.yaml @@ -0,0 +1,15 @@ +metadata: + name: kaslr + format: "Lava-Test Test Definition 1.0" + description: "Test basic kaslr features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/kaslr + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh kaslr.res || true diff --git a/Runner/suites/Kernel/Baseport/kaslr/run.sh b/Runner/suites/Kernel/Baseport/kaslr/run.sh index 5b439028..44da0505 100755 --- a/Runner/suites/Kernel/Baseport/kaslr/run.sh +++ b/Runner/suites/Kernel/Baseport/kaslr/run.sh @@ -45,10 +45,12 @@ value=$(echo $output | awk '{print $1}') if [ $value != "0000000000000000" ]; then log_pass "$TESTNAME : Test Passed" + log_info "Writing to file $res_file" echo "$TESTNAME PASS" > "$res_file" exit 0 else log_fail "$TESTNAME : Test Failed" + log_info "Writing to file $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 fi diff --git a/Runner/suites/Kernel/Baseport/pinctrl/pinctrl.yaml b/Runner/suites/Kernel/Baseport/pinctrl/pinctrl.yaml new file mode 100644 index 00000000..bc884f94 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/pinctrl/pinctrl.yaml @@ -0,0 +1,15 @@ +metadata: + name: pinctrl + format: "Lava-Test Test Definition 1.0" + description: "Test basic pinctrl features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/pinctrl + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh pinctrl.res || true diff --git a/Runner/suites/Kernel/Baseport/pinctrl/run.sh b/Runner/suites/Kernel/Baseport/pinctrl/run.sh index a8d8e09a..d41256e3 100755 --- a/Runner/suites/Kernel/Baseport/pinctrl/run.sh +++ b/Runner/suites/Kernel/Baseport/pinctrl/run.sh @@ -47,10 +47,12 @@ output=$(ls /sys/kernel/debug/pinctrl) # Print overall test result if [ -z "$output" ]; then log_fail "$TESTNAME : Test Failed" + log_info "Writing to file $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 else log_pass "$TESTNAME : Test Passed" + log_info "Writing to file $res_file" echo "$TESTNAME PASS" > "$res_file" exit 0 fi diff --git a/Runner/suites/Kernel/Baseport/qcom_crypto/qcom_crypto.yaml b/Runner/suites/Kernel/Baseport/qcom_crypto/qcom_crypto.yaml new file mode 100644 index 00000000..25c80c32 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/qcom_crypto/qcom_crypto.yaml @@ -0,0 +1,16 @@ +metadata: + name: qcom-crypto + format: "Lava-Test Test Definition 1.0" + description: "The qcom_crypto test script validates the basic functionality of cryptographic operations using the kcapi tool. It ensures that encryption, decryption, and HMAC-SHA256 operations are correctly executed and verified against expected outputs." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/qcom_crypto + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh qcom_crypto.res || true + diff --git a/Runner/suites/Kernel/Baseport/qcom_hwrng/qcom_hwrng.yaml b/Runner/suites/Kernel/Baseport/qcom_hwrng/qcom_hwrng.yaml new file mode 100644 index 00000000..8919fbe2 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/qcom_hwrng/qcom_hwrng.yaml @@ -0,0 +1,16 @@ +metadata: + name: qcom-hwrng + format: "Lava-Test Test Definition 1.0" + description: "The qcom_hwrng test script validates Qualcomm Hardware Random Number Generator (HWRNG) basic functionality. This test ensures that the HWRNG kernel driver is correctly integrated and functional." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/qcom_hwrng + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh qcom_hwrng.res || true + diff --git a/Runner/suites/Kernel/Baseport/qcrypto/qcrypto.yaml b/Runner/suites/Kernel/Baseport/qcrypto/qcrypto.yaml new file mode 100644 index 00000000..5bffa1cc --- /dev/null +++ b/Runner/suites/Kernel/Baseport/qcrypto/qcrypto.yaml @@ -0,0 +1,16 @@ +metadata: + name: qcrypto + format: "Lava-Test Test Definition 1.0" + description: "Test KCAPI basic features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/qcrypto + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh qcrypto.res || true + diff --git a/Runner/suites/Kernel/Baseport/remoteproc/remoteproc.yaml b/Runner/suites/Kernel/Baseport/remoteproc/remoteproc.yaml new file mode 100644 index 00000000..77f91e45 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/remoteproc/remoteproc.yaml @@ -0,0 +1,16 @@ +metadata: + name: remoteproc + format: "Lava-Test Test Definition 1.0" + description: "Test remoteproc basic features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/remoteproc + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh remoteproc.res || true + diff --git a/Runner/suites/Kernel/Baseport/rngtest/rngtest.yaml b/Runner/suites/Kernel/Baseport/rngtest/rngtest.yaml new file mode 100644 index 00000000..e739740e --- /dev/null +++ b/Runner/suites/Kernel/Baseport/rngtest/rngtest.yaml @@ -0,0 +1,16 @@ +metadata: + name: rngtest + format: "Lava-Test Test Definition 1.0" + description: "Test basic random number generator features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/rngtest + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh rngtest.res || true + diff --git a/Runner/suites/Kernel/Baseport/shmbridge/shmbridge.yaml b/Runner/suites/Kernel/Baseport/shmbridge/shmbridge.yaml new file mode 100644 index 00000000..4ddfce1e --- /dev/null +++ b/Runner/suites/Kernel/Baseport/shmbridge/shmbridge.yaml @@ -0,0 +1,20 @@ +metadata: + name: shmbridge + format: "Lava-Test Test Definition 1.0" + description: "This test case validates the encryption and access functionality of the `shmbridge` partition by: + - Formatting the partition with ext4 and encryption options + - Mounting it with `inlinecrypt` + - Adding an encryption key using `fscryptctl` + - Setting and verifying an encryption policy + - Writing and reading a test file to confirm data integrity" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/shmbridge + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh shmbridge.res || true diff --git a/Runner/suites/Kernel/Baseport/smmu/run.sh b/Runner/suites/Kernel/Baseport/smmu/run.sh index c092540b..f04ddff8 100755 --- a/Runner/suites/Kernel/Baseport/smmu/run.sh +++ b/Runner/suites/Kernel/Baseport/smmu/run.sh @@ -45,10 +45,12 @@ OUTPUT=$(dmesg | grep iommu) # Check if the output is null if [ -z "$OUTPUT" ]; then log_fail "$TESTNAME : Test Failed" + log_info "Writing to $res_file" echo "$TESTNAME FAIL" > "$res_file" exit 1 else log_pass "$TESTNAME : Test Passed" + log_info "Writing to $res_file" echo "$TESTNAME PASS" > "$res_file" exit 0 fi diff --git a/Runner/suites/Kernel/Baseport/smmu/smmu.yaml b/Runner/suites/Kernel/Baseport/smmu/smmu.yaml new file mode 100644 index 00000000..785d8617 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/smmu/smmu.yaml @@ -0,0 +1,16 @@ +metadata: + name: smmu + format: "Lava-Test Test Definition 1.0" + description: "This basic smmu features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/smmu + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh smmu.res || true + diff --git a/Runner/suites/Kernel/Baseport/stm_cpu/stm_cpu.yaml b/Runner/suites/Kernel/Baseport/stm_cpu/stm_cpu.yaml new file mode 100644 index 00000000..c76fa34f --- /dev/null +++ b/Runner/suites/Kernel/Baseport/stm_cpu/stm_cpu.yaml @@ -0,0 +1,16 @@ +metadata: + name: adsp-remoteproc + format: "Lava-Test Test Definition 1.0" + description: "This test case validates the System Trace Macrocell (STM) functionality on the target device by configuring the STM source, enabling tracing, and capturing trace data. It ensures that the STM infrastructure is correctly initialized and capable of generating trace output." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/stm_cpu + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh stm_cpu.res || true + diff --git a/Runner/suites/Kernel/Baseport/watchdog/watchdog.yaml b/Runner/suites/Kernel/Baseport/watchdog/watchdog.yaml new file mode 100644 index 00000000..4f424321 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/watchdog/watchdog.yaml @@ -0,0 +1,16 @@ +metadata: + name: watchdog + format: "Lava-Test Test Definition 1.0" + description: "Test basic watchdog features" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/watchdog + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh watchdog.res || true + diff --git a/Runner/suites/Kernel/Baseport/wpss_remoteproc/wpss_remoteproc.yaml b/Runner/suites/Kernel/Baseport/wpss_remoteproc/wpss_remoteproc.yaml new file mode 100644 index 00000000..18a19758 --- /dev/null +++ b/Runner/suites/Kernel/Baseport/wpss_remoteproc/wpss_remoteproc.yaml @@ -0,0 +1,21 @@ +metadata: + name: wpss-remoteproc + format: "Lava-Test Test Definition 1.0" + description: "Test WPSS basic features" + os: + - linux + scope: + - functional + +params: + STOP_TO: 10 # remoteproc stop timeout (s) + START_TO: 10 # remoteproc start timeout (s) + POLL_I: 1 # state poll interval (s) + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Baseport/wpss_remoteproc + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh wpss_remoteproc.res + diff --git a/Runner/suites/Kernel/DCVS/Freq_Scaling/Freq_Scaling.yaml b/Runner/suites/Kernel/DCVS/Freq_Scaling/Freq_Scaling.yaml new file mode 100644 index 00000000..c9a57f25 --- /dev/null +++ b/Runner/suites/Kernel/DCVS/Freq_Scaling/Freq_Scaling.yaml @@ -0,0 +1,16 @@ +metadata: + name: freq-scaling + format: "Lava-Test Test Definition 1.0" + description: "This test validates the DCVS support and runtime status on Qualcomm platforms with Yocto builds." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/DCVS/Freq_Scaling + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Freq_Scaling.res || true + diff --git a/Runner/suites/Kernel/Scheduler/CPU_affinity/CPU_affinity.yaml b/Runner/suites/Kernel/Scheduler/CPU_affinity/CPU_affinity.yaml new file mode 100644 index 00000000..e19879f9 --- /dev/null +++ b/Runner/suites/Kernel/Scheduler/CPU_affinity/CPU_affinity.yaml @@ -0,0 +1,16 @@ +metadata: + name: cpu-affinity + format: "Lava-Test Test Definition 1.0" + description: "This test validates the Scheduler support and runtime status on Qualcomm platforms with Yocto builds." + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Kernel/Scheduler/CPU_affinity + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh CPU_affinity.res || true + diff --git a/Runner/suites/Multimedia/Audio/AudioPlayback/AudioPlayback.yaml b/Runner/suites/Multimedia/Audio/AudioPlayback/AudioPlayback.yaml new file mode 100644 index 00000000..62e440a4 --- /dev/null +++ b/Runner/suites/Multimedia/Audio/AudioPlayback/AudioPlayback.yaml @@ -0,0 +1,31 @@ +metadata: + name: audio-playback + format: "Lava-Test Test Definition 1.0" + description: "This suite automates the validation of audio playback capabilities on Qualcomm Linux-based platforms running a Yocto-based Linux system. It supports both PipeWire and PulseAudio backends, with robust evidence-based PASS/FAIL logic, asset management, and diagnostic logging." + os: + - linux + scope: + - functional + +params: + AUDIO_BACKEND: "" # Selects backend: pipewire or pulseaudio, default: auto-detect + SINK_CHOICE: "speakers" # Playback sink: speakers or null, default: speakers + FORMATS: "wav" # Audio formats: e.g. wav, default: wav + DURATIONS: "short" # Playback durations: short, medium, long, default: short + LOOPS: 1 # Number of playback loops, default: 1 + TIMEOUT: 0 # Playback timeout per loop (e.g., 15s, 0=none), default: 0 + STRICT: 0 # Enable strict mode (fail on any error), default: 0 + DMESG_SCAN: 1 # Scan dmesg for errors after playback, default: 1 + VERBOSE: 0 # Enable verbose logging, default: 0 + EXTRACT_AUDIO_ASSETS: true # Download/extract audio assets if missing, default: true + SSID: "" # Wi-Fi SSID for network connection, default: unset + PASSWORD: "" # Wi-Fi password for network connection, default: unset + NET_PROBE_ROUTE_IP: "1.1.1.1" # IP used for route probing, default: 1.1.1.1 + NET_PING_HOST: "8.8.8.8" # Host used for ping reachability check, default: 8.8.8.8 + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Audio/AudioPlayback/ + - ./run.sh --backend "${AUDIO_BACKEND}" --sink "${SINK_CHOICE}" --format "${FORMAT}" --durations "${DURATIONS}" --loops "${LOOPS}" --timeout "${TIMEOUT}" --strict "${STRICT}" --ssid "${SSID}" --password "${PASSWORD}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh AudioPlayback.res || true diff --git a/Runner/suites/Multimedia/Audio/AudioRecord/AudioRecord.yaml b/Runner/suites/Multimedia/Audio/AudioRecord/AudioRecord.yaml new file mode 100644 index 00000000..e6d72a43 --- /dev/null +++ b/Runner/suites/Multimedia/Audio/AudioRecord/AudioRecord.yaml @@ -0,0 +1,26 @@ +metadata: + name: audio-record + format: "Lava-Test Test Definition 1.0" + description: "This suite automates the validation of audio recording capabilities on Qualcomm Linux-based platforms running a Yocto-based Linux system. It supports both PipeWire and PulseAudio backends, with robust evidence-based PASS/FAIL logic, asset management, and diagnostic logging." + os: + - linux + scope: + - functional + +params: + AUDIO_BACKEND: "" # Selects backend: pipewire or pulseaudio, default: auto-detect + SOURCE_CHOICE: "mic" # Recording source: mic or null, default: mic + DURATIONS: "short" # Playback durations: short, medium, long, default: short + RECORD_SECONDS: 5 # Number of seconds to record (numeric or mapped), default: 5 + LOOPS: 1 # Number of playback loops, default: 1 + TIMEOUT: 0 # Playback timeout per loop (e.g., 15s, 0=none), default: 0 + STRICT: 0 # Enable strict mode (fail on any error), default: 0 + DMESG_SCAN: 1 # Scan dmesg for errors after playback, default: 1 + VERBOSE: 0 # Enable verbose logging, default: 0 + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Audio/AudioRecord/ + - ./run.sh --backend "${AUDIO_BACKEND}" --source "${SOURCE_CHOICE}" --durations "${DURATIONS}" --record-seconds "${RECORD_SECONDS}" --loops "${LOOPS}" --timeout "${TIMEOUT}" --strict "${STRICT}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh AudioRecord.res || true diff --git a/Runner/suites/Multimedia/CDSP/fastrpc_test/fastrpc_test.yaml b/Runner/suites/Multimedia/CDSP/fastrpc_test/fastrpc_test.yaml new file mode 100644 index 00000000..a9100158 --- /dev/null +++ b/Runner/suites/Multimedia/CDSP/fastrpc_test/fastrpc_test.yaml @@ -0,0 +1,26 @@ +metadata: + name: fastrpc-test + format: "Lava-Test Test Definition 1.0" + description: "The **fastrpc_test** runner validates FastRPC (Fast Remote Procedure Call) on Qualcomm targets, offloading work to DSP domains (e.g., **CDSP**)." + os: + - linux + scope: + - functional + +params: + ARCH: "" # Architecture (only if explicitly provided) + BIN_DIR: "/usr/bin" # Directory containing 'fastrpc_test' (default: /usr/bin) + DOMAIN: "0" # <0|1|2|3> DSP domain: 0=ADSP, 1=MDSP, 2=SDSP, 3=CDSP + DOMAIN_NAME: "adsp" # DSP domain by name: adsp|mdsp|sdsp|cdsp + USER_PD: 0 # Use '-U 1' (user/unsigned PD). Default is '-U 0'. + REPEAT: 1 # Number of repetitions (default: 1) + TIMEOUT: "" # Timeout for each run (no timeout if omitted) + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/CDSP/fastrpc_test + - USER_PD_PARAM="" + - if [ "${USER_PD}" != 0 ]; then USER_PD_PARAM="--user-pd"; fi + - ./run.sh --arch "${ARCH}" --bin-dir "${BIN_DIR}" --domain "${DOMAIN}" --domain-name "${DOMAIN_NAME}" --repeat "${REPEAT}" --timeout "${TIMEOUT}" $USER_PD_PARAM || true + - $REPO_PATH/Runner/utils/send-to-lava.sh fastrpc_test.res || true diff --git a/Runner/suites/Multimedia/Camera/Camera_RDI_FrameCapture/Camera_RDI_FrameCapture.yaml b/Runner/suites/Multimedia/Camera/Camera_RDI_FrameCapture/Camera_RDI_FrameCapture.yaml new file mode 100644 index 00000000..d5d872fc --- /dev/null +++ b/Runner/suites/Multimedia/Camera/Camera_RDI_FrameCapture/Camera_RDI_FrameCapture.yaml @@ -0,0 +1,24 @@ +metadata: + name: camera-rdi-frame-capture + format: "Lava-Test Test Definition 1.0" + description: "This test validates functional camera RDI (Raw Dump Interface) pipelines by: + + - Dynamically detecting all camera pipelines using `media-ctl` + - Parsing valid RDI pipelines with a Python helper script + - Streaming frames using `yavta` from detected working pipelines + - Supporting manual override of video format and frame count" + os: + - linux + scope: + - functional + +params: + FORMAT: "" + FRAMES: "10" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Camera/Camera_RDI_FrameCapture + - ./run.sh --format "${FORMAT}" --frames "${FRAMES}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Camera_RDI_FrameCapture.res || true diff --git a/Runner/suites/Multimedia/Camera/Libcamera_cam/Libcamera_cam.yaml b/Runner/suites/Multimedia/Camera/Libcamera_cam/Libcamera_cam.yaml new file mode 100644 index 00000000..66704067 --- /dev/null +++ b/Runner/suites/Multimedia/Camera/Libcamera_cam/Libcamera_cam.yaml @@ -0,0 +1,30 @@ +metadata: + name: libcamera-cam + format: "Lava-Test Test Definition 1.0" + description: "This repository contains a **POSIX shell** test harness for exercising `libcamera` via its `cam` utility, with robust post‑capture validation and device‑tree (DT) checks. It is designed to run on embedded Linux targets (BusyBox-friendly), including Qualcomm RB platforms." + os: + - linux + scope: + - functional + +params: + + INDEX: "" # Camera index (default: auto from `cam -l`; `all` = run on every camera) + COUNT: 10 # Frames to capture (default: 10) + OUT_DIR: "./cam_out" # Output directory (default: ./cam_out) + SAVE_AS_PPM: "yes" # Save frames as ppm or bin, default: ppm + ARGS: "" # Extra args passed to `cam` + STRICT: "yes" # Enforce strict validation (default) + DUP_MAX_RATIO: 0.5 # Fail if max duplicate bucket/total > R (default: 0.5) + BIN_TOL_PCT: 5 # BIN size tolerance vs bytesused in % (default: 5) + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Camera/Libcamera_cam + - PPM_OPTION="--ppm" + - if [ "${SAVE_AS_PPM}" != "yes" ]; then PPM_OPTION="--bin"; fi + - STRICT_OPTION="--strict" + - if [ "${STRICT}" != "yes" ]; then STRICT_OPTION="--no-strict"; fi + - ./run.sh --index "${INDEX}" --count "${COUNT}" --out "${OUT_DIR}" --dup-max-ratio "${DUP_MAX_RATIO}" --bin-tol-pct "${BIN_TOL_PCT}" "${PPM_OPTION}" "${STRICT_OPTION}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Libcamera_cam.res || true diff --git a/Runner/suites/Multimedia/DSP_AudioPD/DSP_AudioPD.yaml b/Runner/suites/Multimedia/DSP_AudioPD/DSP_AudioPD.yaml new file mode 100644 index 00000000..e92e02f4 --- /dev/null +++ b/Runner/suites/Multimedia/DSP_AudioPD/DSP_AudioPD.yaml @@ -0,0 +1,15 @@ +metadata: + name: dsp-audio-pd + format: "Lava-Test Test Definition 1.0" + description: "Test adsprpcd" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/DSP_AudioPD + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh DSP_AudioPD.res || true diff --git a/Runner/suites/Multimedia/Display/igt-gpu-tools/core_auth/core_auth.yaml b/Runner/suites/Multimedia/Display/igt-gpu-tools/core_auth/core_auth.yaml new file mode 100644 index 00000000..247eda78 --- /dev/null +++ b/Runner/suites/Multimedia/Display/igt-gpu-tools/core_auth/core_auth.yaml @@ -0,0 +1,18 @@ +metadata: + name: core-auth + format: "Lava-Test Test Definition 1.0" + description: "This script automates the validation of authentication mechanisms within the IGT Core framework. It performs a series of tests to ensure that the authentication processes are functioning correctly and securely. The script captures detailed logs and provides a comprehensive summary of the test results with subtest-level analysis." + os: + - linux + scope: + - functional + +params: + CORE_AUTH_PATH: "/usr/libexec/igt-gpu-tools/core_auth" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Display/igt-gpu-tools/core_auth + - ./run.sh --core-auth-path "${CORE_AUTH_PATH}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh core_auth.res || true diff --git a/Runner/suites/Multimedia/Graphics/KMSCube/KMSCube.yaml b/Runner/suites/Multimedia/Graphics/KMSCube/KMSCube.yaml new file mode 100644 index 00000000..a72bb7a4 --- /dev/null +++ b/Runner/suites/Multimedia/Graphics/KMSCube/KMSCube.yaml @@ -0,0 +1,15 @@ +metadata: + name: kmscube + format: "Lava-Test Test Definition 1.0" + description: "Graphics scripts automates the validation of Graphics OpenGL ES 2.0 capabilities on the Qualcomm RB3 Gen2 platform running a Yocto-based Linux system. It utilizes kmscube test app which is publicly available at https://gitlab.freedesktop.org/mesa/kmscube" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Graphics/KMSCube + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh KMSCube.res || true diff --git a/Runner/suites/Multimedia/Graphics/KMSCube/run.sh b/Runner/suites/Multimedia/Graphics/KMSCube/run.sh index 825e4042..c73177ef 100755 --- a/Runner/suites/Multimedia/Graphics/KMSCube/run.sh +++ b/Runner/suites/Multimedia/Graphics/KMSCube/run.sh @@ -77,6 +77,7 @@ log_info "Running kmscube with --count=${FRAME_COUNT} ..." if kmscube --count="${FRAME_COUNT}" >"$LOG_FILE" 2>&1; then :; else rc=$? log_fail "$TESTNAME : Execution failed (rc=$rc) — see $LOG_FILE" + cat "$LOG_FILE" echo "$TESTNAME FAIL" >"$RES_FILE" if [ "$weston_was_running" -eq 1 ]; then log_info "Restarting Weston after failure" diff --git a/Runner/suites/Multimedia/Graphics/weston-simple-egl/weston-simple-egl.yaml b/Runner/suites/Multimedia/Graphics/weston-simple-egl/weston-simple-egl.yaml new file mode 100644 index 00000000..48fea5e6 --- /dev/null +++ b/Runner/suites/Multimedia/Graphics/weston-simple-egl/weston-simple-egl.yaml @@ -0,0 +1,15 @@ +metadata: + name: weston-simple-egl + format: "Lava-Test Test Definition 1.0" + description: "Graphics scripts automates the validation of Graphics OpenGL ES 2.0 capabilities on the Qualcomm RB3 Gen2 platform running a Yocto-based Linux system. It utilizes Weston-Simple-EGL test app which is publicly available at https://github.com/krh/weston" + os: + - linux + scope: + - functional + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Graphics/weston-simple-egl + - ./run.sh || true + - $REPO_PATH/Runner/utils/send-to-lava.sh weston-simple-egl.res || true diff --git a/Runner/suites/Multimedia/OpenCV/OpenCV.yaml b/Runner/suites/Multimedia/OpenCV/OpenCV.yaml new file mode 100644 index 00000000..55a2545e --- /dev/null +++ b/Runner/suites/Multimedia/OpenCV/OpenCV.yaml @@ -0,0 +1,30 @@ +metadata: + name: opencv + format: "Lava-Test Test Definition 1.0" + description: "Basic OpenCV test" + os: + - linux + scope: + - functional + +params: + BIN_PATH: "" # --bin + BUILD_DIR: "." # --build-dir + CWD: "." # --cwd + TESTDATA_PATH: "" # --testdata + EXTRA_ARGS: "" # --args "..." + TIMEOUT_SECS: "" # --timeout N + SUITE: "all" # --suite accuracy|performance|all + LIST_ONLY: 0 # --list + REPEAT: "" # --repeat N + SHUFFLE: 0 # --shuffle + SEED: "" # --seed N + PERF_ARGS: "" # --perf-args "" + PERF_TO_TESTS: 0 # --perf-to-tests (apply PERF_ARGS to opencv_test_* too) + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/OpenCV + - ./run.sh --bin "${BIN_PATH}" --build-dir "${BUILD_DIR}" --cwd "${CWD}" --testdata "${TESTDATA_PATH}" --args "${EXTRA_ARGS}" --timeout "${TIMEOUT_SEC}" --suite "${SUITE}" --list "${LIST_ONLY}" --repeat "${REPEAT}" --shuffle "${SHUFFLE}" --seed "{SEED}" --perf-args "${PERF_ARGS}" --perf-to-test "${PERF_TO_TEST}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh OpenCV.res || true diff --git a/Runner/suites/Multimedia/Video/Video_V4L2_Runner/Video_V4L2_Runner.yaml b/Runner/suites/Multimedia/Video/Video_V4L2_Runner/Video_V4L2_Runner.yaml new file mode 100644 index 00000000..3a9d7aaa --- /dev/null +++ b/Runner/suites/Multimedia/Video/Video_V4L2_Runner/Video_V4L2_Runner.yaml @@ -0,0 +1,26 @@ +metadata: + name: video-v4l2-runner + format: "Lava-Test Test Definition 1.0" + description: "These scripts automate validation of video **encoding** and **decoding** on Qualcomm Linux platforms running a Yocto-based rootfs." + os: + - linux + scope: + - functional + +params: + # path to iris_v4l2_test binary + APP_PATH: "/usr/bin/iris_v4l2_test" + # specific config can be selected. Available: h264Decoder.json, h264Encoder.json, h265Decoder.json, h265Encoder.json, vp9Decoder.json. Default is to use all of them + CONFIG_PATH: "./" + # platform is autodetected by the test script + PLATFORM: "" + LOGLEVEL: 15 + RETRY_ON_FAIL: 5 + POST_TEST_SLEEP: 10 + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Multimedia/Video/Video_V4L2_Runner/ + - ./run.sh --app "${APP_PATH}" --config "${CONFIG_PATH}" --platform "${PLATFORM}" --loglevel "${LOGLEVEL}" --retry-on-fail "${RETRY_ON_FAIL}" --post-test-sleep "${POST_TEST_SLEEP}" || true + - $REPO_PATH/Runner/utils/send-to-lava.sh Video_V4L2_Runner.res || true diff --git a/Runner/suites/Performance/resource-tuner/resource-tuner.yaml b/Runner/suites/Performance/resource-tuner/resource-tuner.yaml new file mode 100644 index 00000000..93ea92ca --- /dev/null +++ b/Runner/suites/Performance/resource-tuner/resource-tuner.yaml @@ -0,0 +1,21 @@ +metadata: + name: resource-tuner + format: "Lava-Test Test Definition 1.0" + description: "A pinned **whitelist** test runner for `resource-tuner` that produces per-suite logs and an overall gating result for CI." + os: + - linux + scope: + - functional + +params: + BIN_NAME: "" + TIMEOUT: "1200" + +run: + steps: + - REPO_PATH=$PWD + - cd Runner/suites/Performance/resource-tuner + - RUN_OPTIONS="--all" + - if [ -n "${BIN_NAME}" ]; then RUN_OPTIONS="--bin ${BIN_NAME}"; fi + - ./run.sh --timeout "${TIMEOUT}" ${RUN_OPTIONS} || true + - $REPO_PATH/Runner/utils/send-to-lava.sh resource-tuner.res || true