wiliot-certificate 4.4.0a1__py3-none-any.whl → 4.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. brg_certificate/certificate_bcc_test_list.txt +0 -2
  2. brg_certificate/tests/calibration/interval_test/interval_test.json +1 -1
  3. brg_certificate/tests/calibration/interval_test/interval_test.py +2 -3
  4. brg_certificate/tests/calibration/output_power_test/output_power_test.json +1 -1
  5. brg_certificate/tests/calibration/output_power_test/output_power_test.py +2 -3
  6. brg_certificate/tests/calibration/pattern_test/pattern_test.json +1 -1
  7. brg_certificate/tests/calibration/pattern_test/pattern_test.py +4 -8
  8. brg_certificate/tests/datapath/aging_test/aging_test.py +3 -4
  9. brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +4 -7
  10. brg_certificate/tests/datapath/output_power_test/output_power_test.json +1 -1
  11. brg_certificate/tests/datapath/output_power_test/output_power_test.py +1 -3
  12. brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +1 -1
  13. brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +2 -3
  14. brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +1 -3
  15. brg_certificate/tests/datapath/pattern_test/pattern_test.json +1 -1
  16. brg_certificate/tests/datapath/pattern_test/pattern_test.py +1 -3
  17. brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +1 -1
  18. brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +1 -3
  19. brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +1 -1
  20. brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +1 -3
  21. brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +1 -1
  22. brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +2 -3
  23. brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +1 -1
  24. brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +2 -3
  25. brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +1 -1
  26. brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +2 -3
  27. brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +9 -6
  28. brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +9 -6
  29. brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +1 -1
  30. brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +17 -11
  31. brg_certificate/tests/datapath/stress_test/stress_test.json +1 -1
  32. brg_certificate/tests/datapath/stress_test/stress_test.py +15 -10
  33. brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +1 -1
  34. brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +2 -3
  35. brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +1 -1
  36. brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +1 -3
  37. brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +1 -1
  38. brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +1 -3
  39. brg_certificate/tests/energy2400/output_power_test/output_power_test.json +1 -1
  40. brg_certificate/tests/energy2400/output_power_test/output_power_test.py +1 -3
  41. brg_certificate/tests/energy2400/pattern_test/pattern_test.json +1 -1
  42. brg_certificate/tests/energy2400/pattern_test/pattern_test.py +1 -3
  43. brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +1 -1
  44. brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +2 -3
  45. brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +1 -1
  46. brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +1 -3
  47. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +1 -1
  48. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +2 -3
  49. brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.json +1 -1
  50. brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +1 -3
  51. brg_certificate/wltPb_pb2.py +4 -4
  52. brg_certificate/wltPb_pb2.pyi +2 -1
  53. gw_certificate/common/serialization_formatter.py +14 -1
  54. gw_certificate/interface/4.4.91_app.zip +0 -0
  55. gw_certificate/interface/{4.4.88_sd_bl_app.zip → 4.4.91_sd_bl_app.zip} +0 -0
  56. gw_certificate/interface/flash_fw.py +90 -0
  57. gw_certificate/interface/uart_if.py +1 -1
  58. gw_certificate/tests/actions.py +1 -1
  59. gw_certificate/tests/downlink.py +2 -2
  60. gw_certificate/tests/generic.py +4 -3
  61. gw_certificate/tests/static/generated_packet_table.py +16 -16
  62. gw_certificate/tests/static/packet_table.csv +10052 -10052
  63. gw_certificate/tests/static/uplink_defines.py +1 -1
  64. gw_certificate/tests/throughput.py +1 -1
  65. gw_certificate/tests/uplink.py +38 -19
  66. {wiliot_certificate-4.4.0a1.dist-info → wiliot_certificate-4.4.1.dist-info}/METADATA +71 -30
  67. {wiliot_certificate-4.4.0a1.dist-info → wiliot_certificate-4.4.1.dist-info}/RECORD +71 -70
  68. {wiliot_certificate-4.4.0a1.dist-info → wiliot_certificate-4.4.1.dist-info}/WHEEL +1 -1
  69. gw_certificate/interface/4.4.88_app.zip +0 -0
  70. {wiliot_certificate-4.4.0a1.dist-info → wiliot_certificate-4.4.1.dist-info}/entry_points.txt +0 -0
  71. {wiliot_certificate-4.4.0a1.dist-info → wiliot_certificate-4.4.1.dist-info}/licenses/LICENSE +0 -0
  72. {wiliot_certificate-4.4.0a1.dist-info → wiliot_certificate-4.4.1.dist-info}/top_level.txt +0 -0
