#!/bin/sh ptestdir=$(dirname "$(readlink -f "$0")") cd $ptestdir/tests export GPIODBUS_TEST_DAEMON_PATH="$ptestdir/tests/gpio-manager" export PATH="$ptestdir/tests/:$PATH" # libgpiod v2 uses gpio-sim - a configfs-based testing module. We need to # make sure configfs is mounted before running any tests. modprobe configfs mountpoint /sys/kernel/config > /dev/null || mount -t configfs configfs /sys/kernel/config # Make sure the daemon is not running during tests. systemctl stop gpio-manager 2> /dev/null > /dev/null service gpio-manager stop 2> /dev/null > /dev/null run_one_test() { testbin="$1" ./$testbin > ./$testbin.out 2>&1 if [ $? -ne 0 ]; then echo "FAIL: $testbin" else echo "PASS: $testbin" fi } run_one_test gpiod-test run_one_test gpio-tools-test.bash run_one_test gpiod-cxx-test run_one_test gpiod-glib-test # Wait for the leftover uevents to be emitted before running DBus tests. udevadm settle run_one_test gpiodbus-test udevadm settle gpio-manager 2> /dev/null > /dev/null & GPIO_MANAGER_PID=$! run_one_test gpiocli-test.bash kill $GPIO_MANAGER_PID wait $GPIO_MANAGER_PID