meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/files/run-ptest
Gyorgy Sarvari f3862b7441
wireplumber: add ptest support
Execution takes <10s.

Sample output:

root@qemux86-64:~# ptest-runner
START: ptest-runner
2025-12-24T19:17
BEGIN: /usr/lib/wireplumber/ptest
PASS: ./wp/test-spa-json
PASS: ./wp/test-spa-pod
PASS: ./wp/test-spa-type
PASS: ./wp/test-properties
PASS: ./wp/test-core
PASS: ./wp/test-session-item
PASS: ./wp/test-json-utils
PASS: ./wp/test-events
PASS: ./wp/test-conf
PASS: ./wp/test-transition
PASS: ./wp/test-object-interest
PASS: ./wp/test-metadata
PASS: ./wp/test-object-manager
PASS: ./wp/test-factory
PASS: ./wp/test-settings
PASS: ./wp/test-proxy
PASS: ./wp/test-state
PASS: ./wp/test-component-loader
PASS: 00-test-linking-non-default-device-node.lua
PASS: 01-test-linking-non-default-device-node-capture.lua
PASS: 02-test-linking-default-device-node.lua
PASS: 03-test-linking-default-device-node-capture.lua
PASS: 04-test-linking-defined-device-node-target-object-string.lua
PASS: 05-test-linking-defined-device-node-target-object-int.lua
PASS: 06-test-linking-defined-device-node-target-object-name.lua
PASS: 07-test-linking-defined-device-node-target-object-string-capture.lua
PASS: 08-test-linking-defined-device-node-target-object-int-capture.lua
PASS: 09-test-linking-defined-device-node-target-object-name-capture.lua
PASS: 10-test-linking-defined-device-node-node-target.lua
PASS: 11-test-linking-defined-device-node-node-target-capture.lua
PASS: 12-test-linking-defined-device-node-target-node-metadata.lua
PASS: 13-test-linking-defined-device-node-target-node-metadata-capture.lua
PASS: 14-test-linking-defined-device-node-target-object-metadata.lua
PASS: 15-test-linking-defined-device-node-target-object-metadata-capture.lua
PASS: 16-test-linking-defined-device-node-target-object-int-metadata.lua
PASS: 17-test-linking-defined-device-node-target-object-int-metadata-capture.lua
PASS: 00-test-default-nodes-initial-metadata-update.lua
/usr/lib/wireplumber/ptest
PASS: pod.lua
PASS: json.lua
PASS: json-utils.lua
PASS: monitor-rules.lua
PASS: require.lua
PASS: async-activation.lua
PASS: settings.lua
PASS: event-hooks.lua
PASS: properties.lua
/usr/lib/wireplumber/ptest
PASS: ./wplua/test-wplua
PASS: ./modules/test-file-monitor
PASS: ./modules/test-si-node
PASS: ./modules/test-si-standard-link
PASS: ./modules/test-dbus-connection
PASS: ./modules/test-si-audio-adapter
PASS: ./modules/test-reserve-device
DURATION: 1
END: /usr/lib/wireplumber/ptest
2025-12-24T19:17
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-12-24 13:19:13 -08:00

56 lines
1.1 KiB
Bash

#!/bin/sh
RET=0
export HOME=/invalid
export XDG_RUNTIME_DIR=/invalid
export PIPEWIRE_RUNTIME_DIR=/tmp
export XDG_CONFIG_HOME=$(pwd)/.config
export XDG_STATE_HOME=$(pwd)/.local/state
export FILE_MONITOR_DIR=$(pwd)/.local/file_monitor
export WIREPLUMBER_MODULE_DIR=/usr/lib/wireplumber-0.5
export G_TEST_SRCDIR=/usr/lib/wireplumber/ptest/data
run_scripted_test(){
test_dir=$(dirname $1)
cd $test_dir
while read line; do
arg1=$(echo $line | cut -f1 -d" ")
arg2=$(echo $line | cut -f2 -d" ")
if ./script-tester $arg1 scripts/$arg2 > $arg2.out 2>&1; then
echo PASS: $arg2
else
echo FAIL: $arg2
RET=1
fi
done < ./ptest-list
cd -
}
run_regular_test(){
if ./$1 > $1.out 2>&1; then
echo PASS: $1
else
echo FAIL: $1
RET=1
fi
}
run_test(){
case $1 in
*run-ptest)
;;
*script-tester)
run_scripted_test $1
;;
*)
run_regular_test $1
;;
esac
}
for t in $(find . -type f -executable); do
run_test $t
done
exit $RET