@@ -14,8 +14,6 @@ energy2400/pattern_test ENERGY_PATTERN_2_4_NO_ENERGIZING ENERGY_PATTERN_2_4_CHAN
14
14
  energy2400/output_power_test -12 -8 -4 0 2 3
15
15
  energy2400/duty_cycle_test 1 25 50 75
16
16
  energy2400/signal_indicator_test internal_brg rssi_threshold brg0_rx_brg1_tx brg0_none_brg1_rx brg0_rxtx_brg1_rxtx brg0_tx_brg1_none
17
- energy2400/signal_indicator_ble5_10_500k_test internal_brg rssi_threshold brg0_tx_brg1_rx brg0_none_brg1_rx brg0_rxtx_brg1_rxtx brg0_tx_brg1_none
18
- energy2400/signal_indicator_ble5_10_250k_test internal_brg rssi_threshold brg0_tx_brg1_rx brg0_none_brg1_rx brg0_rxtx_brg1_rxtx brg0_tx_brg1_none
19
17
 
20
18
  # ------------- energy_sub1g -------------
21
19
  energy_sub1g/pattern_test SUB1G_ENERGY_PATTERN_NO_ENERGIZING SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000 SUB1G_ENERGY_PATTERN_FCC_HOPPING SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500 SUB1G_ENERGY_PATTERN_NZ_HOPPING
@@ -6,7 +6,7 @@
6
6
  "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog", "Configurations", "Test epilog and revert to defaults"],
8
8
  "expectedOutcome": "All values configured successfully",
9
- "mandatory": 1,
9
+ "mandatory": 0,
10
10
  "multiBridgeTest": 0,
11
11
  "gwOnlyTest": 0,
12
12
  "internalBridge": 1,
@@ -23,7 +23,6 @@ def run(test):
23
23
  if test.rc == TEST_FAILED:
24
24
  if test.exit_on_param_failure:
25
25
  break # break the whole for loop and keep the test as failed
26
- else:
27
- test.reset_result() # reset result and continue to next param
28
- continue
26
+ test.reset_result() # reset result and continue to next param
27
+
29
28
  return cert_common.test_epilog(test, revert_brgs=True, modules=[calib_module])
@@ -8,7 +8,7 @@
8
8
  "For each supported value - configure the BRG and verify the value",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,
@@ -23,7 +23,6 @@ def run(test):
23
23
  if test.rc == TEST_FAILED:
24
24
  if test.exit_on_param_failure:
25
25
  break # break the whole for loop and keep the test as failed
26
- else:
27
- test.reset_result() # reset result and continue to next param
28
- continue
26
+ test.reset_result() # reset result and continue to next param
27
+
29
28
  return cert_common.test_epilog(test, revert_brgs=True, modules=[calib_module])
@@ -8,7 +8,7 @@
8
8
  "For each supported value - Configure the BRG and verify packet reception functionality (for specific patterns)",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully and packets received only on included channels. When configuring the brg to CALIBRATION_PATTERN_38_38_39 we configure the GW to rx channel 37 and make sure GW doesn't get any pixels",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,
@@ -29,8 +29,8 @@ def run(test):
29
29
  if test.exit_on_param_failure:
30
30
  break # break the whole for loop and keep the test as failed
