test_all_scripts.sh: replaces case with associative array, replaces string tests with arithmetic tests

This commit is contained in:
Jed Reynolds
2020-12-18 11:52:33 -08:00
parent 5e767b0bb3
commit d4a2eca208

View File

@@ -8,10 +8,12 @@ SSID_USED="jedway-wpa2-x2048-5-3"
PASSWD_USED="jedway-wpa2-x2048-5-3" PASSWD_USED="jedway-wpa2-x2048-5-3"
RADIO_USED="wiphy1" RADIO_USED="wiphy1"
SECURITY="wpa2" SECURITY="wpa2"
CURR_TEST_NAME="BLANK"
CURR_TEST_NUM=0
STOP_NUM=9
START_NUM=0 START_NUM=0
CURR_TEST_NUM=0
CURR_TEST_NAME="BLANK"
STOP_NUM=9
#Test array #Test array
testCommands=("./example_wpa_connection.py --num_stations $NUM_STA --ssid jedway-r8000-36 --passwd jedway-r8000-36 --radio $RADIO_USED --security wpa" testCommands=("./example_wpa_connection.py --num_stations $NUM_STA --ssid jedway-r8000-36 --passwd jedway-r8000-36 --radio $RADIO_USED --security wpa"
"./example_wpa2_connection.py --num_stations $NUM_STA --ssid $SSID_USED --passwd $SSID_USED --radio $RADIO_USED --security wpa2" "./example_wpa2_connection.py --num_stations $NUM_STA --ssid $SSID_USED --passwd $SSID_USED --radio $RADIO_USED --security wpa2"
@@ -24,37 +26,19 @@ testCommands=("./example_wpa_connection.py --num_stations $NUM_STA --ssid jedway
"./test_ipv4_l4_wifi.py --upstream_port eth1 --radio wiphy0 --num_stations $NUM_STA --security $SECURITY --ssid jedway-wpa2-x2048-4-4 --passwd jedway-wpa2-x2048-4-4 --test_duration 3m" "./test_ipv4_l4_wifi.py --upstream_port eth1 --radio wiphy0 --num_stations $NUM_STA --security $SECURITY --ssid jedway-wpa2-x2048-4-4 --passwd jedway-wpa2-x2048-4-4 --test_duration 3m"
"./test_ipv4_l4.py --radio wiphy3 --num_stations 4 --security wpa2 --ssid jedway-wpa2-x2048-4-1 --passwd jedway-wpa2-x2048-4-1 --url \"dl http://10.40.0.1 /dev/null\" --test_duration 2m --debug" "./test_ipv4_l4.py --radio wiphy3 --num_stations 4 --security wpa2 --ssid jedway-wpa2-x2048-4-1 --passwd jedway-wpa2-x2048-4-1 --url \"dl http://10.40.0.1 /dev/null\" --test_duration 2m --debug"
) )
function ret_case_num() { declare -A name_to_num
case $1 in name_to_num=(
"example_wpa_connection") ["example_wpa_connection"]=1
echo 1 ["example_wpa2_connection"]=2
;; ["example_wpa3_connection"]=4
"example_wpa2_connection") ["example_wep_connection"]=3
echo 2 ["test_ipv4_connection"]=5
;; ["test_generic"]=6
"example_wpa3_connection") ["test_ipv4_l4_urls_per_ten"]=7
echo 4 ["test_ipv4_l4_wifi"]=8
;; ["test_ipv4_l4"]=9
"example_wep_connection") )
echo 3
;;
"test_ipv4_connection")
echo 5
;;
"test_generic")
echo 6
;;
"test_ipv4_l4_urls_per_ten")
echo 7
;;
"test_ipv4_l4_wifi")
echo 8
;;
"test_ipv4_l4")
echo 9
;;
esac
}
function blank_db() { function blank_db() {
echo "Loading blank scenario..." >>~/test_all_output_file.txt echo "Loading blank scenario..." >>~/test_all_output_file.txt
./scenario.py --load BLANK >>~/test_all_output_file.txt ./scenario.py --load BLANK >>~/test_all_output_file.txt
@@ -65,14 +49,20 @@ function echo_print() {
} }
function run_test() { function run_test() {
for i in "${testCommands[@]}"; do for i in "${testCommands[@]}"; do
set -x
set -e
CURR_TEST_NAME=${i%%.py*} CURR_TEST_NAME=${i%%.py*}
CURR_TEST_NAME=${CURR_TEST_NAME#./*} CURR_TEST_NAME=${CURR_TEST_NAME#./*}
CURR_TEST_NUM=$(ret_case_num $CURR_TEST_NAME) CURR_TEST_NUM="${name_to_num[$CURR_TEST_NAME]}"
if [[ $CURR_TEST_NUM -gt $STOP_NUM ]] || [[ $STOP_NUM -eq $CURR_NUM && $STOP_NUM -ne 0 ]]; then echo "$CURR_TEST_NAME $CURR_TEST_NUM"
if (( $CURR_TEST_NUM > $STOP_NUM )) || (( $STOP_NUM == $CURR_TEST_NUM )) && (( $STOP_NUM != 0 )); then
exit 1 exit 1
fi fi
if [[ $CURR_TEST_NUM -gt $START_NUM ]] || [[ $CURR_TEST_NUM -eq $START_NUM ]]; then if (( $CURR_TEST_NUM > $START_NUM )) || (( $CURR_TEST_NUM == $START_NUM )); then
echo_print echo_print
echo "$i"
sleep 3
eval $i >>~/test_all_output_file.txt eval $i >>~/test_all_output_file.txt
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo $CURR_TEST_NAME failure echo $CURR_TEST_NAME failure