#!/usr/bin/env bash # LED tests # # Copyright (C) 2012-2018 Nirenjan Krishnan (nirenjan@nirenjan.org) # # SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0 source $(dirname $0)/../common_infra.sh TEST_SUITE_ID="libx52 LED state tests" mono_led_test() { local led_ident=$(echo $1 | tr a-z A-Z) local led_state=$2 local state=$(echo "\$X52_LED_${led_ident}_${led_state}" | tr a-z A-Z) local TEST_ID="Test setting the $led_ident button $led_state" expect_pattern $X52_LED_COMMAND_INDEX $(eval echo $state) $X52CLI led $led_ident $led_state verify_output } color_led_test() { local led_ident=$(echo $1 | tr a-z A-Z) local led_color=$(echo $2 | tr A-Z a-z) local led_r_state=off local led_g_state=off local TEST_ID="Test setting the $led_ident button to $led_color" case $led_color in 'red') led_r_state=on ;; 'green') led_g_state=on ;; 'amber') led_r_state=on led_g_state=on ;; 'off') ;; *) echo "ERROR: Unknown ident" >&2 exit $EXIT_HARD_ERROR ;; esac led_r_state=$(echo "\$X52_LED_${led_ident}_red_${led_r_state}" | tr a-z A-Z) led_g_state=$(echo "\$X52_LED_${led_ident}_green_${led_g_state}" | tr a-z A-Z) expect_pattern \ $X52_LED_COMMAND_INDEX $(eval echo $led_r_state) \ $X52_LED_COMMAND_INDEX $(eval echo $led_g_state) $X52CLI led $led_ident $led_color verify_output } # Run Mono-color LED tests for led in fire throttle do for state in on off do mono_led_test $led $state done done # Run multi-color LED tests for led in a b d e t1 t2 t3 pov clutch do for color in off red amber green do color_led_test $led $color done done verify_test_suite