31
31
  else:
32
- test.reset_result() # reset result and continue to next param
33
- continue
32
+ test.reset_result() # reset result
33
+ continue # skip the current phase and continue to next param
34
34
  cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT)
35
35
  # MQTT scan
36
36
  if test.data == DATA_SIMULATION:
@@ -60,9 +60,7 @@ def run(test):
60
60
  if test.rc == TEST_FAILED:
61
61
  if test.exit_on_param_failure:
62
62
  break # break the whole for loop and keep the test as failed
63
- else:
64
- test.reset_result() # reset result and continue to next param
65
- continue
63
+ test.reset_result() # reset result and continue to next param
66
64
  else:
67
65
  test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=calib_module)[0]
68
66
  generate_log_file(test, param.name)
@@ -72,8 +70,6 @@ def run(test):
72
70
  if test.rc == TEST_FAILED:
73
71
  if test.exit_on_param_failure:
74
72
  break # break the whole for loop and keep the test as failed
75
- else:
76
- test.reset_result() # reset result and continue to next param
77
- continue
73
+ test.reset_result() # reset result and continue to next param
78
74
 
79
75
  return cert_common.test_epilog(test, revert_brgs=True, modules=[calib_module, datapath_module])
@@ -135,10 +135,9 @@ def run(test):
135
135
  test.add_phase_reason(param.name, test.reason)
136
136
  if test.rc == TEST_FAILED:
137
137
  if test.exit_on_param_failure:
138
- break
139
- else:
140
- test.reset_result()
141
- continue
138
+ break # break the whole for loop and keep the test as failed
139
+ test.reset_result() # reset result and continue to next param
140
+
142
141
  time.sleep(5)
143
142
 
144
143
  return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module])
@@ -60,13 +60,11 @@ def run(test):
60
60
 
61
61
  # compare the numbers of tags that come from the brg, success in 95% from number of tags (value) or more.
62
62
  if num_of_tags < (param.value * 0.95):
63
- test.add_reason(f"Found {num_of_tags} pixels expected: {param.name} pixels!")
64
- test.add_reason(f"HB: {num_of_tags_HB}, Df: {num_of_tags}")
63
+ test.add_reason(f"Received {num_of_tags} pixels, expected: {param.name} pixels!")
65
64
 
66
65
  # compare the counter tags in the HB packet
67
66
  if num_of_tags_HB < 0.95 * param.value or num_of_tags_HB > (param.value + 100):
68
- test.add_reason(f"Found {num_of_tags_HB} pixels expected: {param.name} pixels!")
69
- test.add_reason(f"HB: {num_of_tags_HB}, Df: {num_of_tags}")
67
+ test.add_reason(f"HB counter: {num_of_tags_HB}, expected: {param.name}!")
70
68
  # param epilog
71
69
  time.sleep(10)
72
70
  generate_log_file(test, param.name)
@@ -75,8 +73,7 @@ def run(test):
75
73
  test.add_phase_reason(param.name, test.reason)
76
74
  if test.rc == TEST_FAILED:
77
75
  if test.exit_on_param_failure:
78
- break
79
- else:
80
- test.reset_result()
76
+ break # break the whole for loop and keep the test as failed
77
+ test.reset_result() # reset result and continue to next param
81
78
 
82
79
  return cert_common.test_epilog(test)
@@ -8,7 +8,7 @@
8
8
  "For each supported value - configure the BRG and verify the value",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,
@@ -23,8 +23,6 @@ def run(test):
23
23
  if test.rc == TEST_FAILED:
24
24
  if test.exit_on_param_failure:
25
25
  break # break the whole for loop and keep the test as failed
26
- else:
27
- test.reset_result() # reset result and continue to next param
28
- continue
26
+ test.reset_result() # reset result and continue to next param
29
27
 
30
28
  return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module])
@@ -8,7 +8,7 @@
8
8
  "For each supported value - Configure the pacer interval, Generate GEN3 pixels packets & scan for packets in the bridge, Compare pacer interval mean per pixel to the configured value",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,
