]> granicus.if.org Git - esp-idf/commitdiff
test: use simplified env to test iperf cases
authorHe Yin Ling <heyinling@espressif.com>
Wed, 24 Oct 2018 05:34:05 +0000 (13:34 +0800)
committerHe Yin Ling <heyinling@espressif.com>
Fri, 26 Oct 2018 08:53:57 +0000 (16:53 +0800)
.gitlab-ci.yml
examples/wifi/iperf/iperf_test.py

index 124bc7228cb2765b7a807a04521d8c2885fc9891..7899fec77017e57c5ea2223794b20ed261b8221e 100644 (file)
@@ -933,7 +933,7 @@ example_test_002_01:
   image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
   tags:
     - ESP32
-    - Example_ShieldBox
+    - Example_ShieldBox_Basic
 
 example_test_003_01:
   <<: *example_test_template
@@ -953,6 +953,16 @@ example_test_005_01:
     - ESP32
     - Example_WIFI_BT
 
+example_test_006_01:
+  <<: *example_test_template
+  image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
+  only:
+    variables:
+      - $BOT_LABEL_IPERF_STRESS_TEST
+  tags:
+    - ESP32
+    - Example_ShieldBox
+
 UT_001_01:
   <<: *unit_test_template
   tags:
index 8d5e558022f5b9127028eda3961e754d5baf05dd..bb3f9134f05c807c6ed1af85357e7dfee96433b8 100644 (file)
@@ -483,24 +483,19 @@ def build_iperf_with_config(config_name):
         os.chdir(cwd)
 
 
-def get_configs(env):
-    att_port = env.get_variable("attenuator_port")
-    ap_list = env.get_variable("ap_list")
-    pc_nic_ip = env.get_pc_nic_info("pc_nic", "ipv4")["addr"]
-    apc_ip = env.get_variable("apc_ip")
-    pc_iperf_log_file = os.path.join(env.log_path, "pc_iperf_log.md")
-    return att_port, ap_list, pc_nic_ip, apc_ip, pc_iperf_log_file
-
-
-@IDF.idf_example_test(env_tag="Example_ShieldBox", category="stress")
+@IDF.idf_example_test(env_tag="Example_ShieldBox_Basic", category="stress")
 def test_wifi_throughput_with_different_configs(env, extra_data):
     """
     steps: |
       1. build iperf with specified configs
       2. test throughput for all routers
     """
-    att_port, ap_list, pc_nic_ip, apc_ip, pc_iperf_log_file = get_configs(env)
-    ap_info = ap_list[0]
+    pc_nic_ip = env.get_pc_nic_info("pc_nic", "ipv4")["addr"]
+    pc_iperf_log_file = os.path.join(env.log_path, "pc_iperf_log.md")
+    ap_info = {
+        "ssid": env.get_variable("ap_ssid"),
+        "password": env.get_variable("ap_password"),
+    }
 
     config_names_raw = subprocess.check_output(["ls", os.path.dirname(os.path.abspath(__file__))])
 
@@ -529,14 +524,6 @@ def test_wifi_throughput_with_different_configs(env, extra_data):
         test_utility = IperfTestUtility(dut, config_name, ap_info["ssid"],
                                         ap_info["password"], pc_nic_ip, pc_iperf_log_file, test_result[config_name])
 
-        PowerControl.Control.control_rest(apc_ip, ap_info["outlet"], "OFF")
-        PowerControl.Control.control(apc_ip, {ap_info["outlet"]: "ON"})
-        assert Attenuator.set_att(att_port, 0) is True
-
-        if not test_utility.wait_ap_power_on():
-            Utility.console_log("[{}] failed to power on, skip testing this AP"
-                                .format(ap_info["ssid"]), color="red")
-
         for _ in range(RETRY_COUNT_FOR_BEST_PERFORMANCE):
             test_utility.run_all_cases(0)
 
@@ -563,8 +550,10 @@ def test_wifi_throughput_vs_rssi(env, extra_data):
       3. set attenuator value from 0-60 for each router
       4. test TCP tx rx and UDP tx rx throughput
     """
-    att_port, ap_list, pc_nic_ip, apc_ip, pc_iperf_log_file = get_configs(env)
-
+    att_port = env.get_variable("attenuator_port")
+    ap_list = env.get_variable("ap_list")
+    pc_nic_ip = env.get_pc_nic_info("pc_nic", "ipv4")["addr"]
+    apc_ip = env.get_variable("apc_ip")
     pc_iperf_log_file = os.path.join(env.log_path, "pc_iperf_log.md")
 
     test_result = {
@@ -609,15 +598,19 @@ def test_wifi_throughput_vs_rssi(env, extra_data):
     report.generate_report()
 
 
-@IDF.idf_example_test(env_tag="Example_ShieldBox")
+@IDF.idf_example_test(env_tag="Example_ShieldBox_Basic")
 def test_wifi_throughput_basic(env, extra_data):
     """
     steps: |
       1. test TCP tx rx and UDP tx rx throughput
       2. compare with the pre-defined pass standard
     """
-    att_port, ap_list, pc_nic_ip, apc_ip, pc_iperf_log_file = get_configs(env)
-    ap_info = ap_list[0]
+    pc_nic_ip = env.get_pc_nic_info("pc_nic", "ipv4")["addr"]
+    pc_iperf_log_file = os.path.join(env.log_path, "pc_iperf_log.md")
+    ap_info = {
+        "ssid": env.get_variable("ap_ssid"),
+        "password": env.get_variable("ap_password"),
+    }
 
     # 1. build iperf with best config
     build_iperf_with_config(BEST_PERFORMANCE_CONFIG)
@@ -638,14 +631,6 @@ def test_wifi_throughput_basic(env, extra_data):
     test_utility = IperfTestUtility(dut, BEST_PERFORMANCE_CONFIG, ap_info["ssid"],
                                     ap_info["password"], pc_nic_ip, pc_iperf_log_file, test_result)
 
-    PowerControl.Control.control_rest(apc_ip, ap_info["outlet"], "OFF")
-    PowerControl.Control.control(apc_ip, {ap_info["outlet"]: "ON"})
-    assert Attenuator.set_att(att_port, 0) is True
-
-    if not test_utility.wait_ap_power_on():
-        Utility.console_log("[{}] failed to power on, skip testing this AP"
-                            .format(ap_info["ssid"]), color="red")
-
     # 4. run test for TCP Tx, Rx and UDP Tx, Rx
     for _ in range(RETRY_COUNT_FOR_BEST_PERFORMANCE):
         test_utility.run_all_cases(0)