labfy-rgb/tests/cli.sh
2026-11-09 19:01:00 +01:00

37 lines
892 B
Bash
Executable file

#!/bin/sh
# Only invalid input/help/dry-run reach the real CLI: never open hardware.
set -eu
cli=$1
check() {
expected=$1
shift
actual=0
"$cli" "$@" >/dev/null 2>&1 || actual=$?
if [ "$actual" -ne "$expected" ]; then
echo "Expected $expected got $actual for $*" >&2
exit 1
fi
}
check 0 --help
check 2
check 2 unknown
check 2 set '#GG0000'
check 2 set '#fff'
check 2 set
check 2 set '#000000' extra
check 2 brightness -1
check 2 brightness 101
check 2 brightness 99999999999999999999999999
check 2 auto extra
check 0 --dry-run set '#B4BEFE'
check 0 --dry-run set '#FF0000'
check 0 --dry-run set '#00FF00'
check 0 --dry-run set '#0000FF'
check 0 --dry-run brightness 60
check 0 --dry-run brightness 0
check 0 --dry-run brightness 100
check 0 --dry-run off
check 0 --dry-run auto
check 0 --dry-run probe
check 0 --dry-run status
check 2 --dry-run set bad