@@ -45,7 +45,6 @@ def run(test):
45
45
  if test.rc == TEST_FAILED:
46
46
  if test.exit_on_param_failure:
47
47
  break # break the whole for loop and keep the test as failed
48
- else:
49
- test.reset_result() # reset result and continue to next param
50
- continue
48
+ test.reset_result() # reset result and continue to next param
49
+
51
50
  return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module], ble5=True)
@@ -47,8 +47,6 @@ def run(test):
47
47
  if test.rc == TEST_FAILED:
48
48
  if test.exit_on_param_failure:
49
49
  break # break the whole for loop and keep the test as failed
50
- else:
51
- test.reset_result() # reset result and continue to next param
52
- continue
50
+ test.reset_result() # reset result and continue to next param
53
51
 
54
52
  return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module])
@@ -8,7 +8,7 @@
8
8
  "For each supported value - configure the BRG and verify the value",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,
@@ -24,7 +24,5 @@ def run(test):
24
24
  if test.rc == TEST_FAILED:
25
25
  if test.exit_on_param_failure:
26
26
  break # break the whole for loop and keep the test as failed
27
- else:
28
- test.reset_result() # reset result and continue to next param
29
- continue
27
+ test.reset_result() # reset result and continue to next param
30
28
  return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module])
@@ -11,7 +11,7 @@
11
11
  "Repeat for all given packet filter values",
12
12
  "Test epilog and revert to defaults"],
13
13
  "expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
14
- "mandatory": 1,
14
+ "mandatory": 0,
15
15
  "multiBridgeTest": 0,
16
16
  "gwOnlyTest": 0,
17
17
  "internalBridge": 1,
@@ -54,8 +54,6 @@ def run(test):
54
54
  if test.rc == TEST_FAILED:
55
55
  if test.exit_on_param_failure:
56
56
  break # break the whole for loop and keep the test as failed
57
- else:
58
- test.reset_result() # reset result and continue to next param
59
- continue
57
+ test.reset_result() # reset result and continue to next param
60
58
 
61
59
  return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module], ble5=True)
@@ -11,7 +11,7 @@
11
11
  "Repeat for all given packet filter values",
12
12
  "Test epilog and revert to defaults"],
13
13
  "expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
14
- "mandatory": 1,
14
+ "mandatory": 0,
15
15
  "multiBridgeTest": 0,
16
16
  "gwOnlyTest": 0,
17
17
  "internalBridge": 1,
@@ -55,8 +55,6 @@ def run(test):
55
55
  if test.rc == TEST_FAILED:
56
56
  if test.exit_on_param_failure:
57
57
  break # break the whole for loop and keep the test as failed
58
- else:
59
- test.reset_result() # reset result and continue to next param
60
- continue
58
+ test.reset_result() # reset result and continue to next param
61
59
 
62
60
  return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module])
@@ -11,7 +11,7 @@
11
11
  "Repeat for all given packet filter values",
12
12
  "Test epilog and revert to defaults"],
13
13
  "expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
14
- "mandatory": 1,
14
+ "mandatory": 0,
15
15
  "multiBridgeTest": 0,
16
16
  "gwOnlyTest": 0,
17
17
  "internalBridge": 1,
@@ -55,7 +55,6 @@ def run(test):
55
55
  if test.rc == TEST_FAILED:
56
56
  if test.exit_on_param_failure:
57
57
  break # break the whole for loop and keep the test as failed
58
- else:
59
- test.reset_result() # reset result and continue to next param
60
- continue
58
+ test.reset_result() # reset result and continue to next param
59
+
61
60
  return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module])
@@ -9,7 +9,7 @@
9
9
  "Checking for packets violating RSSI threshold",
10
10
  "Test epilog and revert to defaults"],
11
11
  "expectedOutcome": "RSSI Threshold configured successfully and no pixel packets with RSSI weaker than the threshold have been echoed.",
