wiliot-certificate 1.4.0a2__py3-none-any.whl → 1.5.1a1__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.
- brg_certificate/ag/energous_v0_defines.py +28 -28
- brg_certificate/ag/energous_v1_defines.py +28 -28
- brg_certificate/ag/energous_v2_defines.py +28 -28
- brg_certificate/ag/energous_v3_defines.py +28 -28
- brg_certificate/ag/energous_v4_defines.py +28 -28
- brg_certificate/ag/fanstel_lan_v0_defines.py +28 -28
- brg_certificate/ag/fanstel_lte_v0_defines.py +28 -28
- brg_certificate/ag/fanstel_wifi_v0_defines.py +28 -28
- brg_certificate/ag/minew_lte_v0_defines.py +28 -28
- brg_certificate/ag/wlt_cmd_if.html +1 -1
- brg_certificate/ag/wlt_types.html +3 -4
- brg_certificate/ag/wlt_types_ag.py +162 -163
- brg_certificate/brg_certificate.py +46 -12
- brg_certificate/brg_certificate_cli.py +1 -0
- brg_certificate/cert_common.py +31 -42
- brg_certificate/cert_config.py +7 -5
- brg_certificate/cert_data_sim.py +26 -4
- brg_certificate/cert_defines.py +30 -3
- brg_certificate/cert_gw_sim.py +12 -8
- brg_certificate/cert_mqtt.py +10 -2
- brg_certificate/cert_prints.py +7 -5
- brg_certificate/cert_protobuf.py +5 -1
- brg_certificate/cert_results.py +134 -84
- brg_certificate/cert_utils.py +14 -17
- brg_certificate/certificate_bcc_sanity_test_list.txt +35 -0
- brg_certificate/certificate_bcc_test_list.txt +45 -0
- brg_certificate/certificate_sanity_test_list.txt +2 -1
- brg_certificate/certificate_test_list.txt +10 -4
- brg_certificate/restore_brg.py +2 -0
- brg_certificate/tests/calibration/interval_test/interval_test.json +2 -1
- brg_certificate/tests/calibration/interval_test/interval_test.py +1 -1
- brg_certificate/tests/calibration/output_power_test/output_power_test.json +5 -3
- brg_certificate/tests/calibration/output_power_test/output_power_test.py +1 -1
- brg_certificate/tests/calibration/pattern_test/pattern_test.json +5 -2
- brg_certificate/tests/calibration/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/datapath/aging_test/aging_test.json +20 -0
- brg_certificate/tests/datapath/aging_test/aging_test.py +135 -0
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +8 -3
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +2 -2
- brg_certificate/tests/datapath/output_power_test/output_power_test.json +5 -2
- brg_certificate/tests/datapath/output_power_test/output_power_test.py +1 -1
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +5 -2
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +1 -1
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +5 -2
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +2 -2
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +5 -2
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +1 -1
- brg_certificate/tests/datapath/pattern_test/pattern_test.json +6 -3
- brg_certificate/tests/datapath/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +8 -2
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +1 -1
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +8 -2
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +1 -1
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +8 -2
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +1 -1
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +6 -2
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +1 -1
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +5 -2
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +1 -1
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +3 -4
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +1 -1
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +3 -4
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +1 -1
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +14 -22
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +24 -24
- brg_certificate/tests/datapath/stress_test/stress_test.json +11 -18
- brg_certificate/tests/datapath/stress_test/stress_test.py +20 -27
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +6 -2
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +1 -1
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +6 -2
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +1 -1
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +2 -1
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +4 -24
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +2 -1
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +1 -1
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +2 -1
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +1 -1
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +9 -5
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +4 -4
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +9 -5
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +45 -1
- brg_certificate/tests/edge_mgmt/stat_test/stat_test.json +2 -1
- brg_certificate/tests/edge_mgmt/stat_test/stat_test.py +1 -1
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +5 -2
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +1 -1
- brg_certificate/tests/energy2400/output_power_test/output_power_test.json +5 -3
- brg_certificate/tests/energy2400/output_power_test/output_power_test.py +1 -1
- brg_certificate/tests/energy2400/pattern_test/pattern_test.json +5 -2
- brg_certificate/tests/energy2400/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +20 -0
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +346 -0
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +20 -0
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +346 -0
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +2 -1
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +1 -1
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +12 -5
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +130 -43
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +5 -2
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +1 -1
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +9 -3
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +2 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +1 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +5 -2
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +1 -1
- brg_certificate/wltPb_pb2.py +50 -38
- brg_certificate/wltPb_pb2.pyi +40 -34
- brg_certificate/wlt_types.py +4 -6
- common/wlt_logo.png +0 -0
- gw_certificate/ag/ut_defines.py +4 -1
- gw_certificate/cert_results.py +145 -0
- gw_certificate/gw_certificate.py +18 -6
- gw_certificate/gw_certificate_cli.py +3 -3
- gw_certificate/interface/mqtt.py +1 -0
- gw_certificate/interface/uart_if.py +1 -1
- gw_certificate/tests/actions.py +7 -2
- gw_certificate/tests/connection.py +1 -1
- gw_certificate/tests/generic.py +43 -17
- gw_certificate/tests/registration.py +2 -1
- gw_certificate/tests/uplink.py +26 -35
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/METADATA +16 -10
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/RECORD +126 -120
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/WHEEL +1 -1
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/top_level.txt +1 -0
- brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.json +0 -13
- brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.py +0 -76
- brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +0 -13
- brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +0 -398
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/entry_points.txt +0 -0
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info/licenses}/LICENSE +0 -0
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
"name": "interval_test",
|
|
3
3
|
"module": "calibration",
|
|
4
4
|
"purpose": "Test configuration for all supported calibration interval values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Calibration-Module",
|
|
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
9
|
"mandatory": 1,
|
|
10
10
|
"multiBridgeTest": 0,
|
|
11
11
|
"gwOnlyTest": 0,
|
|
12
|
+
"internalBridge": 1,
|
|
12
13
|
"allSupportedValues": [1, 25, 50, 100, 255]
|
|
13
14
|
}
|
|
@@ -11,7 +11,7 @@ def run(test):
|
|
|
11
11
|
calib_module = eval_pkt(f'ModuleCalibrationV{test.active_brg.api_version}')
|
|
12
12
|
|
|
13
13
|
test = cert_common.test_prolog(test)
|
|
14
|
-
if test.rc == TEST_FAILED
|
|
14
|
+
if test.rc == TEST_FAILED:
|
|
15
15
|
return cert_common.test_epilog(test)
|
|
16
16
|
for param in test.params:
|
|
17
17
|
test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=calib_module)[0]
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
"name": "output_power_test",
|
|
3
3
|
"module": "calibration",
|
|
4
4
|
"purpose": "Test configuration for all supported calibration output power values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Calibration-Module",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
12
|
-
"allSupportedValues": [
|
|
14
|
+
"allSupportedValues": [-12, -8, -4, 0, 2, 3]
|
|
13
15
|
}
|
|
@@ -11,7 +11,7 @@ def run(test):
|
|
|
11
11
|
calib_module = eval_pkt(f'ModuleCalibrationV{test.active_brg.api_version}')
|
|
12
12
|
|
|
13
13
|
test = cert_common.test_prolog(test)
|
|
14
|
-
if test.rc == TEST_FAILED
|
|
14
|
+
if test.rc == TEST_FAILED:
|
|
15
15
|
return cert_common.test_epilog(test)
|
|
16
16
|
|
|
17
17
|
for param in test.params:
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "pattern_test",
|
|
3
3
|
"module": "calibration",
|
|
4
4
|
"purpose": "Test configuration for all supported calibration pattern values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Calibration-Module",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - Configure the BRG and verify packet reception functionality (for specific patterns)",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
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",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": ["CALIBRATION_PATTERN_STANDARD", "CALIBRATION_PATTERN_38_38_39", "CALIBRATION_PATTERN_EU_PATTERN", "CALIBRATION_PATTERN_DISABLE_BEACON"]
|
|
13
16
|
}
|
|
@@ -12,7 +12,7 @@ def run(test):
|
|
|
12
12
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
13
13
|
|
|
14
14
|
test = cert_common.test_prolog(test)
|
|
15
|
-
if test.rc == TEST_FAILED
|
|
15
|
+
if test.rc == TEST_FAILED:
|
|
16
16
|
return cert_common.test_epilog(test)
|
|
17
17
|
|
|
18
18
|
for param in test.params:
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "aging test",
|
|
3
|
+
"module": "datapath",
|
|
4
|
+
"purpose": ["verify the functionality of the aging process - Max (60, effective pacer interval)",
|
|
5
|
+
"verify an edge case - pi = 300"],
|
|
6
|
+
"documentation": [],
|
|
7
|
+
"initialCondition": "Bridge configured to defaults",
|
|
8
|
+
"procedure": ["Test prolog",
|
|
9
|
+
"define simulation with 500 Tags with 0 delay(0.02 sec) ",
|
|
10
|
+
"Low pacer - config pacer interval < 60, pi = 15, check ctr tags ,wait aging time, then expect to tags ctr = 0",
|
|
11
|
+
"High pacer - config pacer interval > 60, pi = 300, check ctr tags ,wait aging time, then expect to tags ctr = 0",
|
|
12
|
+
"Test epilog"],
|
|
13
|
+
"expectedOutcome": "",
|
|
14
|
+
"mandatory": 1,
|
|
15
|
+
"multiBridgeTest": 0,
|
|
16
|
+
"gwOnlyTest": 0,
|
|
17
|
+
"internalBridge": 1,
|
|
18
|
+
"allSupportedValues": ["low_pacer", "high_pacer"]
|
|
19
|
+
|
|
20
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
from brg_certificate.cert_prints import *
|
|
2
|
+
from brg_certificate.cert_defines import *
|
|
3
|
+
from brg_certificate.wlt_types import *
|
|
4
|
+
import brg_certificate.cert_common as cert_common
|
|
5
|
+
import brg_certificate.cert_config as cert_config
|
|
6
|
+
import brg_certificate.cert_data_sim as cert_data_sim
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def send_get_HB(test):
|
|
10
|
+
cert_config.send_brg_action(test, ag.ACTION_SEND_HB)
|
|
11
|
+
test, HB_list = cert_common.scan_for_mgmt_pkts(test, [eval_pkt(f'Brg2GwHbV{test.active_brg.api_version}')])
|
|
12
|
+
return HB_list
|
|
13
|
+
|
|
14
|
+
def calculate_aging_time(pacer_interval):
|
|
15
|
+
return max(60, pacer_interval)
|
|
16
|
+
|
|
17
|
+
def calculate_sending_time(duplicates, delay, num_of_sim_tags):
|
|
18
|
+
if delay <= 0.02:
|
|
19
|
+
return duplicates*0.02*num_of_sim_tags
|
|
20
|
+
else:
|
|
21
|
+
actual_delay = max(delay, duplicates*(ag.PIXEL_SIM_MIN_CYCLE))
|
|
22
|
+
actual_delay = actual_delay/1000
|
|
23
|
+
return actual_delay*num_of_sim_tags
|
|
24
|
+
|
|
25
|
+
def combination_func(test, datapath_module, pacer_interval, num_of_sim_tags, aging_time):
|
|
26
|
+
|
|
27
|
+
test = cert_config.brg_configure(test, fields=[BRG_PACER_INTERVAL], values=[pacer_interval], module=datapath_module)[0]
|
|
28
|
+
if test.rc == TEST_FAILED and test.reason != TEST_PASSED:
|
|
29
|
+
for i in range(2):
|
|
30
|
+
if test.rc == TEST_PASSED:
|
|
31
|
+
return test
|
|
32
|
+
test = cert_config.brg_configure(test, fields=[BRG_PACER_INTERVAL], values=[pacer_interval], module=datapath_module)[0]
|
|
33
|
+
test = test.add_reason("Didn't succeed to configure after two attempts - No pkt was found!")
|
|
34
|
+
return test
|
|
35
|
+
duplication = 1
|
|
36
|
+
delay = 0
|
|
37
|
+
pixel_sim_thread = cert_data_sim.DataSimThread(test=test, num_of_pixels=num_of_sim_tags, duplicates=duplication, delay=delay, pkt_types=[0],pixels_type=GEN2)
|
|
38
|
+
cycle_time = calculate_sending_time(duplication, delay, num_of_sim_tags)
|
|
39
|
+
sending_time = cycle_time*4
|
|
40
|
+
print(f"Simulator send pixels for {sending_time} sec")
|
|
41
|
+
pixel_sim_thread.start()
|
|
42
|
+
start_time = time.time()
|
|
43
|
+
# sending time
|
|
44
|
+
ctr_tags_sending_time = []
|
|
45
|
+
while (time.time() - start_time) < sending_time:
|
|
46
|
+
HB_list = send_get_HB(test)
|
|
47
|
+
|
|
48
|
+
pixel_sim_thread.stop()
|
|
49
|
+
for p in HB_list:
|
|
50
|
+
ctr_tags_sending_time.append(p[MGMT_PKT].pkt.tags_ctr)
|
|
51
|
+
print (f"\nSimulator stop generating packets\n")
|
|
52
|
+
#TODO: logging print(debug)
|
|
53
|
+
# print(f"ctr_tags_list: {ctr_tags_sending_time}\n")
|
|
54
|
+
|
|
55
|
+
# waiting time - until the aging value
|
|
56
|
+
# during of the aging time we expect to get the ctr_tags equal to the number of pixels
|
|
57
|
+
ctr_tags_aging_time = []
|
|
58
|
+
print(f"waiting for aging time of {aging_time} sec")
|
|
59
|
+
while (time.time() - start_time) < (cycle_time*3+aging_time):
|
|
60
|
+
HB_list = send_get_HB(test)
|
|
61
|
+
for p in HB_list:
|
|
62
|
+
ctr_tags_aging_time.append(p[MGMT_PKT].pkt.tags_ctr)
|
|
63
|
+
print(f"\naging time: {aging_time} passed\n")
|
|
64
|
+
#TODO: logging print(debug)
|
|
65
|
+
# print(f"ctr_tags_list: {ctr_tags_aging_time}\n")
|
|
66
|
+
start_aging_time = time.time()
|
|
67
|
+
ctr_tags_deleting_time = []
|
|
68
|
+
|
|
69
|
+
found_zero = 0
|
|
70
|
+
time_finding = 0
|
|
71
|
+
# stop after two HB packets, we expect to get the ctr_tags 0 in the second HB packet after the aging time
|
|
72
|
+
print(f"Start of deleting time, wait for zero value ")
|
|
73
|
+
while (time.time() - start_aging_time) <= 120:
|
|
74
|
+
test, HB_list = cert_common.scan_for_mgmt_pkts(test, [eval_pkt(f'Brg2GwHbV{test.active_brg.api_version}')])
|
|
75
|
+
for p in HB_list:
|
|
76
|
+
ctr_tags_deleting_time.append(p[MGMT_PKT].pkt.tags_ctr)
|
|
77
|
+
if p[MGMT_PKT].pkt.tags_ctr == 0:
|
|
78
|
+
found_zero = 1
|
|
79
|
+
time_finding = round(time.time()-start_aging_time, 2)
|
|
80
|
+
print(f"Finding time: {time_finding}")
|
|
81
|
+
print(f"Found zero value after {time_finding} sec")
|
|
82
|
+
break
|
|
83
|
+
if found_zero:
|
|
84
|
+
break
|
|
85
|
+
# sending time and the deleting time should be the same
|
|
86
|
+
print(f"Deleting time: {cycle_time} passed\n")
|
|
87
|
+
#TODO: logging print(debug)
|
|
88
|
+
# print(f"Ctr_tags_deleting_time: {ctr_tags_deleting_time}\n")
|
|
89
|
+
|
|
90
|
+
# expected to get the ctr_tags 0 in the second HB packet after the aging time
|
|
91
|
+
if found_zero == 0 or time_finding > 60:
|
|
92
|
+
test.rc = TEST_FAILED
|
|
93
|
+
test.add_reason("The last counter value is not zero")
|
|
94
|
+
print("The last counter value is not zero\n")
|
|
95
|
+
else:
|
|
96
|
+
# NOTE: because sometimes when it didn't find HB pkt it failed the test.
|
|
97
|
+
test.rc = TEST_PASSED
|
|
98
|
+
return test
|
|
99
|
+
|
|
100
|
+
def low_pacer(test, datapath_module, num_of_sim_tags):
|
|
101
|
+
pacer_interval = 15
|
|
102
|
+
aging_time = calculate_aging_time(pacer_interval)
|
|
103
|
+
test = combination_func(test, datapath_module, pacer_interval= pacer_interval, num_of_sim_tags=num_of_sim_tags , aging_time=aging_time)
|
|
104
|
+
return test
|
|
105
|
+
|
|
106
|
+
def high_pacer(test, datapath_module, num_of_sim_tags):
|
|
107
|
+
pacer_interval = 300
|
|
108
|
+
aging_time = calculate_aging_time(pacer_interval)
|
|
109
|
+
test = combination_func(test, datapath_module, pacer_interval= pacer_interval, num_of_sim_tags=num_of_sim_tags , aging_time=aging_time)
|
|
110
|
+
return test
|
|
111
|
+
|
|
112
|
+
def run(test):
|
|
113
|
+
# Test prolog
|
|
114
|
+
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
115
|
+
test = cert_common.test_prolog(test)
|
|
116
|
+
if test.rc == TEST_FAILED:
|
|
117
|
+
return cert_common.test_epilog(test)
|
|
118
|
+
|
|
119
|
+
STRESS_TEST_MAP = {"low_pacer": low_pacer, "high_pacer": high_pacer}
|
|
120
|
+
num_of_pixels = 500
|
|
121
|
+
|
|
122
|
+
for param in test.params:
|
|
123
|
+
functionality_run_print(param.name)
|
|
124
|
+
test = STRESS_TEST_MAP[param.value](test, datapath_module, num_of_pixels)
|
|
125
|
+
generate_log_file(test, param.name)
|
|
126
|
+
field_functionality_pass_fail_print(test, param.name)
|
|
127
|
+
test.set_phase_rc(param.name, test.rc)
|
|
128
|
+
test.add_phase_reason(param.name, test.reason)
|
|
129
|
+
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
130
|
+
break
|
|
131
|
+
else:
|
|
132
|
+
test.reset_result()
|
|
133
|
+
time.sleep(5)
|
|
134
|
+
|
|
135
|
+
return cert_common.test_epilog(test, revert_brgs=True, revert_gws=False, modules=[datapath_module])
|
|
@@ -2,12 +2,17 @@
|
|
|
2
2
|
"name": "num_of_tags_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test pixels handling in the bridge for different amount of pixels",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
6
|
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Generate packets from the given amount of pixels & scan for packets in the bridge",
|
|
9
|
+
"Compare received amount of pixels and the heartbeat pixels counter to the given value",
|
|
10
|
+
"Repeat for all given pixels amounts",
|
|
11
|
+
"Test epilog and revert to defaults"],
|
|
8
12
|
"expectedOutcome": "All values configured successfully",
|
|
9
13
|
"mandatory": 1,
|
|
10
14
|
"multiBridgeTest": 0,
|
|
11
15
|
"gwOnlyTest": 0,
|
|
12
|
-
"
|
|
16
|
+
"internalBridge": 1,
|
|
17
|
+
"allSupportedValues": [500, 1000, 2500, 5000]
|
|
13
18
|
}
|
|
@@ -13,7 +13,7 @@ def run(test):
|
|
|
13
13
|
print(f"values: {[param.value for param in test.params]}")
|
|
14
14
|
|
|
15
15
|
test = cert_common.test_prolog(test)
|
|
16
|
-
if test.rc == TEST_FAILED
|
|
16
|
+
if test.rc == TEST_FAILED:
|
|
17
17
|
return cert_common.test_epilog(test)
|
|
18
18
|
|
|
19
19
|
duplicates = 3
|
|
@@ -24,7 +24,7 @@ def run(test):
|
|
|
24
24
|
time_of_sending_pkts = duplicates * param.value * GW_CYCLE_TIME * 2
|
|
25
25
|
|
|
26
26
|
test = cert_config.brg_configure(test, fields=[BRG_PACER_INTERVAL], values=[time_of_sending_pkts], module=datapath_module)[0]
|
|
27
|
-
if test.rc == TEST_FAILED
|
|
27
|
+
if test.rc == TEST_FAILED:
|
|
28
28
|
return cert_common.test_epilog(test)
|
|
29
29
|
|
|
30
30
|
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "output_power_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test configuration for all supported datapath output power values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Configuration",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": [-12, -8, -4, 0, 2, 3]
|
|
13
16
|
}
|
|
@@ -10,7 +10,7 @@ def run(test):
|
|
|
10
10
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
11
11
|
|
|
12
12
|
test = cert_common.test_prolog(test)
|
|
13
|
-
if test.rc == TEST_FAILED
|
|
13
|
+
if test.rc == TEST_FAILED:
|
|
14
14
|
return cert_common.test_epilog(test)
|
|
15
15
|
|
|
16
16
|
for param in test.params:
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "pacer_interval_ble5_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test pacer interval feature configuration and functionality in the bridge with BLE5 packets for different pacer interval values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": ["https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing"],
|
|
6
6
|
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
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
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": [5, 15, 30, 60]
|
|
13
16
|
}
|
|
@@ -10,7 +10,7 @@ def run(test):
|
|
|
10
10
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
11
11
|
|
|
12
12
|
test = cert_common.test_prolog(test)
|
|
13
|
-
if test.rc == TEST_FAILED
|
|
13
|
+
if test.rc == TEST_FAILED:
|
|
14
14
|
return cert_common.test_epilog(test)
|
|
15
15
|
|
|
16
16
|
for param in test.params:
|
brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json
CHANGED
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "pacer_interval_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test pixels handling in the bridge for different pacer interval values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": ["https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing"],
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - Pacer interval configuration, Scan for pixel packets in the bridge & Compare maximal amount of received pixels to the amount received with different pacer interval value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully and no significant gaps between received amounts of pixels were found",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": [1, 10, 15, 30]
|
|
13
16
|
}
|
brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py
CHANGED
|
@@ -11,13 +11,13 @@ def run(test):
|
|
|
11
11
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
12
12
|
|
|
13
13
|
test = cert_common.test_prolog(test)
|
|
14
|
-
if test.rc == TEST_FAILED
|
|
14
|
+
if test.rc == TEST_FAILED:
|
|
15
15
|
return cert_common.test_epilog(test)
|
|
16
16
|
|
|
17
17
|
# Configure the GW to receive tags pkt
|
|
18
18
|
if test.internal_brg:
|
|
19
19
|
test = cert_config.brg_configure(test, fields=[BRG_RX_CHANNEL], values=[ag.RX_CHANNEL_37], module=datapath_module, wait=True)[0]
|
|
20
|
-
if test.rc == TEST_FAILED
|
|
20
|
+
if test.rc == TEST_FAILED:
|
|
21
21
|
return cert_common.test_epilog(test, revert_gws=True)
|
|
22
22
|
|
|
23
23
|
num_of_pixels = 200
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "pacer_interval_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test pacer interval feature configuration and functionality in the bridge for different pacer interval values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": ["https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing"],
|
|
6
6
|
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"for each supported value - Pacer interval configuration, Generate pixels packets & scan for packets in the bridge & Compare pacer interval mean per pixel to the configured value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": [5, 10, 15, 30, 60]
|
|
13
16
|
}
|
|
@@ -10,7 +10,7 @@ def run(test):
|
|
|
10
10
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
11
11
|
|
|
12
12
|
test = cert_common.test_prolog(test)
|
|
13
|
-
if test.rc == TEST_FAILED
|
|
13
|
+
if test.rc == TEST_FAILED:
|
|
14
14
|
return cert_common.test_epilog(test)
|
|
15
15
|
|
|
16
16
|
for param in test.params:
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pattern_test",
|
|
3
3
|
"module": "datapath",
|
|
4
|
-
"purpose": "Test configuration for all supported
|
|
5
|
-
"
|
|
4
|
+
"purpose": "Test configuration for all supported communication pattern values",
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Configuration",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": ["DATAPATH_PATTERN_STANDARD", "DATAPATH_PATTERN_38_38_39", "DATAPATH_PATTERN_EU_PATTERN"]
|
|
13
16
|
}
|
|
@@ -10,7 +10,7 @@ def run(test):
|
|
|
10
10
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
11
11
|
|
|
12
12
|
test = cert_common.test_prolog(test)
|
|
13
|
-
if test.rc == TEST_FAILED
|
|
13
|
+
if test.rc == TEST_FAILED:
|
|
14
14
|
return cert_common.test_epilog(test)
|
|
15
15
|
|
|
16
16
|
for param in test.params:
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
"name": "pkt_filter_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test packet filter feature configuration and functionality in the bridge for different packet filters using BLE5",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing",
|
|
6
6
|
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Packet filter & secondary BLE5 rx channel configuration",
|
|
9
|
+
"Generate pixels packets & scan for packets in the bridge",
|
|
10
|
+
"Compare pacer interval mean per pixel & packet type to the configured value",
|
|
11
|
+
"Repeat for all given packet filter values",
|
|
12
|
+
"Test epilog and revert to defaults"],
|
|
8
13
|
"expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
|
|
9
14
|
"mandatory": 1,
|
|
10
15
|
"multiBridgeTest": 0,
|
|
11
16
|
"gwOnlyTest": 0,
|
|
17
|
+
"internalBridge": 1,
|
|
12
18
|
"allSupportedValues": ["PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT", "PKT_FILTER_DISABLE_FORWARDING", "PKT_FILTER_TEMP_PKT", "PKT_FILTER_TEMP_AND_ADVANCED_PKTS", "PKT_FILTER_TEMP_ADVANCED_AND_DEBUG_PKTS"]
|
|
13
19
|
}
|
|
@@ -12,7 +12,7 @@ def run(test):
|
|
|
12
12
|
datapath_module = eval(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
13
13
|
|
|
14
14
|
test = cert_common.test_prolog(test)
|
|
15
|
-
if test.rc == TEST_FAILED
|
|
15
|
+
if test.rc == TEST_FAILED:
|
|
16
16
|
return cert_common.test_epilog(test)
|
|
17
17
|
|
|
18
18
|
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
"name": "pkt_filter_gen3_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test the packet filter feature configuration and functionality in the bridge for different packet filters with Gen3 data packets",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing",
|
|
6
6
|
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Packet filter configuration",
|
|
9
|
+
"Generate Gen3 pixels packets & scan for packets in the bridge",
|
|
10
|
+
"Compare pacer interval mean per pixel & packet type to the configured value",
|
|
11
|
+
"Repeat for all given packet filter values",
|
|
12
|
+
"Test epilog and revert to defaults"],
|
|
8
13
|
"expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
|
|
9
14
|
"mandatory": 1,
|
|
10
15
|
"multiBridgeTest": 0,
|
|
11
16
|
"gwOnlyTest": 0,
|
|
17
|
+
"internalBridge": 1,
|
|
12
18
|
"allSupportedValues": ["PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT", "PKT_FILTER_DISABLE_FORWARDING", "PKT_FILTER_TEMP_PKT", "PKT_FILTER_TEMP_AND_ADVANCED_PKTS"]
|
|
13
19
|
}
|
|
@@ -13,7 +13,7 @@ def run(test):
|
|
|
13
13
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
14
14
|
|
|
15
15
|
test = cert_common.test_prolog(test)
|
|
16
|
-
if test.rc == TEST_FAILED
|
|
16
|
+
if test.rc == TEST_FAILED:
|
|
17
17
|
return cert_common.test_epilog(test)
|
|
18
18
|
|
|
19
19
|
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
"name": "pkt_filter_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test packet filter feature configuration and functionality in the bridge for different packet filters",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing",
|
|
6
6
|
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Packet filter configuration",
|
|
9
|
+
"Generate pixels packets & scan for packets in the bridge",
|
|
10
|
+
"Compare pacer interval mean per pixel & packet type to the configured value",
|
|
11
|
+
"Repeat for all given packet filter values",
|
|
12
|
+
"Test epilog and revert to defaults"],
|
|
8
13
|
"expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
|
|
9
14
|
"mandatory": 1,
|
|
10
15
|
"multiBridgeTest": 0,
|
|
11
16
|
"gwOnlyTest": 0,
|
|
17
|
+
"internalBridge": 1,
|
|
12
18
|
"allSupportedValues": ["PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT", "PKT_FILTER_DISABLE_FORWARDING", "PKT_FILTER_TEMP_PKT", "PKT_FILTER_TEMP_AND_ADVANCED_PKTS", "PKT_FILTER_TEMP_ADVANCED_AND_DEBUG_PKTS"]
|
|
13
19
|
}
|
|
@@ -13,7 +13,7 @@ def run(test):
|
|
|
13
13
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
14
14
|
|
|
15
15
|
test = cert_common.test_prolog(test)
|
|
16
|
-
if test.rc == TEST_FAILED
|
|
16
|
+
if test.rc == TEST_FAILED:
|
|
17
17
|
return cert_common.test_epilog(test)
|
|
18
18
|
|
|
19
19
|
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
"name": "rssi_threshold_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test RSSI threshold configuration and functionality in the bridge",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "TODO",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"RSSI Threshold configuration",
|
|
9
|
+
"Checking for packets violating RSSI threshold",
|
|
10
|
+
"Test epilog and revert to defaults"],
|
|
8
11
|
"expectedOutcome": "RSSI Threshold configured successfully and no pixel packets with RSSI weaker than the threshold have been echoed.",
|
|
9
12
|
"mandatory": 1,
|
|
10
13
|
"multiBridgeTest": 0,
|
|
11
14
|
"gwOnlyTest": 0,
|
|
15
|
+
"internalBridge": 1,
|
|
12
16
|
"allSupportedValues": ["-80", "-65", "-10"]
|
|
13
17
|
}
|
|
@@ -31,7 +31,7 @@ def run(test):
|
|
|
31
31
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
32
32
|
|
|
33
33
|
test = cert_common.test_prolog(test)
|
|
34
|
-
if test.rc == TEST_FAILED
|
|
34
|
+
if test.rc == TEST_FAILED:
|
|
35
35
|
return cert_common.test_epilog(test)
|
|
36
36
|
|
|
37
37
|
# Configure the BRG with RSSI threshold and check for packets violating the threshold
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "rx_channel_test",
|
|
3
3
|
"module": "datapath",
|
|
4
4
|
"purpose": "Test configuration for all supported datapath rx channel values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Configuration",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": ["RX_CHANNEL_37", "RX_CHANNEL_38", "RX_CHANNEL_39", "RX_CHANNEL_10_250K", "RX_CHANNEL_10_500K"]
|
|
13
16
|
}
|
|
@@ -18,7 +18,7 @@ def run(test):
|
|
|
18
18
|
ble5_state = False # We use this flag to know whether the BRG is currently in BLE5 mode and needs special configuration next time it is configured
|
|
19
19
|
|
|
20
20
|
test = cert_common.test_prolog(test)
|
|
21
|
-
if test.rc == TEST_FAILED
|
|
21
|
+
if test.rc == TEST_FAILED:
|
|
22
22
|
return cert_common.test_epilog(test)
|
|
23
23
|
|
|
24
24
|
for param in test.params:
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rx_rate_gen2",
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": [
|
|
5
|
-
"Verify the accuracy of the RX rate value"
|
|
6
|
-
],
|
|
3
|
+
"module": "datapath",
|
|
4
|
+
"purpose": ["Verify the accuracy of the RX rate value"],
|
|
7
5
|
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing",
|
|
8
6
|
"initialCondition": "Bridge set to default configuration",
|
|
9
7
|
"procedure": [
|
|
@@ -17,5 +15,6 @@
|
|
|
17
15
|
"mandatory": 1,
|
|
18
16
|
"multiBridgeTest": 0,
|
|
19
17
|
"gwOnlyTest": 0,
|
|
18
|
+
"internalBridge": 1,
|
|
20
19
|
"allSupportedValues": ["mid_values", "diff_pacer", "min_value", "max_value", "diff_rate"]
|
|
21
20
|
}
|
|
@@ -159,7 +159,7 @@ def run(test):
|
|
|
159
159
|
# "Test prolog"
|
|
160
160
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
161
161
|
test = cert_common.test_prolog(test)
|
|
162
|
-
if test.rc == TEST_FAILED
|
|
162
|
+
if test.rc == TEST_FAILED:
|
|
163
163
|
return cert_common.test_epilog(test)
|
|
164
164
|
|
|
165
165
|
pacer_interval =1
|