light-heart-labs--ods
45 行
1.1 KiB
Bash
45 行
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
# shellcheck disable=SC1091
|
|
source "${SCRIPT_DIR}/scripts/ap-mode.sh"
|
|
|
|
fail() {
|
|
printf 'FAIL: %s\n' "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
assert_eq() {
|
|
local actual="$1"
|
|
local expected="$2"
|
|
local label="$3"
|
|
[[ "$actual" == "$expected" ]] || fail "${label}: expected ${expected}, got ${actual}"
|
|
}
|
|
|
|
assert_fails() {
|
|
local label="$1"
|
|
shift
|
|
if "$@" >/dev/null 2>&1; then
|
|
fail "${label}: expected command to fail"
|
|
fi
|
|
}
|
|
|
|
assert_eq "$(_netmask_to_prefix 255.255.255.0)" "24" "netmask /24"
|
|
assert_eq "$(_netmask_to_prefix 255.255.254.0)" "23" "netmask /23"
|
|
assert_eq "$(_netmask_to_prefix 255.255.255.128)" "25" "netmask /25"
|
|
assert_fails "non-contiguous netmask" _netmask_to_prefix 255.0.255.0
|
|
assert_fails "too few netmask octets" _netmask_to_prefix 255.255.0
|
|
|
|
ODS_AP_PASSWORD="changeme-set-per-device"
|
|
assert_fails "placeholder AP password" require_password
|
|
|
|
ODS_AP_PASSWORD="1234567"
|
|
assert_fails "short AP password" require_password
|
|
|
|
ODS_AP_PASSWORD="unique-device-pass"
|
|
require_password >/dev/null
|
|
|
|
printf 'AP mode helper checks passed\n'
|