12
- "mandatory": 1,
12
+ "mandatory": 0,
13
13
  "multiBridgeTest": 0,
14
14
  "gwOnlyTest": 0,
15
15
  "internalBridge": 1,
@@ -71,7 +71,6 @@ def run(test):
71
71
  if test.rc == TEST_FAILED:
72
72
  if test.exit_on_param_failure:
73
73
  break # break the whole for loop and keep the test as failed
74
- else:
75
- test.reset_result() # reset result and continue to next param
76
- continue
74
+ test.reset_result() # reset result and continue to next param
75
+
77
76
  return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module])
@@ -8,7 +8,7 @@
8
8
  "For each supported value - configure the BRG and verify the value",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,
@@ -39,7 +39,6 @@ def run(test):
39
39
  if test.rc == TEST_FAILED:
40
40
  if test.exit_on_param_failure:
41
41
  break # break the whole for loop and keep the test as failed
42
- else:
43
- test.reset_result() # reset result and continue to next param
44
- continue
42
+ test.reset_result() # reset result and continue to next param
43
+
45
44
  return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module], ble5=ble5_state)
@@ -187,16 +187,20 @@ def diff_rate(test, datapath_module):
187
187
 
188
188
 
189
189
  def run(test):
190
+
190
191
  # "Test prolog"
191
192
  datapath_module = test.active_brg.datapath
192
- test = cert_common.test_prolog(test)
193
- if test.rc == TEST_FAILED:
194
- return cert_common.test_epilog(test)
195
193
 
194
+ test = cert_common.test_prolog(test)
196
195
  pacer_interval = 1
197
196
  test = cert_config.brg_configure(test, fields=[BRG_PACER_INTERVAL], values=[pacer_interval], module=datapath_module)[0]
198
197
  if test.rc == TEST_FAILED:
199
198
  test.add_reason(f"Didn't succeed to config pacer interval {pacer_interval}")
199
+ name = test.phases[0].name
200
+ test.set_phase_rc(name, test.rc)
201
+ test.add_phase_reason(name, test.reason)
202
+
203
+ if test.rc == TEST_FAILED:
200
204
  return cert_common.test_epilog(test)
201
205
 
