Browse Source

test: fix iperf example errors:

1. fix TypeError when running with python3
2. fix throughput chart x/y axis label error
3. make test case compatibile with iperf bin on earlier release branches
He Yin Ling 5 years ago
parent
commit
06c7cde836

+ 7 - 7
examples/wifi/iperf/iperf_test.py

@@ -182,7 +182,7 @@ class TestResult(object):
 
     @staticmethod
     def _convert_to_draw_format(data, label):
-        keys = data.keys()
+        keys = list(data.keys())
         keys.sort()
         return {
             "x-axis": keys,
@@ -216,8 +216,8 @@ class TestResult(object):
 
         LineChart.draw_line_chart(os.path.join(path, file_name),
                                   "Throughput Vs {} ({} {})".format(type_name, self.proto, self.direction),
-                                  "Throughput (Mbps)",
                                   "{} (dbm)".format(type_name),
+                                  "Throughput (Mbps)",
                                   data_list)
         return file_name
 
@@ -305,7 +305,7 @@ class IperfTestUtility(object):
         except subprocess.CalledProcessError:
             pass
         self.dut.write("restart")
-        self.dut.expect("iperf>")
+        self.dut.expect_any("iperf>", "esp32>")
         self.dut.write("scan {}".format(self.ap_ssid))
         for _ in range(SCAN_RETRY_COUNT):
             try:
@@ -431,7 +431,7 @@ class IperfTestUtility(object):
         :return: True or False
         """
         self.dut.write("restart")
-        self.dut.expect("iperf>")
+        self.dut.expect_any("iperf>", "esp32>")
         for _ in range(WAIT_AP_POWER_ON_TIMEOUT // SCAN_TIMEOUT):
             try:
                 self.dut.write("scan {}".format(self.ap_ssid))
@@ -477,7 +477,7 @@ def test_wifi_throughput_with_different_configs(env, extra_data):
         dut = env.get_dut("iperf", "examples/wifi/iperf", dut_class=ttfw_idf.ESP32DUT,
                           app_config_name=config_name)
         dut.start_app()
-        dut.expect("iperf>")
+        dut.expect_any("iperf>", "esp32>")
 
         # 3. run test for each required att value
         test_result[config_name] = {
@@ -533,7 +533,7 @@ def test_wifi_throughput_vs_rssi(env, extra_data):
     dut = env.get_dut("iperf", "examples/wifi/iperf", dut_class=ttfw_idf.ESP32DUT,
                       app_config_name=BEST_PERFORMANCE_CONFIG)
     dut.start_app()
-    dut.expect("iperf>")
+    dut.expect_any("iperf>", "esp32>")
 
     # 2. run test for each required att value
     for ap_info in ap_list:
@@ -580,7 +580,7 @@ def test_wifi_throughput_basic(env, extra_data):
     dut = env.get_dut("iperf", "examples/wifi/iperf", dut_class=ttfw_idf.ESP32DUT,
                       app_config_name=BEST_PERFORMANCE_CONFIG)
     dut.start_app()
-    dut.expect("iperf>")
+    dut.expect_any("iperf>", "esp32>")
 
     # 2. preparing
     test_result = {

+ 2 - 2
tools/ci/python_packages/idf_iperf_test_util/TestReport.py

@@ -36,7 +36,7 @@ class ThroughputForConfigsReport(object):
             self.sdkconfigs[config_name] = self._parse_config_file(sdkconfig_files[config_name])
         if not os.path.exists(output_path):
             os.makedirs(output_path)
-        self.sort_order = self.sdkconfigs.keys()
+        self.sort_order = list(self.sdkconfigs.keys())
         self.sort_order.sort()
 
     @staticmethod
@@ -162,7 +162,7 @@ class ThroughputVsRssiReport(object):
         self.output_path = output_path
         self.raw_data_path = os.path.join(output_path, "raw_data")
         self.results = throughput_results
-        self.throughput_types = self.results.keys()
+        self.throughput_types = list(self.results.keys())
         self.throughput_types.sort()
         if not os.path.exists(self.raw_data_path):
             os.makedirs(self.raw_data_path)