From 97516c825da03fb07355bfc2c9f44ea3cfe29bd4 Mon Sep 17 00:00:00 2001 From: Matthew Stidham Date: Tue, 2 Feb 2021 14:52:44 -0800 Subject: [PATCH] random characters for titles in regression test output --- py-json/LANforge/lfcli_base.py | 31 ++++++++++++++++++++++++++----- py-scripts/regression_test.sh | 17 +++++++++-------- 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/py-json/LANforge/lfcli_base.py b/py-json/LANforge/lfcli_base.py index fbfcae82..7758c7e0 100644 --- a/py-json/LANforge/lfcli_base.py +++ b/py-json/LANforge/lfcli_base.py @@ -6,6 +6,8 @@ import traceback # Extend this class to use common set of debug and request features for your script from pprint import pprint import time +import random +import string import LANforge.LFUtils from LANforge.LFUtils import * import argparse @@ -16,7 +18,7 @@ class LFCliBase: SHOULD_RUN = 0 # indicates normal operation SHOULD_QUIT = 1 # indicates to quit loops, close files, send SIGQUIT to threads and return - SHOULD_HALT = 2 # indicates to quit loops, send SIGABRT to threads and exit + SHOULD_HALT = 2 # indicates to quit loops, send SIGABRT to threads and exit # do not use `super(LFCLiBase,self).__init__(self, host, port, _debug) # that is py2 era syntax and will force self into the host variable, making you @@ -385,11 +387,11 @@ class LFCliBase: def get_pass_message(self): pass_messages = self.get_passed_result_list() - return "\n".join(pass_messages) + return "\n".join(pass_messages) def get_fail_message(self): fail_messages = self.get_failed_result_list() - return "\n".join(fail_messages) + return "\n".join(fail_messages) def get_all_message(self): return "\n".join(self.test_results) @@ -422,7 +424,7 @@ class LFCliBase: if self.exit_on_fail: sys.exit(1) - #EXIT script with a success + #EXIT script with a success def exit_success(self,message="%d out of %d tests passed successfully. Exiting script with script success."): num_total=len(self.get_result_list()) num_passing=len(self.get_passed_result_list()) @@ -520,7 +522,12 @@ class LFCliBase: return parser # use this function to add an event You can see these events when watching websocket_client at 8081 port - def add_event(self, message=None, event_id="new", name="custom", priority=1, debug_=False): + def add_event(self, + message=None, + event_id="new", + name="custom", + priority=1, + debug_=False): data = { "event_id": event_id, "details": message, @@ -529,6 +536,20 @@ class LFCliBase: } self.json_post("/cli-json/add_event", data, debug_=debug_) + def read_file(self, + filename): + #Convert file contents to a list + filename = open(filename, 'r') + return [line.split(',') for line in filename.readlines()] + + def random_chars(self, + size, + chars=None): + #Create random characters made of letters + if chars is None: + chars = string.ascii_letters + return ''.join(random.choice(chars) for x in range(size)) + Help_Mode = """Station WiFi modes: use the number value below: auto : 0, a : 1, diff --git a/py-scripts/regression_test.sh b/py-scripts/regression_test.sh index e060514f..5dbdd697 100755 --- a/py-scripts/regression_test.sh +++ b/py-scripts/regression_test.sh @@ -33,7 +33,7 @@ testCommands=( "./test_ipv4_l4.py --radio $RADIO_USED --num_stations 4 --security $SECURITY --ssid $SSID_USED --passwd $PASSWD_USED --test_duration 2m" "./test_ipv4_variable_time.py --radio $RADIO_USED --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY --test_duration 30s --output_format excel" "./test_ipv4_variable_time.py --radio $RADIO_USED --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY --test_duration 30s --output_format csv" - #"./create_bridge.py --radio wiphy1 --upstream_port eth1 --target_device sta0000" + #"./create_bridge.py --radio wiphy1 --upstream_port eth1 --target_device sta0000"NAME #"./create_l3.py --radio wiphy1 --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY" #"./create_l4.py --radio wiphy1 --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY" #"./create_macvlan.py --radio wiphy1" @@ -73,6 +73,7 @@ TEST_DIR="/home/lanforge/report-data/${NOW}" mkdir "$TEST_DIR" function run_test() { for i in "${testCommands[@]}"; do + NAME=python -c "import sys ; sys.path.append('../py-json') ; from LANforge.lfcli_base import LFCliBase ; lfcli=LFCliBase('localhost','8080') ; print(lfcli.random_chars(10))" CURR_TEST_NAME=${i%%.py*} CURR_TEST_NAME=${CURR_TEST_NAME#./*} CURR_TEST_NUM="${name_to_num[$CURR_TEST_NAME]}" @@ -86,20 +87,20 @@ function run_test() { if (( $CURR_TEST_NUM > $START_NUM )) || (( $CURR_TEST_NUM == $START_NUM )); then echo_print echo "$i" - $i > "${TEST_DIR}/${i}.txt" 2> "${TEST_DIR}/${i}_stderr.txt" + $i > "${TEST_DIR}/${NAME}.txt" 2> "${TEST_DIR}/${NAME}_stderr.txt" retval=$? - grep -i fail "${TEST_DIR}/${i}.txt" && retval=1 - chmod 664 "${TEST_DIR}/${i}.txt" + grep -i fail "${TEST_DIR}/${NAME}.txt" && retval=1 + chmod 664 "${TEST_DIR}/${NAME}.txt" if (( $retval == 0 )); then results+=("${CURR_TEST_NAME}${i} Success - STDOUT - STDERR") + STDOUT + STDERR") else results+=("${CURR_TEST_NAME}${i} Failure - STDOUT - STDERR") + STDOUT + STDERR") fi fi