202
206
  RX_RATE_TEST_MAP = {"mid_values": mid_values, "diff_pacer": diff_pacer, "min_value": min_value,
@@ -211,7 +215,6 @@ def run(test):
211
215
  if test.rc == TEST_FAILED:
212
216
  if test.exit_on_param_failure:
213
217
  break # break the whole for loop and keep the test as failed
214
- else:
215
- test.reset_result() # reset result and continue to next param
216
- continue
218
+ test.reset_result() # reset result and continue to next param
219
+
217
220
  return cert_common.test_epilog(test)
@@ -187,16 +187,20 @@ def diff_rate(test, datapath_module):
187
187
 
188
188
 
189
189
  def run(test):
190
+
190
191
  # "Test prolog"
191
192
  datapath_module = test.active_brg.datapath
192
- test = cert_common.test_prolog(test)
193
- if test.rc == TEST_FAILED:
194
- return cert_common.test_epilog(test)
195
193
 
194
+ test = cert_common.test_prolog(test)
196
195
  pacer_interval = 1
197
196
  test = cert_config.brg_configure(test, fields=[BRG_PACER_INTERVAL], values=[pacer_interval], module=datapath_module)[0]
198
197
  if test.rc == TEST_FAILED:
199
198
  test.add_reason(f"Didn't succeed to config pacer interval {pacer_interval}")
199
+ name = test.phases[0].name
200
+ test.set_phase_rc(name, test.rc)
201
+ test.add_phase_reason(name, test.reason)
202
+
203
+ if test.rc == TEST_FAILED:
200
204
  return cert_common.test_epilog(test)
201
205
 
202
206
  RX_RATE_TEST_MAP = {"mid_values": mid_values, "diff_pacer": diff_pacer, "min_value": min_value,
@@ -211,7 +215,6 @@ def run(test):
211
215
  if test.rc == TEST_FAILED:
212
216
  if test.exit_on_param_failure:
213
217
  break # break the whole for loop and keep the test as failed
214
- else:
215
- test.reset_result() # reset result and continue to next param
216
- continue
218
+ test.reset_result() # reset result and continue to next param
219
+
217
220
  return cert_common.test_epilog(test)
@@ -13,7 +13,7 @@
13
13
  "rep 1 - config pacer interval 7, then check repetition value = 1, pacer increment = 0, num of tags = all tags",
14
14
  "Test epilog"],
15
15
  "expectedOutcome": "all metrics values will be as expected then the bridge is working correctly and the algorithms are working correctly",
16
- "mandatory": 1,
16
+ "mandatory": 0,
17
17
  "multiBridgeTest": 0,
18
18
  "gwOnlyTest": 0,
19
19
  "internalBridge": 0,
@@ -11,8 +11,13 @@ import time
11
11
 
12
12
  def metric_checking_HB(test, check, mgmt_type_list, tx_queue_expected, pacer_increment_expected):
13
13
  if not mgmt_type_list:
14
- test.add_reason("\nDidn't find HB pkt, therefore skip all checks\n")
15
- print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
14
+ if check:
15
+ test.add_reason("\nDidn't find HB pkt, therefore skip all checks\n")
16
+ print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
17
+ else:
18
+ test.rc = TEST_PASSED # skip the rc result if we didn't find HB pkt
19
+ print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
20
+
16
21
  else:
17
22
  # check tx queue
18
23
  watermarks = [pkt.tx_queue_watermark for pkt in mgmt_type_list]
@@ -30,7 +35,7 @@ def metric_checking_HB(test, check, mgmt_type_list, tx_queue_expected, pacer_inc
30
35
  print(f"\npacer_increment value is wrong\nexpected: {pacer_increment_expected}\ngot: {average_pacer_increment_HB}")
31
36
  if check:
32
37
  test.rc = TEST_FAILED
33
- test.add_reason(f"pacer_increment:{average_pacer_increment_HB}")
38
+ test.add_reason(f"pacer_increment: {average_pacer_increment_HB} expected: {pacer_increment_expected}")
34
39
  else:
35
40
  print(f"\naverage pacer_increment from HB: {average_pacer_increment_HB}\n")
36
41
  if check:
@@ -96,7 +101,7 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
96
101
  test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
97
102
  return test
98
103
  else:
99
- # in case it failed because the repetition value.
104
+ # in case it failed because the repetition value. the reason has been added in the metric_checking_df function
100
105
  return test
101
106
 
102
107
  time.sleep(30)
@@ -107,8 +112,8 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
107
112
  hbs = [p[MGMT_PKT].pkt for p in hbs]
108
113
  print("result of first df\n")
109
114
  check = False
110
- test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
111
115
  test = metric_checking_df(test, check, pacer_interval, df, repetition_value_expected, brg_latency_expected, num_of_sim_tags)
116
+ test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
112
117
  time.sleep(30)
113
118
  # second df
114
119
  df = cert_common.data_scan(test, scan_time=60, brg_data=(not test.internal_brg), gw_data=test.internal_brg)
@@ -117,8 +122,10 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
117
122
  hbs = [p[MGMT_PKT].pkt for p in hbs]
118
123
  print("result of second df\n")
119
124
  check = True
120
- test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
121
125
  test = metric_checking_df(test, check, pacer_interval, df, repetition_value_expected, brg_latency_expected, num_of_sim_tags)
126
+ if param.name != "rep1":
127
+ check = False
128
+ test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
122
129
  return test
123
130
 
124
131
 
@@ -147,7 +154,7 @@ def rep1(test, param, datapath_module, num_of_sim_tags):
147
154
  pacer_interval = 7
148
155
  test = combination_func(test, param, datapath_module, pacer_interval=pacer_interval, num_of_sim_tags=num_of_sim_tags,
149
156
  repetition_value_expected=[1, 2], tx_queue_expected=[20, 40],
150
- pacer_increment_expected=[0, 2], brg_latency_expected=[200, 300])
157
+ pacer_increment_expected=[0, 25], brg_latency_expected=[200, 300])
151
158
  time.sleep(5)
152
159
  return test
153
160
 
@@ -191,10 +198,9 @@ def run(test):
191
198
  test.add_phase_reason(param.name, test.reason)
192
199
  if test.rc == TEST_FAILED:
193
200
  if test.exit_on_param_failure:
194
- break
195
- else:
196
- test.reset_result()
197
- time.sleep(5)
201
+ break # break the whole for loop and keep the test as failed
202
+ test.reset_result() # reset result and continue to next param
203
+
198
204
  pixel_sim_thread.stop()
199
205
  # Re-enable unified packets deduplication
200
206
  cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 1")
@@ -13,7 +13,7 @@
13
13
  "rep 1 - config pacer interval 7, then check repetition value = 1, pacer increment = 0, num of tags = all tags",
14
14
  "Test epilog"],
