test_generic: Switch from print statements to logger statements

Signed-off-by: Matthew Stidham <stidmatt@gmail.com>
This commit is contained in:
Matthew Stidham
2022-01-25 11:56:18 -08:00
committed by shivam
parent 7ad7f003c7
commit 43e6b7ef09

View File

@@ -38,21 +38,23 @@ import pprint
import argparse import argparse
import time import time
import datetime import datetime
import logging
logger = logging.getLogger(__name__)
if sys.version_info[0] != 3: if sys.version_info[0] != 3:
print("This script requires Python 3") logger.critical("This script requires Python 3")
exit(1) exit(1)
sys.path.append(os.path.join(os.path.abspath(__file__ + "../../../"))) sys.path.append(os.path.join(os.path.abspath(__file__ + "../../../")))
lfcli_base = importlib.import_module("py-json.LANforge.lfcli_base")
LFCliBase = lfcli_base.LFCliBase
LFUtils = importlib.import_module("py-json.LANforge.LFUtils") LFUtils = importlib.import_module("py-json.LANforge.LFUtils")
realm = importlib.import_module("py-json.realm") realm = importlib.import_module("py-json.realm")
Realm = realm.Realm Realm = realm.Realm
lf_logger_config = importlib.import_module("py-scripts.lf_logger_config")
class GenTest(LFCliBase): class GenTest(Realm):
def __init__(self, ssid, security, passwd, sta_list, client, name_prefix, upstream, host="localhost", port=8080, def __init__(self, ssid, security, passwd, sta_list, client, name_prefix, upstream, host="localhost", port=8080,
number_template="000", test_duration="5m", test_type="lfping", dest=None, cmd=None, number_template="000", test_duration="5m", test_type="lfping", dest=None, cmd=None,
interval=1, radio=None, speedtest_min_up=None, speedtest_min_dl=None, speedtest_max_ping=None, interval=1, radio=None, speedtest_min_up=None, speedtest_min_dl=None, speedtest_max_ping=None,
@@ -61,7 +63,7 @@ class GenTest(LFCliBase):
_debug_on=False, _debug_on=False,
_exit_on_error=False, _exit_on_error=False,
_exit_on_fail=False): _exit_on_fail=False):
super().__init__(host, port, _local_realm=Realm(host, port), _debug=_debug_on, _exit_on_fail=_exit_on_fail) super().__init__(host, port, debug_=_debug_on, _exit_on_fail=_exit_on_fail)
self.ssid = ssid self.ssid = ssid
self.radio = radio self.radio = radio
self.upstream = upstream self.upstream = upstream
@@ -74,8 +76,8 @@ class GenTest(LFCliBase):
self.debug = _debug_on self.debug = _debug_on
if client: if client:
self.client_name = client self.client_name = client
self.station_profile = self.local_realm.new_station_profile() self.station_profile = self.new_station_profile()
self.generic_endps_profile = self.local_realm.new_generic_endp_profile() self.generic_endps_profile = self.new_generic_endp_profile()
self.station_profile.lfclient_url = self.lfclient_url self.station_profile.lfclient_url = self.lfclient_url
self.station_profile.ssid = self.ssid self.station_profile.ssid = self.ssid
@@ -109,12 +111,12 @@ class GenTest(LFCliBase):
self.station_profile.admin_up() self.station_profile.admin_up()
temp_stas = [] temp_stas = []
for station in self.sta_list.copy(): for station in self.sta_list.copy():
temp_stas.append(self.local_realm.name_to_eid(station)[2]) temp_stas.append(self.name_to_eid(station)[2])
if self.debug: if self.debug:
pprint.pprint(self.station_profile.station_names) pprint.pprint(self.station_profile.station_names)
LFUtils.wait_until_ports_admin_up(base_url=self.lfclient_url, port_list=self.station_profile.station_names, LFUtils.wait_until_ports_admin_up(base_url=self.lfclient_url, port_list=self.station_profile.station_names,
debug_=self.debug) debug_=self.debug)
if self.local_realm.wait_for_ip(station_list=temp_stas, ipv4=True, debug=self.debug, timeout_sec=-1): if self.wait_for_ip(station_list=temp_stas, ipv4=True, debug=self.debug, timeout_sec=-1):
self._pass("All stations got IPs") self._pass("All stations got IPs")
else: else:
self._fail("Stations failed to get IPs") self._fail("Stations failed to get IPs")
@@ -123,14 +125,14 @@ class GenTest(LFCliBase):
self.generic_endps_profile.start_cx() self.generic_endps_profile.start_cx()
def stop(self): def stop(self):
print("Stopping Test...") logger.info("Stopping Test...")
self.generic_endps_profile.stop_cx() self.generic_endps_profile.stop_cx()
self.station_profile.admin_down() self.station_profile.admin_down()
def build(self): def build(self):
self.station_profile.use_security(self.security, self.ssid, self.passwd) self.station_profile.use_security(self.security, self.ssid, self.passwd)
self.station_profile.set_number_template(self.number_template) self.station_profile.set_number_template(self.number_template)
print("Creating stations") logger.info("Creating stations")
self.station_profile.set_command_flag("add_sta", "create_admin_down", 1) self.station_profile.set_command_flag("add_sta", "create_admin_down", 1)
self.station_profile.set_command_param("set_port", "report_timer", 1500) self.station_profile.set_command_param("set_port", "report_timer", 1500)
self.station_profile.set_command_flag("set_port", "rpt_timer", 1) self.station_profile.set_command_flag("set_port", "rpt_timer", 1)
@@ -165,7 +167,7 @@ def main():
'help': 'how frequently do you want your monitor function to take measurements; 250ms, 35s, 2h', 'help': 'how frequently do you want your monitor function to take measurements; 250ms, 35s, 2h',
'default': '2s'}) 'default': '2s'})
parser = LFCliBase.create_basic_argparse( parser = Realm.create_basic_argparse(
prog='test_generic.py', prog='test_generic.py',
formatter_class=argparse.RawTextHelpFormatter, formatter_class=argparse.RawTextHelpFormatter,
epilog='''Create generic endpoints and test for their ability to execute chosen commands\n''', epilog='''Create generic endpoints and test for their ability to execute chosen commands\n''',
@@ -222,6 +224,13 @@ python3 ./test_generic.py
parser.add_argument('--loop_count', help='determines the number of loops to use in lf_curl', default=None) parser.add_argument('--loop_count', help='determines the number of loops to use in lf_curl', default=None)
args = parser.parse_args() args = parser.parse_args()
logger_config = lf_logger_config.lf_logger_config()
if args.lf_logger_config_json:
# logger_config.lf_logger_config_json = "lf_logger_config.json"
logger_config.lf_logger_config_json = args.lf_logger_config_json
logger_config.load_lf_logger_config()
num_sta = 2 num_sta = 2
if (args.num_stations is not None) and (int(args.num_stations) > 0): if (args.num_stations is not None) and (int(args.num_stations) > 0):
num_stations_converted = int(args.num_stations) num_stations_converted = int(args.num_stations)
@@ -250,8 +259,7 @@ python3 ./test_generic.py
report_f = str(path) + '/data.' + args.output_format report_f = str(path) + '/data.' + args.output_format
output = args.output_format output = args.output_format
else: else:
print( logger.info('Not supporting this report format or cannot find report format provided. Defaulting to csv data file output type, naming it data.csv.')
'Not supporting this report format or cannot find report format provided. Defaulting to csv data file output type, naming it data.csv.')
report_f = str(path) + '/data.csv' report_f = str(path) + '/data.csv'
output = 'csv' output = 'csv'
@@ -262,7 +270,7 @@ python3 ./test_generic.py
output = str(args.report_file).split('.')[-1] output = str(args.report_file).split('.')[-1]
else: else:
output = args.output_format output = args.output_format
print("Saving final report data in ... " + report_f) logger.info("Saving final report data in ... " + report_f)
# Retrieve last data file # Retrieve last data file
compared_rept = None compared_rept = None
@@ -270,8 +278,7 @@ python3 ./test_generic.py
compared_report_format = args.compared_report.split('.')[-1] compared_report_format = args.compared_report.split('.')[-1]
# if compared_report_format not in ['csv', 'json', 'dta', 'pkl','html','xlsx','parquet','h5']: # if compared_report_format not in ['csv', 'json', 'dta', 'pkl','html','xlsx','parquet','h5']:
if compared_report_format != 'csv': if compared_report_format != 'csv':
print(ValueError("Cannot process this file type. Please select a different file and re-run script.")) raise ValueError("Cannot process this file type. Please select a different file and re-run script.")
exit(1)
else: else:
compared_rept = args.compared_report compared_rept = args.compared_report
@@ -308,11 +315,11 @@ python3 ./test_generic.py
generic_test.cleanup(station_list) generic_test.cleanup(station_list)
generic_test.build() generic_test.build()
if not generic_test.passes(): if not generic_test.passes():
print(generic_test.get_fail_message()) logger.error(generic_test.get_fail_message())
generic_test.exit_fail() generic_test.exit_fail()
generic_test.start() generic_test.start()
if not generic_test.passes(): if not generic_test.passes():
print(generic_test.get_fail_message()) logger.error(generic_test.get_fail_message())
generic_test.exit_fail() generic_test.exit_fail()
try: try:
@@ -334,18 +341,15 @@ python3 ./test_generic.py
else: else:
port_mgr_cols = args.port_mgr_cols port_mgr_cols = args.port_mgr_cols
# send col names here to file to reformat # send col names here to file to reformat
if args.debug: logger.info("Generic Endp column names are...")
print("Generic Endp column names are...") logger.info(generic_cols)
print(generic_cols) logger.info("Port Manager column names are...")
print("Port Manager column names are...") logger.info(port_mgr_cols)
print(port_mgr_cols)
try: try:
monitor_interval = Realm.parse_time(args.monitor_interval).total_seconds() monitor_interval = Realm.parse_time(args.monitor_interval).total_seconds()
except ValueError as error: except ValueError as error:
print(ValueError( raise ValueError("The time string provided for monitor_interval argument is invalid. Please see supported time stamp increments and inputs for monitor_interval in --help. %s" % error)
"The time string provided for monitor_interval argument is invalid. Please see supported time stamp increments and inputs for monitor_interval in --help. \n"
"%s" % error))
exit(1)
generic_test.start() generic_test.start()
generic_test.generic_endps_profile.monitor(generic_cols=generic_cols, generic_test.generic_endps_profile.monitor(generic_cols=generic_cols,
sta_list=station_list, sta_list=station_list,