Merged dipti-branch

This commit is contained in:
Dipti
2021-01-29 15:20:30 -08:00
4 changed files with 221 additions and 86 deletions

View File

@@ -14,6 +14,7 @@ CURR_TEST_NUM=0
CURR_TEST_NAME="BLANK"
STOP_NUM=9
<<<<<<< HEAD
DATA_DIR="${TEST_DIR}"
REPORT_DIR="/home/lanforge/html-reports"
@@ -22,10 +23,15 @@ REPORT_DIR="/home/lanforge/html-reports"
#Test array
testCommands=(
"./example_security_connection.py --num_stations $NUM_STA --ssid jedway-r8000-36 --passwd jedway-r8000-36 --radio $RADIO_USED --security wpa"
=======
#Test array
testCommands=("./example_security_connection.py --num_stations $NUM_STA --ssid jedway-r8000-36 --passwd jedway-r8000-36 --radio $RADIO_USED --security wpa "
>>>>>>> dipti-branch
"./example_security_connection.py --num_stations $NUM_STA --ssid $SSID_USED --passwd $SSID_USED --radio $RADIO_USED --security wpa2"
"./example_security_connection.py --num_stations $NUM_STA --ssid jedway-wep-48 --passwd jedway-wep-48 --radio $RADIO_USED --security wep"
"./example_security_connection.py --num_stations $NUM_STA --ssid jedway-wpa3-1 --passwd jedway-wpa3-1 --radio $RADIO_USED --security wpa3"
"./test_ipv4_connection.py --radio wiphy2 --num_stations $NUM_STA --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY"
<<<<<<< HEAD
"./test_generic.py --radio $RADIO_USED --ssid $SSID_USED --passwd $PASSWD_USED --num_stations $NUM_STA --type lfping --dest 10.40.0.1 --security $SECURITY"
"./test_generic.py --radio $RADIO_USED --ssid $SSID_USED --passwd $PASSWD_USED --num_stations $NUM_STA --type speedtest --speedtest_min_up 20 --speedtest_min_dl 20 --speedtest_max_ping 150 --security $SECURITY"
"./test_ipv4_l4_urls_per_ten.py --radio $RADIO_USED --num_stations $NUM_STA --security $SECURITY --ssid $SSID_USED --passwd $PASSWD_USED --num_tests 1 --requests_per_ten 600 --target_per_ten 600"
@@ -34,6 +40,16 @@ testCommands=(
"./test_ipv4_variable_time.py --radio wiphy1 --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY --test_duration 30s --output_format excel"
"./test_ipv4_variable_time.py --radio wiphy1 --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"
=======
"./test_generic.py --mgr localhost --radio $RADIO_USED --ssid $SSID_USED --passwd $PASSWD_USED --num_stations $NUM_STA --type lfping --dest 10.40.0.1 --security $SECURITY"
"./test_generic.py --mgr localhost --radio $RADIO_USED --ssid $SSID_USED --passwd $PASSWD_USED --num_stations $NUM_STA --type speedtest --speedtest_min_up 20 --speedtest_min_dl 20 --speedtest_max_ping 150 --security $SECURITY"
"./test_ipv4_l4_urls_per_ten.py --radio $RADIO_USED --num_stations $NUM_STA --security $SECURITY --ssid $SSID_USED --passwd $PASSWD_USED --num_tests 1 --requests_per_ten 600 --target_per_ten 600"
"./test_ipv4_l4_wifi.py --radio wiphy0 --num_stations $NUM_STA --security $SECURITY --ssid $SSID_USED --passwd $PASSWD_USED --test_duration 2m"
"./test_ipv4_l4.py --radio wiphy3 --num_stations 4 --security $SECURITY --ssid $SSID_USED --passwd $PASSWD_USED --url \"dl http://10.40.0.1 /dev/null\" --test_duration 2m"
"./test_ipv4_variable_time.py --radio wiphy1 --ssid $SSID_USED --passwd $PASSWD_USED --security $SECURITY --test_duration 30s --output_format excel"
"./test_ipv4_variable_time.py --radio wiphy1 --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"
>>>>>>> dipti-branch
#"./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"
@@ -66,20 +82,28 @@ function echo_print() {
echo "Beginning $CURR_TEST_NAME test..." >>~/test_all_output_file.txt
}
results=()
<<<<<<< HEAD
detailedresults=()
NOW=$(date +"%Y-%m-%d-%H-%M")
NOW="${NOW/:/-}"
TEST_DIR="/home/lanforge/report-data/${NOW}"
mkdir "$TEST_DIR"
=======
>>>>>>> dipti-branch
function run_test() {
for i in "${testCommands[@]}"; do
CURR_TEST_NAME=${i%%.py*}
CURR_TEST_NAME=${CURR_TEST_NAME#./*}
CURR_TEST_NUM="${name_to_num[$CURR_TEST_NAME]}"
<<<<<<< HEAD
=======
echo "$CURR_TEST_NAME $CURR_TEST_NUM"
>>>>>>> dipti-branch
if (( $CURR_TEST_NUM > $STOP_NUM )) || (( $STOP_NUM == $CURR_TEST_NUM )) && (( $STOP_NUM != 0 )); then
exit 1
fi
<<<<<<< HEAD
echo ""
echo "Test $CURR_TEST_NUM: $CURR_TEST_NAME"
@@ -94,6 +118,15 @@ function run_test() {
results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td><td class='success'>Success</td><td><button onclick=\"toggle_visibility('${i}');\">Show/Hide</button></td></tr>")
else
results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td><td class='failure'>Failure</td><td><button onclick=\"toggle_visibility('${i}');\">Show/Hide</button></td></tr>")
=======
if (( $CURR_TEST_NUM > $START_NUM )) || (( $CURR_TEST_NUM == $START_NUM )); then
echo_print
echo "$i"
if $i; then
results+=("<tr><td>${CURR_TEST_NAME}</td><td>Success</td></tr>")
else
results+=("<tr><td>${CURR_TEST_NAME}</td><td>Failure</td></tr>")
>>>>>>> dipti-branch
fi
fi
done
@@ -110,6 +143,7 @@ function check_args() {
function html_generator() {
NOW=$(date +"%Y-%m-%d-%T")
header="<html>
<<<<<<< HEAD
<head>
<title>Test All Scripts Results $NOW</title>
<style>
@@ -168,5 +202,32 @@ function html_generator() {
check_args $1 $2
run_test
echo "${detailedresults}"
=======
<head>
<title>Candela Test All Scripts Results</title>
<style>
success {
background-color:green;
}
failure {
background-color:red;
}
</style>
</head>
<body>
<p>Candela Technologies</p>
<table border ='1'>
"
tail="</table>
</body>
</html>"
fname="/home/lanforge/html-reports/test_all_output_file-${NOW}.html"
echo $fname
echo $header"${results[@]}"$tail >> $fname
}
#true >~/test_all_output_file.txt
check_args $1 $2
run_test
>>>>>>> dipti-branch
html_generator
#test generic and fileio are for macvlans

View File

@@ -197,6 +197,34 @@ python3 ./test_ipv4_l4_urls_per_ten.py
output_form=args.output_format
#Create directory
if args.report_file is None:
try:
homedir = str(datetime.datetime.now().strftime("%Y-%m-%d-%H-%M")).replace(':','-')+'test_ipv4_l4_urls_per_ten'
path = os.path.join('/home/lanforge/report-data/',homedir)
os.mkdir(path)
except:
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print('Saving file to local directory')
else:
pass
if args.report_file is None:
if args.output_format in ['csv','json','html','hdf','stata','pickle','pdf','png','df','parquet','xlsx']:
rpt_file=path+'/data.' + args.output_format
output=args.output_format
else:
print('Defaulting data file output type to Excel')
rpt_file=path+'/data.xlsx'
output='xlsx'
else:
rpt_file=args.report_file
if args.output_format is None:
output=str(args.report_file).split('.')[-1]
else:
output=args.output_format
station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=num_sta-1, padding_number_=10000,
radio=args.radio)
@@ -223,11 +251,19 @@ python3 ./test_ipv4_l4_urls_per_ten.py
layer4traffic=','.join([[*x.keys()][0] for x in ip_test.local_realm.json_get('layer4')['endpoint']])
except:
pass
<<<<<<< HEAD
ip_test.l4cxprofile.monitor(col_names=['Name','bytes-rd','rx rate (1 min)', 'urls/s'],
report_file=rpt_file,
duration_sec=ip_test.local_realm.parse_time(args.test_duration).total_seconds(),
created_cx=layer4traffic,
output_format=output_form,
=======
ip_test.l4cxprofile.monitor(col_names=['Name','bytes-rd','urls/s'],
report_file=rpt_file,
duration_sec=ip_test.local_realm.parse_time(args.test_duration).total_seconds(),
created_cx=layer4traffic,
output_format=output,
>>>>>>> dipti-branch
script_name='test_ipv4_l4_urls_per_ten',
arguments=args,
debug=args.debug)

View File

@@ -78,7 +78,6 @@ class IPV4VariableTime(LFCliBase):
self.station_profile.mode = mode
if self.ap is not None:
self.station_profile.set_command_param("add_sta", "ap",self.ap)
#self.station_list= LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=2, padding_number_=10000, radio='wiphy0') #Make radio a user defined variable from terminal.
self.cx_profile.host = self.host
@@ -165,11 +164,13 @@ python3 ./test_ipv4_variable_time.py
--ssid netgear
--password admin123
--test_duration 2m (default)
--a_min 1000
--a_min 3000
--b_min 1000
--ap "00:0e:8e:78:e1:76"
--output_format csv
--report_file ~/Documents/results.csv (if csv file - please use another extension for other files)
--report_file ~/Documents/results.csv (Example of csv file output - please use another extension for other files)
--compared_report ~/Documents/results_prev.csv (Example of csv file retrieval - please use another extension for other files) - UNDER CONSTRUCTION
--col_names 'name','tx bytes', 'rx bytes','dropped'
--debug
''')
@@ -193,8 +194,10 @@ python3 ./test_ipv4_variable_time.py
optional_args.add_argument('--a_min', help='--a_min bps rate minimum for side_a', default=256000)
optional_args.add_argument('--b_min', help='--b_min bps rate minimum for side_b', default=256000)
optional_args.add_argument('--test_duration', help='--test_duration sets the duration of the test', default="2m")
optional_args.add_argument('--col_names', help='Which columns you want to monitor', default=['Name','Rx Rate','Rx PDUs'])
optional_args.add_argument('--col_names', help='Columns wished to be monitor',default=None)
optional_args.add_argument('--compared_report',help='report path and file which is wished to be compared with new report', default=None)
args = parser.parse_args()
#['name','tx bytes', 'rx bytes','dropped']
num_sta = 2
if (args.num_stations is not None) and (int(args.num_stations) > 0):
@@ -214,11 +217,11 @@ python3 ./test_ipv4_variable_time.py
if args.report_file is None:
if args.output_format in ['csv','json','html','hdf','stata','pickle','pdf','png','df','parquet','xlsx']:
report_f=path+'/data.' + args.output_format
report_f='/home/lanforge/report-data/'+homedir+'/data.' + args.output_format
output=args.output_format
else:
print('Defaulting data file output type to Excel')
report_f=path+'/data.xlsx'
report_f='/home/lanforge/report-data/'+homedir+'/data.xlsx'
output='xlsx'
else:
report_f=args.report_file
@@ -227,6 +230,17 @@ python3 ./test_ipv4_variable_time.py
else:
output=args.output_format
#Retrieve last data file
compared_rept=None
if args.compared_report:
#check if last report format is same as current rpt format
last_report_format = args.compared_report.split('.')[-1]
if output == last_report_format:
compared_rept = args.compared_report
else:
ValueError("Compared report format is not the same as the new report format. Please make sure they are of the same file type.")
station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=num_sta-1, padding_number_=10000, radio=args.radio)
ip_var_test = IPV4VariableTime(host=args.mgr,
port=args.mgr_port,
@@ -257,16 +271,23 @@ python3 ./test_ipv4_variable_time.py
layer3connections=','.join([[*x.keys()][0] for x in ip_var_test.local_realm.json_get('endp')['endpoint']])
except:
raise ValueError('Try setting the upstream port flag if your device does not have an eth1 port')
if type(args.col_names) is not list:
col_names=None
if args.col_names is not None:
print(args.col_names)
if type(args.col_names) is not list:
col_names=list(args.col_names.split(","))
else:
col_names = args.col_names
else:
col_names = args.col_names
print(report_f)
col_names=None
if args.debug:
print("Column names are...")
print(col_names)
ip_var_test.l3cxprofile.monitor(col_names=col_names,
report_file=report_f,
duration_sec=ip_var_test.local_realm.parse_time(args.test_duration).total_seconds(),
created_cx= layer3connections,
output_format=output,
compared_report=compared_rept,
script_name='test_ipv4_variable_time',
arguments=args)