15
15
  "expectedOutcome": "all metrics values will be as expected then the bridge is working correctly and the algorithms are working correctly",
16
- "mandatory": 1,
16
+ "mandatory": 0,
17
17
  "multiBridgeTest": 0,
18
18
  "gwOnlyTest": 0,
19
19
  "internalBridge": 0,
@@ -11,8 +11,12 @@ import time
11
11
 
12
12
  def metric_checking_HB(test, check, mgmt_type_list, tx_queue_expected, pacer_increment_expected):
13
13
  if not mgmt_type_list:
14
- test.add_reason("\nDidn't find HB pkt, therefore skip all checks\n")
15
- print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
14
+ if check:
15
+ test.add_reason("\nDidn't find HB pkt, therefore skip all checks\n")
16
+ print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
17
+ else:
18
+ test.rc = TEST_PASSED # skip the rc result if we didn't find HB pkt
19
+ print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
16
20
  else:
17
21
  # check tx queue
18
22
  watermarks = [pkt.tx_queue_watermark for pkt in mgmt_type_list]
@@ -30,7 +34,7 @@ def metric_checking_HB(test, check, mgmt_type_list, tx_queue_expected, pacer_inc
30
34
  print(f"\npacer_increment value is wrong\nexpected: {pacer_increment_expected}\ngot: {average_pacer_increment_HB}")
31
35
  if check:
32
36
  test.rc = TEST_FAILED
33
- test.add_reason(f"pacer_increment:{average_pacer_increment_HB}")
37
+ test.add_reason(f"pacer_increment: {average_pacer_increment_HB} expected: {pacer_increment_expected}")
34
38
  else:
35
39
  print(f"\naverage pacer_increment from HB: {average_pacer_increment_HB}\n")
36
40
  if check:
@@ -107,8 +111,8 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
107
111
  hbs = [p[MGMT_PKT].pkt for p in hbs]
108
112
  print("result of first df\n")
109
113
  check = False
110
- test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
111
114
  test = metric_checking_df(test, check, pacer_interval, df, repetition_value_expected, brg_latency_expected, num_of_sim_tags)
115
+ test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
112
116
  time.sleep(30)
113
117
  # second df
114
118
  df = cert_common.data_scan(test, scan_time=60, brg_data=(not test.internal_brg), gw_data=test.internal_brg)
@@ -117,8 +121,10 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
117
121
  hbs = [p[MGMT_PKT].pkt for p in hbs]
118
122
  print("result of second df\n")
119
123
  check = True
120
- test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
121
124
  test = metric_checking_df(test, check, pacer_interval, df, repetition_value_expected, brg_latency_expected, num_of_sim_tags)
125
+ if param.name != "rep1":
126
+ check = False
127
+ test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
122
128
  return test
123
129
 
124
130
 
@@ -147,7 +153,7 @@ def rep1(test, param, datapath_module, num_of_sim_tags):
147
153
  pacer_interval = 7
148
154
  test = combination_func(test, param, datapath_module, pacer_interval=pacer_interval, num_of_sim_tags=num_of_sim_tags,
149
155
  repetition_value_expected=[1, 2], tx_queue_expected=[20, 40],
150
- pacer_increment_expected=[0, 2], brg_latency_expected=[200, 300])
156
+ pacer_increment_expected=[0, 25], brg_latency_expected=[200, 300])
151
157
  time.sleep(5)
