diff --git a/py-json/cv_test_manager.py b/py-json/cv_test_manager.py index 58c85077..8c945a15 100644 --- a/py-json/cv_test_manager.py +++ b/py-json/cv_test_manager.py @@ -32,8 +32,8 @@ class cv_test(Realm): # time.sleep(1) #create a test - def create_test(self, test_name, instance): - cmd = "cv create '{0}' '{1}'".format(test_name, instance) + def create_test(self, test_name, instance, load_old_cfg): + cmd = "cv create '{0}' '{1}' '{2}'".format(test_name, instance, load_old_cfg) return self.run_cv_cmd(str(cmd)) @@ -104,15 +104,16 @@ class cv_test(Realm): response = self.json_get("/ports/") return response - def show_text_blob(self, config_name, blob_test_name): + def show_text_blob(self, config_name, blob_test_name, brief): req_url = "/cli-json/show_text_blob" - data = { - "type": "Plugin-Settings", - "name": str(blob_test_name + config_name), # config name - "brief": "brief" - } - rsp = self.json_post(req_url, data) - + data = {"type": "Plugin-Settings"} + if config_name and blob_test_name: + data["name"] = "%s%s"%(blob_test_name, config_name) # config name + else: + data["name"] = "ALL" + if brief: + data["brief"] = "brief" + return self.json_post(req_url, data) def rm_text_blob(self, config_name, blob_test_name): req_url = "/cli-json/rm_text_blob" diff --git a/py-scripts/lf_wifi_capacity_test.py b/py-scripts/lf_wifi_capacity_test.py index d619a1f3..e3116f70 100755 --- a/py-scripts/lf_wifi_capacity_test.py +++ b/py-scripts/lf_wifi_capacity_test.py @@ -71,6 +71,8 @@ def main(): help="duration in ms. ex. 5000") parser.add_argument("-r", "--pull_report", default=False, action='store_true', help="pull reports from lanforge (by default: False)") + parser.add_argument("--load_old_cfg", default=False, action='store_true', + help="Should we first load defaults from previous run of the capacity test? Default is False") parser.add_argument("--download_rate", type=str, default="1Gbps", help="Select requested download rate. Kbps, Mbps, Gbps units supported. Default is 1Gbps") parser.add_argument("--upload_rate", type=str, default="10Mbps", @@ -94,10 +96,11 @@ def main(): run_test = cvtest(lf_host, lf_hostport) createCV = cv(lf_host, lf_hostport); # Create a object - available_ports = [] - stripped_ports = [] + createCV.sync_cv() + time.sleep(2) run_test.rm_text_blob(config_name, "Wifi-Capacity-") # To delete old config with same name + run_test.show_text_blob(None, None, False) # Test related settings cfg_options = ["batch_size: " + str(args.batch_size), @@ -121,22 +124,32 @@ def main(): idx = 0 for eid in port_list: add_port = "sel_port-" + str(idx) + ": " + eid - run_test.create_test_config(config_name,"Wifi-Capacity-",add_port) + run_test.create_test_config(config_name, "Wifi-Capacity-",add_port) idx += 1 for value in cfg_options: run_test.create_test_config(config_name, "Wifi-Capacity-", value) + # Request GUI update its text blob listing. + run_test.show_text_blob(config_name, "Wifi-Capacity-", False) + + # Hack, not certain if the above show returns before the action has been completed + # or not, so we sleep here until we have better idea how to query if GUI knows about + # the text blob. + time.sleep(5) + + load_old = "false" + if args.load_old_cfg: + load_old = "true" + for i in range(60): - response = run_test.create_test(test_name, instance_name) + response = run_test.create_test(test_name, instance_name, load_old) d1 = {k: v for e in response for (k, v) in e.items()} if d1["LAST"]["response"] == "OK": break else: time.sleep(1) - createCV.sync_cv() - time.sleep(2) run_test.load_test_config(config_name, instance_name) run_test.auto_save_report(instance_name) @@ -151,6 +164,8 @@ def main(): response = run_test.start_test(instance_name) d1 = {k: v for e in response for (k, v) in e.items()} if d1["LAST"]["response"].__contains__("Could not find instance:"): + print("ERROR: start_test failed: ", d1["LAST"]["response"], "\n"); + #pprint(response) exit(1) while (True): diff --git a/py-scripts/run_cv_scenario.py b/py-scripts/run_cv_scenario.py index b74c3b5b..c91a6651 100755 --- a/py-scripts/run_cv_scenario.py +++ b/py-scripts/run_cv_scenario.py @@ -91,7 +91,7 @@ class RunCvScenario(LFCliBase): "cv is_built", "cv sync", "sleep 2", - "cv create '%s' test_ref" % self.cv_test, + "cv create '%s' 'test_ref' 'true'" % self.cv_test, "sleep 2", "cv load test_ref '%s'" % self.test_profile, "sleep 1", diff --git a/py-scripts/rvr_scenario.py b/py-scripts/rvr_scenario.py index cb8b08da..3f93491f 100755 --- a/py-scripts/rvr_scenario.py +++ b/py-scripts/rvr_scenario.py @@ -93,7 +93,7 @@ class RunCvScenario(LFCliBase): "sleep 2", "cv sync", "sleep 1", - "cv create '%s' test_ref" % self.cv_test, + "cv create '%s' test_ref 'true'" % self.cv_test, "sleep 5", "cv load test_ref '%s'" % self.test_profile, "sleep 2",