diff options
Diffstat (limited to 'meta-google/recipes-google/networking/network-sh/test.sh')
-rwxr-xr-x | meta-google/recipes-google/networking/network-sh/test.sh | 73 |
1 files changed, 70 insertions, 3 deletions
diff --git a/meta-google/recipes-google/networking/network-sh/test.sh b/meta-google/recipes-google/networking/network-sh/test.sh index 57387c47c..2361cfe3e 100755 --- a/meta-google/recipes-google/networking/network-sh/test.sh +++ b/meta-google/recipes-google/networking/network-sh/test.sh @@ -21,6 +21,21 @@ else fi source lib.sh +expect_array_numeq() { + local -n a1="$1" + local -n a2="$2" + + if (( "${#a1[@]}" != "${#a2[@]}" )); then + echo " Line ${BASH_LINENO[0]} Array Size ${#a1[@]} != ${#a2[@]}" >&2 + test_err=1 + else + local i + for (( i=0; i < ${#a1[@]}; ++i )); do + expect_numeq "${a1[$i]}" "${a2[$i]}" + done + fi +} + test_mac_to_bytes() { out=() expect_err 1 mac_to_bytes out '' @@ -32,9 +47,7 @@ test_mac_to_bytes() { expect_err 0 mac_to_bytes out 'a2:0:f:de:0:29' expected=(0xa2 0 0xf 0xde 0 0x29) - for (( i=0; i < ${#expected[@]}; ++i )); do - expect_numeq "${out[$i]}" "${expected[$i]}" - done + expect_array_numeq out expected } test_mac_to_eui_48() { @@ -47,6 +60,60 @@ test_eui_64() { expect_streq "$str" '1334:56ff:fe78:90af' } +test_ip4_to_bytes() { + out=() + expect_err 1 ip_to_bytes out '' + expect_err 1 ip_to_bytes out '10.0.0.' + expect_err 1 ip_to_bytes out '.0.1.1' + expect_err 1 ip_to_bytes out '10.0.0' + expect_err 1 ip_to_bytes out '10.0..0' + expect_err 1 ip_to_bytes out '.10.0.0.0' + expect_err 1 ip_to_bytes out '10.0.0.0.' + expect_err 1 ip_to_bytes out '10.0.0.256' + expect_err 1 ip_to_bytes out '10.0.0.0.256' + expect_err 1 ip_to_bytes out '10.0.0.0.1' + + expect_err 0 ip_to_bytes out '10.0.0.1' + expected=(10 0 0 1) + expect_array_numeq out expected +} + +test_ip6_to_bytes() { + out=() + expect_err 1 ip_to_bytes out '' + expect_err 1 ip_to_bytes out ':::' + expect_err 1 ip_to_bytes out '::z' + expect_err 1 ip_to_bytes out '1::1::1' + expect_err 1 ip_to_bytes out '1:1:1' + expect_err 1 ip_to_bytes out ':1::1' + expect_err 1 ip_to_bytes out '1::1:' + + expect_err 0 ip_to_bytes out '::' + expected=(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) + expect_array_numeq out expected + out=() + + expect_err 0 ip_to_bytes out '::1' + expected=(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1) + expect_array_numeq out expected + out=() + + expect_err 0 ip_to_bytes out 'fd00::' + expected=(0xfd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) + expect_array_numeq out expected + out=() + + expect_err 0 ip_to_bytes out 'fd00:ffee::ddff:22' + expected=(0xfd 0 0xff 0xee 0 0 0 0 0 0 0 0 0xdd 0xff 0 0x22) + expect_array_numeq out expected + out=() + + expect_err 0 ip_to_bytes out '1:2:3:4:5:6:7:8' + expected=(0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8) + expect_array_numeq out expected + out=() +} + test_ipv6_pfx_concat() { # Invalid inputs expect_err 1 ipv6_pfx_concat 'fd/64' '1234:5678:90af' |