152
158
  return test
153
159
 
@@ -191,10 +197,9 @@ def run(test):
191
197
  test.add_phase_reason(param.name, test.reason)
192
198
  if test.rc == TEST_FAILED:
193
199
  if test.exit_on_param_failure:
194
- break
195
- else:
196
- test.reset_result()
197
- time.sleep(5)
200
+ break # break the whole for loop and keep the test as failed
201
+ test.reset_result() # reset result and continue to next param
202
+
198
203
  pixel_sim_thread.stop()
199
204
  # Re-enable unified packets deduplication
200
205
  cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 1")
@@ -9,7 +9,7 @@
9
9
  "For each supported value - Configure TX repetitions, Generate pixels packets & scan for packets in the bridge, Compare repetitions mean per packet to the configured value",
10
10
  "Test epilog and revert to defaults"],
11
11
  "expectedOutcome": "All values configured successfully and actual repetitions found matching to the configured values",
12
- "mandatory": 1,
12
+ "mandatory": 0,
13
13
  "multiBridgeTest": 0,
14
14
  "gwOnlyTest": 0,
15
15
  "internalBridge": 0,
@@ -76,9 +76,8 @@ def run(test):
76
76
  if test.rc == TEST_FAILED:
77
77
  if test.exit_on_param_failure:
78
78
  break # break the whole for loop and keep the test as failed
79
- else:
80
- test.reset_result() # reset result and continue to next param
81
- continue
79
+ test.reset_result() # reset result and continue to next param
80
+
82
81
  # Re-enable unified packets deduplication
83
82
  cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 1")
84
83
  return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module])
@@ -6,7 +6,7 @@
6
6
  "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog", "Run all actions and test bridge's response accordingly", "Test epilog"],
8
8
  "expectedOutcome": "Bridge responded as expected to all sent actions",
9
- "mandatory": 1,
9
+ "mandatory": 0,
10
10
  "multiBridgeTest": 0,
11
11
  "gwOnlyTest": 0,
12
12
  "internalBridge": 1,
@@ -391,8 +391,6 @@ def run(test):
391
391
  if test.rc == TEST_FAILED:
392
392
  if test.exit_on_param_failure:
393
393
  break # break the whole for loop and keep the test as failed
394
- else:
395
- test.reset_result() # reset result and continue to next param
396
- continue
394
+ test.reset_result() # reset result and continue to next param
397
395
 
398
396
  return cert_common.test_epilog(test)
@@ -8,7 +8,7 @@
8
8
  "For each supported value - configure the BRG and verify the value",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,
@@ -22,8 +22,6 @@ def run(test):
22
22
  if test.rc == TEST_FAILED:
23
23
  if test.exit_on_param_failure:
24
24
  break # break the whole for loop and keep the test as failed
25
- else:
26
- test.reset_result() # reset result and continue to next param
27
- continue
25
+ test.reset_result() # reset result and continue to next param
28
26
 
29
27
  return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
@@ -8,7 +8,7 @@
8
8
  "For each supported value - configure the BRG and verify the value",
9
9
  "Test epilog and revert to defaults"],
10
10
  "expectedOutcome": "All values configured successfully",
11
- "mandatory": 1,
11
+ "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
14
  "internalBridge": 1,