From e463d9b8909e510f7d4f35c575028e32cead3923 Mon Sep 17 00:00:00 2001 From: nirenjan Date: Thu, 27 Jul 2017 20:00:35 -0700 Subject: [PATCH] Add tests framework and LED tests --- Makefile.am | 2 +- configure.ac | 1 + tests/Makefile.am | 48 +++++++++++++ tests/common_infra.sh | 127 +++++++++++++++++++++++++++++++++ tests/make_tests.sh | 106 +++++++++++++++++++++++++++ tests/test_led_a_amber.sh | 12 ++++ tests/test_led_a_green.sh | 12 ++++ tests/test_led_a_off.sh | 12 ++++ tests/test_led_a_red.sh | 12 ++++ tests/test_led_b_amber.sh | 12 ++++ tests/test_led_b_green.sh | 12 ++++ tests/test_led_b_off.sh | 12 ++++ tests/test_led_b_red.sh | 12 ++++ tests/test_led_clutch_amber.sh | 12 ++++ tests/test_led_clutch_green.sh | 12 ++++ tests/test_led_clutch_off.sh | 12 ++++ tests/test_led_clutch_red.sh | 12 ++++ tests/test_led_d_amber.sh | 12 ++++ tests/test_led_d_green.sh | 12 ++++ tests/test_led_d_off.sh | 12 ++++ tests/test_led_d_red.sh | 12 ++++ tests/test_led_e_amber.sh | 12 ++++ tests/test_led_e_green.sh | 12 ++++ tests/test_led_e_off.sh | 12 ++++ tests/test_led_e_red.sh | 12 ++++ tests/test_led_fire_off.sh | 11 +++ tests/test_led_fire_on.sh | 11 +++ tests/test_led_pov_amber.sh | 12 ++++ tests/test_led_pov_green.sh | 12 ++++ tests/test_led_pov_off.sh | 12 ++++ tests/test_led_pov_red.sh | 12 ++++ tests/test_led_t1_amber.sh | 12 ++++ tests/test_led_t1_green.sh | 12 ++++ tests/test_led_t1_off.sh | 12 ++++ tests/test_led_t1_red.sh | 12 ++++ tests/test_led_t2_amber.sh | 12 ++++ tests/test_led_t2_green.sh | 12 ++++ tests/test_led_t2_off.sh | 12 ++++ tests/test_led_t2_red.sh | 12 ++++ tests/test_led_t3_amber.sh | 12 ++++ tests/test_led_t3_green.sh | 12 ++++ tests/test_led_t3_off.sh | 12 ++++ tests/test_led_t3_red.sh | 12 ++++ tests/test_led_throttle_off.sh | 11 +++ tests/test_led_throttle_on.sh | 11 +++ tests/test_skip.sh | 6 ++ 46 files changed, 765 insertions(+), 1 deletion(-) create mode 100644 tests/Makefile.am create mode 100644 tests/common_infra.sh create mode 100755 tests/make_tests.sh create mode 100644 tests/test_led_a_amber.sh create mode 100644 tests/test_led_a_green.sh create mode 100644 tests/test_led_a_off.sh create mode 100644 tests/test_led_a_red.sh create mode 100644 tests/test_led_b_amber.sh create mode 100644 tests/test_led_b_green.sh create mode 100644 tests/test_led_b_off.sh create mode 100644 tests/test_led_b_red.sh create mode 100644 tests/test_led_clutch_amber.sh create mode 100644 tests/test_led_clutch_green.sh create mode 100644 tests/test_led_clutch_off.sh create mode 100644 tests/test_led_clutch_red.sh create mode 100644 tests/test_led_d_amber.sh create mode 100644 tests/test_led_d_green.sh create mode 100644 tests/test_led_d_off.sh create mode 100644 tests/test_led_d_red.sh create mode 100644 tests/test_led_e_amber.sh create mode 100644 tests/test_led_e_green.sh create mode 100644 tests/test_led_e_off.sh create mode 100644 tests/test_led_e_red.sh create mode 100644 tests/test_led_fire_off.sh create mode 100644 tests/test_led_fire_on.sh create mode 100644 tests/test_led_pov_amber.sh create mode 100644 tests/test_led_pov_green.sh create mode 100644 tests/test_led_pov_off.sh create mode 100644 tests/test_led_pov_red.sh create mode 100644 tests/test_led_t1_amber.sh create mode 100644 tests/test_led_t1_green.sh create mode 100644 tests/test_led_t1_off.sh create mode 100644 tests/test_led_t1_red.sh create mode 100644 tests/test_led_t2_amber.sh create mode 100644 tests/test_led_t2_green.sh create mode 100644 tests/test_led_t2_off.sh create mode 100644 tests/test_led_t2_red.sh create mode 100644 tests/test_led_t3_amber.sh create mode 100644 tests/test_led_t3_green.sh create mode 100644 tests/test_led_t3_off.sh create mode 100644 tests/test_led_t3_red.sh create mode 100644 tests/test_led_throttle_off.sh create mode 100644 tests/test_led_throttle_on.sh create mode 100644 tests/test_skip.sh diff --git a/Makefile.am b/Makefile.am index 57e88bd..c362fcd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = lib utils +SUBDIRS = lib utils tests # Extra files that need to be in the distribution EXTRA_DIST = README.md LICENSE diff --git a/configure.ac b/configure.ac index 0c9df83..083059e 100644 --- a/configure.ac +++ b/configure.ac @@ -35,5 +35,6 @@ AC_CONFIG_FILES([ utils/Makefile utils/cli/Makefile utils/test/Makefile + tests/Makefile ]) AC_OUTPUT diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..08a5cd1 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,48 @@ + +TEST_EXTENSIONS = .sh +SH_LOG_COMPILER = $(SHELL) +AM_SH_LOG_FLAGS = + +TESTS = \ + test_led_fire_off.sh \ + test_led_fire_on.sh \ + test_led_throttle_off.sh \ + test_led_throttle_on.sh \ + test_led_a_off.sh \ + test_led_a_red.sh \ + test_led_a_amber.sh \ + test_led_a_green.sh \ + test_led_b_off.sh \ + test_led_b_red.sh \ + test_led_b_amber.sh \ + test_led_b_green.sh \ + test_led_d_off.sh \ + test_led_d_red.sh \ + test_led_d_amber.sh \ + test_led_d_green.sh \ + test_led_e_off.sh \ + test_led_e_red.sh \ + test_led_e_amber.sh \ + test_led_e_green.sh \ + test_led_t1_off.sh \ + test_led_t1_red.sh \ + test_led_t1_amber.sh \ + test_led_t1_green.sh \ + test_led_t2_off.sh \ + test_led_t2_red.sh \ + test_led_t2_amber.sh \ + test_led_t2_green.sh \ + test_led_t3_off.sh \ + test_led_t3_red.sh \ + test_led_t3_amber.sh \ + test_led_t3_green.sh \ + test_led_pov_off.sh \ + test_led_pov_red.sh \ + test_led_pov_amber.sh \ + test_led_pov_green.sh \ + test_led_clutch_off.sh \ + test_led_clutch_red.sh \ + test_led_clutch_amber.sh \ + test_led_clutch_green.sh \ + test_skip.sh + diff --git a/tests/common_infra.sh b/tests/common_infra.sh new file mode 100644 index 0000000..99d3754 --- /dev/null +++ b/tests/common_infra.sh @@ -0,0 +1,127 @@ +#!/bin/bash +# Common infrastructure for the test cases + +# Set up exit status codes +EXIT_SUCCESS=0 +EXIT_SKIP=77 +EXIT_HARD_ERROR=99 +EXIT_FAILURE=1 + +# Set up some command sequences +X52_LED_COMMAND_INDEX=00b8 +X52_LED_FIRE_ON=0101 +X52_LED_FIRE_OFF=0100 +X52_LED_A_RED_ON=0201 +X52_LED_A_RED_OFF=0200 +X52_LED_A_GREEN_ON=0301 +X52_LED_A_GREEN_OFF=0300 +X52_LED_B_RED_ON=0401 +X52_LED_B_RED_OFF=0400 +X52_LED_B_GREEN_ON=0501 +X52_LED_B_GREEN_OFF=0500 +X52_LED_D_RED_ON=0601 +X52_LED_D_RED_OFF=0600 +X52_LED_D_GREEN_ON=0701 +X52_LED_D_GREEN_OFF=0700 +X52_LED_E_RED_ON=0801 +X52_LED_E_RED_OFF=0800 +X52_LED_E_GREEN_ON=0901 +X52_LED_E_GREEN_OFF=0900 +X52_LED_T1_RED_ON=0a01 +X52_LED_T1_RED_OFF=0a00 +X52_LED_T1_GREEN_ON=0b01 +X52_LED_T1_GREEN_OFF=0b00 +X52_LED_T2_RED_ON=0c01 +X52_LED_T2_RED_OFF=0c00 +X52_LED_T2_GREEN_ON=0d01 +X52_LED_T2_GREEN_OFF=0d00 +X52_LED_T3_RED_ON=0e01 +X52_LED_T3_RED_OFF=0e00 +X52_LED_T3_GREEN_ON=0f01 +X52_LED_T3_GREEN_OFF=0f00 +X52_LED_POV_RED_ON=1001 +X52_LED_POV_RED_OFF=1000 +X52_LED_POV_GREEN_ON=1101 +X52_LED_POV_GREEN_OFF=1100 +X52_LED_CLUTCH_RED_ON=1201 +X52_LED_CLUTCH_RED_OFF=1200 +X52_LED_CLUTCH_GREEN_ON=1301 +X52_LED_CLUTCH_GREEN_OFF=1300 +X52_LED_THROTTLE_ON=1401 +X52_LED_THROTTLE_OFF=1400 + +find_programs() +{ + # Find the X52cli script + X52CLI=$(find .. -path '*/cli/x52cli' -executable) + + if [[ -z "$X52CLI" ]] + then + exit $EXIT_HARD_ERROR + fi + + # Find the x52test_log_actions program + X52LOGACT=$(find .. -path '*/libusbx52/x52test_log_actions' -executable) + if [[ -z "$X52LOGACT" ]] + then + exit $EXIT_HARD_ERROR + fi + + # Find the x52test_create_device_list program + X52DEVLIST=$(find .. -path '*/libusbx52/x52test_create_device_list' -executable) + if [[ -z "$X52DEVLIST" ]] + then + exit $EXIT_HARD_ERROR + fi +} + +setup_preload() +{ + # Find the libusb stub library + LIBUSB=$(find .. -name 'libusbx52.so.*.*.*' -type f) + + if [[ -z "$LIBUSB" ]] + then + exit $EXIT_HARD_ERROR + fi + + export LD_PRELOAD=$(realpath $LIBUSB) +} + +setup_test() +{ + EXPECTED_OUTPUT=$(mktemp) + trap "rm -f $EXPECTED_OUTPUT /tmp/libusbx52*" EXIT + + $X52DEVLIST 06a3 0762 +} + +expect_pattern() +{ + local msg="libusb_control_transfer: RqType: 40 bRequest: 91" + msg="$msg wValue: $2 wIndex: $1 timeout: 5000" + echo "$msg" >> $EXPECTED_OUTPUT +} + +verify_output() +{ + if diff -q $EXPECTED_OUTPUT /tmp/libusbx52_output_data + then + exit $EXIT_SUCCESS + else + echo 'Expected:' + echo '=========' + sed 's/^/\t/' $EXPECTED_OUTPUT + echo + echo 'Observed:' + echo '=========' + sed 's/^/\t/' /tmp/libusbx52_output_data + exit $EXIT_FAILURE + fi +} + +set -e +find_programs +setup_test +setup_preload + diff --git a/tests/make_tests.sh b/tests/make_tests.sh new file mode 100755 index 0000000..9fa484c --- /dev/null +++ b/tests/make_tests.sh @@ -0,0 +1,106 @@ +#!/bin/bash +# Script to generate the test scripts +# Most of the test cases are extremely similar, but they do need to be created +# and saved in the repository so that the automake infrastructure can pick them +# up. + +_mono_led_template() +{ + local led_ident=$(echo $1 | tr a-z A-Z) + local led_color=$2 + local state=$(echo "\$X52_LED_${led_ident}_${led_color}" | tr a-z A-Z) +cat << EOF +#!/bin/bash +# Test setting the $led_ident button $led_color + +source \$(dirname \$0)/common_infra.sh + +expect_pattern \$X52_LED_COMMAND_INDEX $state + +\$X52CLI led $led_ident $led_color + +verify_output + +EOF +} + +_color_led_template() +{ + local led_ident=$(echo $1 | tr a-z A-Z) + local led_color=$2 + local led_r_state=off + local led_g_state=off + + case $led_color in + "red") + led_r_state=on + ;; + "green") + led_g_state=on + ;; + "amber") + led_r_state=on + led_g_state=on + ;; + 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) + +cat << EOF +#!/bin/bash +# Test setting the $led_ident button to $led_color + +source \$(dirname \$0)/common_infra.sh + +expect_pattern \$X52_LED_COMMAND_INDEX $led_r_state +expect_pattern \$X52_LED_COMMAND_INDEX $led_g_state + +\$X52CLI led $led_ident $led_color + +verify_output + +EOF +} + +make_led_tests() +{ + # Make the mono-color LED tests + for led in fire throttle + do + for state in off on + do + filename=test_led_${led}_${state}.sh + _mono_led_template $led $state > $filename + echo -e "\t$filename \\" >> Makefile.am + done + done + + # Make the multi-color LED tests + for led in a b d e t1 t2 t3 pov clutch + do + for state in off red amber green + do + filename=test_led_${led}_${state}.sh + _color_led_template $led $state > test_led_${led}_${state}.sh + echo -e "\t$filename \\" >> Makefile.am + done + done +} + +clear_tests() +{ + # Delete the tests from Makefile.am + sed -i '/^TESTS /,$d' Makefile.am + echo "TESTS = \\" >> Makefile.am +} + +finalize_tests() +{ + # Put the last line to close the tests list + echo -e "\ttest_skip.sh\n" >> Makefile.am +} + +clear_tests +make_led_tests +finalize_tests diff --git a/tests/test_led_a_amber.sh b/tests/test_led_a_amber.sh new file mode 100644 index 0000000..a5ecbf8 --- /dev/null +++ b/tests/test_led_a_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the A button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_GREEN_ON + +$X52CLI led A amber + +verify_output + diff --git a/tests/test_led_a_green.sh b/tests/test_led_a_green.sh new file mode 100644 index 0000000..fb775d0 --- /dev/null +++ b/tests/test_led_a_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the A button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_GREEN_ON + +$X52CLI led A green + +verify_output + diff --git a/tests/test_led_a_off.sh b/tests/test_led_a_off.sh new file mode 100644 index 0000000..28e9194 --- /dev/null +++ b/tests/test_led_a_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the A button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_GREEN_OFF + +$X52CLI led A off + +verify_output + diff --git a/tests/test_led_a_red.sh b/tests/test_led_a_red.sh new file mode 100644 index 0000000..3f85b34 --- /dev/null +++ b/tests/test_led_a_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the A button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_A_GREEN_OFF + +$X52CLI led A red + +verify_output + diff --git a/tests/test_led_b_amber.sh b/tests/test_led_b_amber.sh new file mode 100644 index 0000000..87ab013 --- /dev/null +++ b/tests/test_led_b_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the B button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_GREEN_ON + +$X52CLI led B amber + +verify_output + diff --git a/tests/test_led_b_green.sh b/tests/test_led_b_green.sh new file mode 100644 index 0000000..2580466 --- /dev/null +++ b/tests/test_led_b_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the B button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_GREEN_ON + +$X52CLI led B green + +verify_output + diff --git a/tests/test_led_b_off.sh b/tests/test_led_b_off.sh new file mode 100644 index 0000000..352b4d9 --- /dev/null +++ b/tests/test_led_b_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the B button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_GREEN_OFF + +$X52CLI led B off + +verify_output + diff --git a/tests/test_led_b_red.sh b/tests/test_led_b_red.sh new file mode 100644 index 0000000..461791b --- /dev/null +++ b/tests/test_led_b_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the B button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_B_GREEN_OFF + +$X52CLI led B red + +verify_output + diff --git a/tests/test_led_clutch_amber.sh b/tests/test_led_clutch_amber.sh new file mode 100644 index 0000000..13fc16a --- /dev/null +++ b/tests/test_led_clutch_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the CLUTCH button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_GREEN_ON + +$X52CLI led CLUTCH amber + +verify_output + diff --git a/tests/test_led_clutch_green.sh b/tests/test_led_clutch_green.sh new file mode 100644 index 0000000..05c8d69 --- /dev/null +++ b/tests/test_led_clutch_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the CLUTCH button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_GREEN_ON + +$X52CLI led CLUTCH green + +verify_output + diff --git a/tests/test_led_clutch_off.sh b/tests/test_led_clutch_off.sh new file mode 100644 index 0000000..8652914 --- /dev/null +++ b/tests/test_led_clutch_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the CLUTCH button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_GREEN_OFF + +$X52CLI led CLUTCH off + +verify_output + diff --git a/tests/test_led_clutch_red.sh b/tests/test_led_clutch_red.sh new file mode 100644 index 0000000..c496c5f --- /dev/null +++ b/tests/test_led_clutch_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the CLUTCH button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_CLUTCH_GREEN_OFF + +$X52CLI led CLUTCH red + +verify_output + diff --git a/tests/test_led_d_amber.sh b/tests/test_led_d_amber.sh new file mode 100644 index 0000000..1ec1d17 --- /dev/null +++ b/tests/test_led_d_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the D button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_GREEN_ON + +$X52CLI led D amber + +verify_output + diff --git a/tests/test_led_d_green.sh b/tests/test_led_d_green.sh new file mode 100644 index 0000000..43439db --- /dev/null +++ b/tests/test_led_d_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the D button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_GREEN_ON + +$X52CLI led D green + +verify_output + diff --git a/tests/test_led_d_off.sh b/tests/test_led_d_off.sh new file mode 100644 index 0000000..ba81a5e --- /dev/null +++ b/tests/test_led_d_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the D button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_GREEN_OFF + +$X52CLI led D off + +verify_output + diff --git a/tests/test_led_d_red.sh b/tests/test_led_d_red.sh new file mode 100644 index 0000000..5f1ca06 --- /dev/null +++ b/tests/test_led_d_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the D button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_D_GREEN_OFF + +$X52CLI led D red + +verify_output + diff --git a/tests/test_led_e_amber.sh b/tests/test_led_e_amber.sh new file mode 100644 index 0000000..a25e655 --- /dev/null +++ b/tests/test_led_e_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the E button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_GREEN_ON + +$X52CLI led E amber + +verify_output + diff --git a/tests/test_led_e_green.sh b/tests/test_led_e_green.sh new file mode 100644 index 0000000..763a78b --- /dev/null +++ b/tests/test_led_e_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the E button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_GREEN_ON + +$X52CLI led E green + +verify_output + diff --git a/tests/test_led_e_off.sh b/tests/test_led_e_off.sh new file mode 100644 index 0000000..36fd67c --- /dev/null +++ b/tests/test_led_e_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the E button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_GREEN_OFF + +$X52CLI led E off + +verify_output + diff --git a/tests/test_led_e_red.sh b/tests/test_led_e_red.sh new file mode 100644 index 0000000..c6c12c2 --- /dev/null +++ b/tests/test_led_e_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the E button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_E_GREEN_OFF + +$X52CLI led E red + +verify_output + diff --git a/tests/test_led_fire_off.sh b/tests/test_led_fire_off.sh new file mode 100644 index 0000000..32e6046 --- /dev/null +++ b/tests/test_led_fire_off.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Test setting the FIRE button off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_FIRE_OFF + +$X52CLI led FIRE off + +verify_output + diff --git a/tests/test_led_fire_on.sh b/tests/test_led_fire_on.sh new file mode 100644 index 0000000..a4b0cd4 --- /dev/null +++ b/tests/test_led_fire_on.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Test setting the FIRE button on + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_FIRE_ON + +$X52CLI led FIRE on + +verify_output + diff --git a/tests/test_led_pov_amber.sh b/tests/test_led_pov_amber.sh new file mode 100644 index 0000000..fe58c24 --- /dev/null +++ b/tests/test_led_pov_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the POV button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_GREEN_ON + +$X52CLI led POV amber + +verify_output + diff --git a/tests/test_led_pov_green.sh b/tests/test_led_pov_green.sh new file mode 100644 index 0000000..74fb9c0 --- /dev/null +++ b/tests/test_led_pov_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the POV button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_GREEN_ON + +$X52CLI led POV green + +verify_output + diff --git a/tests/test_led_pov_off.sh b/tests/test_led_pov_off.sh new file mode 100644 index 0000000..cad3b5f --- /dev/null +++ b/tests/test_led_pov_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the POV button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_GREEN_OFF + +$X52CLI led POV off + +verify_output + diff --git a/tests/test_led_pov_red.sh b/tests/test_led_pov_red.sh new file mode 100644 index 0000000..01bf7f1 --- /dev/null +++ b/tests/test_led_pov_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the POV button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_POV_GREEN_OFF + +$X52CLI led POV red + +verify_output + diff --git a/tests/test_led_t1_amber.sh b/tests/test_led_t1_amber.sh new file mode 100644 index 0000000..c9906e1 --- /dev/null +++ b/tests/test_led_t1_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T1 button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_GREEN_ON + +$X52CLI led T1 amber + +verify_output + diff --git a/tests/test_led_t1_green.sh b/tests/test_led_t1_green.sh new file mode 100644 index 0000000..bf17414 --- /dev/null +++ b/tests/test_led_t1_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T1 button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_GREEN_ON + +$X52CLI led T1 green + +verify_output + diff --git a/tests/test_led_t1_off.sh b/tests/test_led_t1_off.sh new file mode 100644 index 0000000..225bef1 --- /dev/null +++ b/tests/test_led_t1_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T1 button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_GREEN_OFF + +$X52CLI led T1 off + +verify_output + diff --git a/tests/test_led_t1_red.sh b/tests/test_led_t1_red.sh new file mode 100644 index 0000000..64fe574 --- /dev/null +++ b/tests/test_led_t1_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T1 button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T1_GREEN_OFF + +$X52CLI led T1 red + +verify_output + diff --git a/tests/test_led_t2_amber.sh b/tests/test_led_t2_amber.sh new file mode 100644 index 0000000..6c4c0ff --- /dev/null +++ b/tests/test_led_t2_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T2 button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_GREEN_ON + +$X52CLI led T2 amber + +verify_output + diff --git a/tests/test_led_t2_green.sh b/tests/test_led_t2_green.sh new file mode 100644 index 0000000..f25f592 --- /dev/null +++ b/tests/test_led_t2_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T2 button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_GREEN_ON + +$X52CLI led T2 green + +verify_output + diff --git a/tests/test_led_t2_off.sh b/tests/test_led_t2_off.sh new file mode 100644 index 0000000..d27f245 --- /dev/null +++ b/tests/test_led_t2_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T2 button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_GREEN_OFF + +$X52CLI led T2 off + +verify_output + diff --git a/tests/test_led_t2_red.sh b/tests/test_led_t2_red.sh new file mode 100644 index 0000000..1ad6755 --- /dev/null +++ b/tests/test_led_t2_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T2 button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T2_GREEN_OFF + +$X52CLI led T2 red + +verify_output + diff --git a/tests/test_led_t3_amber.sh b/tests/test_led_t3_amber.sh new file mode 100644 index 0000000..63656e1 --- /dev/null +++ b/tests/test_led_t3_amber.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T3 button to amber + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_GREEN_ON + +$X52CLI led T3 amber + +verify_output + diff --git a/tests/test_led_t3_green.sh b/tests/test_led_t3_green.sh new file mode 100644 index 0000000..05c9255 --- /dev/null +++ b/tests/test_led_t3_green.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T3 button to green + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_GREEN_ON + +$X52CLI led T3 green + +verify_output + diff --git a/tests/test_led_t3_off.sh b/tests/test_led_t3_off.sh new file mode 100644 index 0000000..9825e86 --- /dev/null +++ b/tests/test_led_t3_off.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T3 button to off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_RED_OFF +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_GREEN_OFF + +$X52CLI led T3 off + +verify_output + diff --git a/tests/test_led_t3_red.sh b/tests/test_led_t3_red.sh new file mode 100644 index 0000000..8d74bdb --- /dev/null +++ b/tests/test_led_t3_red.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Test setting the T3 button to red + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_RED_ON +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_T3_GREEN_OFF + +$X52CLI led T3 red + +verify_output + diff --git a/tests/test_led_throttle_off.sh b/tests/test_led_throttle_off.sh new file mode 100644 index 0000000..be11458 --- /dev/null +++ b/tests/test_led_throttle_off.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Test setting the THROTTLE button off + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_THROTTLE_OFF + +$X52CLI led THROTTLE off + +verify_output + diff --git a/tests/test_led_throttle_on.sh b/tests/test_led_throttle_on.sh new file mode 100644 index 0000000..afc630a --- /dev/null +++ b/tests/test_led_throttle_on.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Test setting the THROTTLE button on + +source $(dirname $0)/common_infra.sh + +expect_pattern $X52_LED_COMMAND_INDEX $X52_LED_THROTTLE_ON + +$X52CLI led THROTTLE on + +verify_output + diff --git a/tests/test_skip.sh b/tests/test_skip.sh new file mode 100644 index 0000000..f0e8497 --- /dev/null +++ b/tests/test_skip.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Test the LED Fire button + +source $(dirname $0)/common_infra.sh + +exit $EXIT_SKIP