random characters for titles in regression test output

This commit is contained in:
Matthew Stidham
2021-02-02 14:52:44 -08:00
parent 4bcba94bf8
commit 97516c825d
2 changed files with 35 additions and 13 deletions

View File

@@ -6,6 +6,8 @@ import traceback
# Extend this class to use common set of debug and request features for your script # Extend this class to use common set of debug and request features for your script
from pprint import pprint from pprint import pprint
import time import time
import random
import string
import LANforge.LFUtils import LANforge.LFUtils
from LANforge.LFUtils import * from LANforge.LFUtils import *
import argparse import argparse
@@ -16,7 +18,7 @@ class LFCliBase:
SHOULD_RUN = 0 # indicates normal operation SHOULD_RUN = 0 # indicates normal operation
SHOULD_QUIT = 1 # indicates to quit loops, close files, send SIGQUIT to threads and return 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) # 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 # 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): def get_pass_message(self):
pass_messages = self.get_passed_result_list() pass_messages = self.get_passed_result_list()
return "\n".join(pass_messages) return "\n".join(pass_messages)
def get_fail_message(self): def get_fail_message(self):
fail_messages = self.get_failed_result_list() fail_messages = self.get_failed_result_list()
return "\n".join(fail_messages) return "\n".join(fail_messages)
def get_all_message(self): def get_all_message(self):
return "\n".join(self.test_results) return "\n".join(self.test_results)
@@ -422,7 +424,7 @@ class LFCliBase:
if self.exit_on_fail: if self.exit_on_fail:
sys.exit(1) 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."): 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_total=len(self.get_result_list())
num_passing=len(self.get_passed_result_list()) num_passing=len(self.get_passed_result_list())
@@ -520,7 +522,12 @@ class LFCliBase:
return parser return parser
# use this function to add an event You can see these events when watching websocket_client at 8081 port # 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 = { data = {
"event_id": event_id, "event_id": event_id,
"details": message, "details": message,
@@ -529,6 +536,20 @@ class LFCliBase:
} }
self.json_post("/cli-json/add_event", data, debug_=debug_) 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: Help_Mode = """Station WiFi modes: use the number value below:
auto : 0, auto : 0,
a : 1, a : 1,

View File

@@ -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_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 excel"
"./test_ipv4_variable_time.py --radio $RADIO_USED --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY --test_duration 30s --output_format csv" "./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_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_l4.py --radio wiphy1 --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY"
#"./create_macvlan.py --radio wiphy1" #"./create_macvlan.py --radio wiphy1"
@@ -73,6 +73,7 @@ TEST_DIR="/home/lanforge/report-data/${NOW}"
mkdir "$TEST_DIR" mkdir "$TEST_DIR"
function run_test() { function run_test() {
for i in "${testCommands[@]}"; do 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=${i%%.py*}
CURR_TEST_NAME=${CURR_TEST_NAME#./*} CURR_TEST_NAME=${CURR_TEST_NAME#./*}
CURR_TEST_NUM="${name_to_num[$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 if (( $CURR_TEST_NUM > $START_NUM )) || (( $CURR_TEST_NUM == $START_NUM )); then
echo_print echo_print
echo "$i" 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=$? retval=$?
grep -i fail "${TEST_DIR}/${i}.txt" && retval=1 grep -i fail "${TEST_DIR}/${NAME}.txt" && retval=1
chmod 664 "${TEST_DIR}/${i}.txt" chmod 664 "${TEST_DIR}/${NAME}.txt"
if (( $retval == 0 )); then if (( $retval == 0 )); then
results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td> results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td>
<td class='success'>Success</td> <td class='success'>Success</td>
<td><a href=\"${TEST_DIR}/${i}.txt\">STDOUT</button></td> <td><a href=\"${TEST_DIR}/${NAME}.txt\" target=\"_blank\">STDOUT</button></td>
<td><a href=\"${TEST_DIR}/${i}_stderr.txt\">STDERR</button></td></tr>") <td><a href=\"${TEST_DIR}/${NAME}_stderr.txt\" target=\"_blank\">STDERR</button></td></tr>")
else else
results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td> results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td>
<td class='failure'>Failure</td> <td class='failure'>Failure</td>
<td><a href=\"${TEST_DIR}/${i}.txt\">STDOUT</button></td> <td><a href=\"${TEST_DIR}/${NAME}.txt\" target=\"_blank\">STDOUT</button></td>
<td><a href=\"${TEST_DIR}/${i}_stderr.txt\">STDERR</button></td></tr>") <td><a href=\"${TEST_DIR}/${NAME}_stderr.txt\" target=\"_blank\">STDERR</button></td></tr>")
fi fi
fi fi