wiliot-certificate 1.5.1a1__py3-none-any.whl → 1.5.2a1__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/wlt_cmd_if.html +3 -2
- brg_certificate/brg_certificate_cli.py +18 -3
- brg_certificate/cert_common.py +82 -26
- brg_certificate/cert_data_sim.py +22 -4
- brg_certificate/cert_defines.py +10 -5
- brg_certificate/cert_gw_sim.py +4 -2
- brg_certificate/cert_mqtt.py +7 -6
- brg_certificate/cert_prints.py +14 -1
- brg_certificate/cert_protobuf.py +7 -7
- brg_certificate/cert_results.py +91 -64
- brg_certificate/cert_utils.py +9 -4
- brg_certificate/certificate_bcc_sanity_test_list.txt +10 -5
- brg_certificate/certificate_bcc_test_list.txt +14 -9
- brg_certificate/certificate_sanity_test_list.txt +10 -4
- brg_certificate/certificate_test_list.txt +13 -9
- brg_certificate/tests/calibration/interval_test/interval_test.json +2 -2
- brg_certificate/tests/calibration/output_power_test/output_power_test.json +3 -2
- brg_certificate/tests/calibration/pattern_test/pattern_test.json +2 -2
- brg_certificate/tests/calibration/pattern_test/pattern_test.py +25 -26
- brg_certificate/tests/datapath/aging_test/aging_test.json +4 -5
- brg_certificate/tests/datapath/aging_test/aging_test.py +39 -32
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +2 -2
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +12 -11
- brg_certificate/tests/datapath/output_power_test/output_power_test.json +2 -2
- brg_certificate/tests/datapath/output_power_test/output_power_test.py +2 -1
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +3 -3
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +6 -3
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +2 -2
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +6 -3
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +2 -2
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +4 -2
- brg_certificate/tests/datapath/pattern_test/pattern_test.json +2 -2
- brg_certificate/tests/datapath/pattern_test/pattern_test.py +2 -1
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +3 -3
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +12 -5
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +2 -2
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +11 -6
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +2 -2
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +11 -7
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +3 -3
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +7 -5
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +2 -2
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +7 -3
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +3 -3
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +107 -73
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +3 -3
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +128 -118
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +8 -8
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +102 -101
- brg_certificate/tests/datapath/stress_test/stress_test.json +14 -15
- brg_certificate/tests/datapath/stress_test/stress_test.py +102 -101
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +2 -2
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +7 -2
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +2 -2
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +8 -6
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +2 -2
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +2 -18
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +14 -8
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +13 -8
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +2 -2
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +22 -9
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +2 -2
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +6 -5
- brg_certificate/tests/edge_mgmt/{stat_test/stat_test.json → periodic_msgs_test/periodic_msgs_test.json} +3 -3
- brg_certificate/tests/edge_mgmt/{stat_test/stat_test.py → periodic_msgs_test/periodic_msgs_test.py} +4 -4
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +3 -3
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +2 -1
- brg_certificate/tests/energy2400/output_power_test/output_power_test.json +4 -3
- brg_certificate/tests/energy2400/output_power_test/output_power_test.py +2 -1
- brg_certificate/tests/energy2400/pattern_test/pattern_test.json +3 -3
- brg_certificate/tests/energy2400/pattern_test/pattern_test.py +2 -1
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +5 -5
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +109 -112
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +5 -5
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +111 -114
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +12 -6
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +45 -57
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +4 -4
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +158 -172
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +2 -2
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +2 -1
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +4 -3
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +2 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +13 -7
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +117 -124
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +2 -2
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +2 -1
- brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json +18 -0
- brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +84 -0
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.json +21 -0
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +306 -0
- brg_certificate/wlt_types.py +2 -1
- {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/METADATA +40 -40
- {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/RECORD +98 -94
- {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/WHEEL +1 -1
- {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/entry_points.txt +0 -0
- {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/licenses/LICENSE +0 -0
- {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
2
|
+
"name": "Tx Repetition Algorithm",
|
|
3
|
+
"module": "Datapath",
|
|
4
4
|
"purpose": "Test the tx repetition adjustment algorithm",
|
|
5
5
|
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
@@ -6,13 +6,16 @@ from brg_certificate.cert_defines import *
|
|
|
6
6
|
from brg_certificate.wlt_types import *
|
|
7
7
|
import brg_certificate.cert_common as cert_common
|
|
8
8
|
import brg_certificate.cert_config as cert_config
|
|
9
|
-
import os
|
|
9
|
+
import os
|
|
10
|
+
import statistics
|
|
11
|
+
import math
|
|
10
12
|
import matplotlib.pyplot as plt
|
|
11
13
|
import plotly.graph_objects as go
|
|
12
14
|
from brg_certificate.cert_gw_sim import DEDUPLICATION_PKTS
|
|
13
15
|
|
|
14
16
|
SCAN_TIME = 60 * 30
|
|
15
17
|
|
|
18
|
+
|
|
16
19
|
def track_tx_rep(test, sorted_database):
|
|
17
20
|
tx_reps = []
|
|
18
21
|
times = []
|
|
@@ -49,6 +52,7 @@ def track_tx_rep(test, sorted_database):
|
|
|
49
52
|
|
|
50
53
|
return test, tx_reps
|
|
51
54
|
|
|
55
|
+
|
|
52
56
|
def tx_rep_analysis(test):
|
|
53
57
|
# Clear data path
|
|
54
58
|
cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT)
|
|
@@ -60,7 +64,7 @@ def tx_rep_analysis(test):
|
|
|
60
64
|
print("Found {} unified packets".format(len(pkts)))
|
|
61
65
|
|
|
62
66
|
# Count payloads
|
|
63
|
-
pkt_payload_counter = {}
|
|
67
|
+
pkt_payload_counter = {} # idx 0 - payload, idx 1 - payload ts
|
|
64
68
|
for p in pkts:
|
|
65
69
|
cur_pkt = p[PAYLOAD]
|
|
66
70
|
if cur_pkt in pkt_payload_counter:
|
|
@@ -89,6 +93,7 @@ def tx_rep_analysis(test):
|
|
|
89
93
|
print(f"total counted tx_reps[{tx_reps}]")
|
|
90
94
|
return test
|
|
91
95
|
|
|
96
|
+
|
|
92
97
|
def run(test):
|
|
93
98
|
|
|
94
99
|
test = cert_common.test_prolog(test)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
2
|
+
"name": "Tx Repetition",
|
|
3
|
+
"module": "Datapath",
|
|
4
4
|
"purpose": "Test tx repetition feature configuration and functionality in the bridge for different tx repetition values",
|
|
5
5
|
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Configuration",
|
|
6
6
|
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
@@ -10,7 +10,8 @@ import brg_certificate.cert_data_sim as cert_data_sim
|
|
|
10
10
|
from brg_certificate.cert_gw_sim import DEDUPLICATION_PKTS
|
|
11
11
|
import statistics
|
|
12
12
|
|
|
13
|
-
TX_REPETITION_THRESHOLD =
|
|
13
|
+
TX_REPETITION_THRESHOLD = 0.5
|
|
14
|
+
|
|
14
15
|
|
|
15
16
|
def tx_repetitions_analysis(test, repetitions):
|
|
16
17
|
cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT)
|
|
@@ -20,8 +21,8 @@ def tx_repetitions_analysis(test, repetitions):
|
|
|
20
21
|
pixel_sim_thread.start()
|
|
21
22
|
mqtt_scan_wait(test, 60)
|
|
22
23
|
if test.data == DATA_SIMULATION:
|
|
23
|
-
pixel_sim_thread.stop()
|
|
24
|
-
cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT)
|
|
24
|
+
pixel_sim_thread.stop() # stop generating pkts on data simulator
|
|
25
|
+
cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT) # Wait for sim queue to free
|
|
25
26
|
pkts = cert_mqtt.get_unified_data_pkts(test)
|
|
26
27
|
print(f"Found {len(pkts)} packets")
|
|
27
28
|
if len(pkts) == 0:
|
|
@@ -45,10 +46,10 @@ def tx_repetitions_analysis(test, repetitions):
|
|
|
45
46
|
test.add_reason(txt)
|
|
46
47
|
return test
|
|
47
48
|
|
|
49
|
+
|
|
48
50
|
def run(test):
|
|
49
51
|
|
|
50
52
|
fields = [BRG_TX_REPETITION, BRG_PKT_FILTER, BRG_RX_CHANNEL]
|
|
51
|
-
|
|
52
53
|
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
53
54
|
|
|
54
55
|
test = cert_common.test_prolog(test)
|
|
@@ -61,7 +62,9 @@ def run(test):
|
|
|
61
62
|
return cert_common.test_epilog(test, revert_gws=True)
|
|
62
63
|
|
|
63
64
|
for param in test.params:
|
|
64
|
-
test = cert_config.brg_configure(test, fields=fields,
|
|
65
|
+
test = cert_config.brg_configure(test, fields=fields,
|
|
66
|
+
values=[param.value, ag.PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT, ag.RX_CHANNEL_37],
|
|
67
|
+
module=datapath_module)[0]
|
|
65
68
|
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
66
69
|
break
|
|
67
70
|
tx_repetitions_analysis(test, param.name)
|
|
@@ -73,7 +76,6 @@ def run(test):
|
|
|
73
76
|
else:
|
|
74
77
|
test.reset_result()
|
|
75
78
|
|
|
76
|
-
|
|
77
79
|
# Re-enable unified packets deduplication
|
|
78
80
|
cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 1")
|
|
79
81
|
return cert_common.test_epilog(test, revert_brgs=True, revert_gws=True, modules=[datapath_module])
|
|
@@ -5,8 +5,6 @@ import brg_certificate.cert_common as cert_common
|
|
|
5
5
|
import brg_certificate.cert_config as cert_config
|
|
6
6
|
import random
|
|
7
7
|
|
|
8
|
-
WATERMARK = "watermark"
|
|
9
|
-
PACER_INC = "pacer_inc"
|
|
10
8
|
BATTERY_SENSOR_SUPPORTING_BOARD_TYPES = [ag.BOARD_TYPE_MINEW_DUAL_BAND_V0, ag.BOARD_TYPE_ERM_V0,
|
|
11
9
|
ag.BOARD_TYPE_ERM_V1, ag.BOARD_TYPE_KOAMTAC_V0]
|
|
12
10
|
POF_NOT_SUPPORTING_BOARD_TYPES = [ag.BOARD_TYPE_FANSTEL_WIFI_V0, ag.BOARD_TYPE_FANSTEL_LAN_V0]
|
|
@@ -165,17 +163,7 @@ def test_action_blink(test):
|
|
|
165
163
|
|
|
166
164
|
|
|
167
165
|
def test_action_send_hb(test):
|
|
168
|
-
datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
169
|
-
# config brg to get a non zero value in the tx_queue_watermark parameter
|
|
170
|
-
test = cert_config.brg_configure(test, fields=[BRG_PACER_INTERVAL, BRG_TX_REPETITION], values=[1, 6], module=datapath_module)[0]
|
|
171
|
-
if test.rc == TEST_FAILED:
|
|
172
|
-
return cert_config.config_brg_defaults(test=test, modules=[datapath_module])[0]
|
|
173
166
|
|
|
174
|
-
if not test.internal_brg:
|
|
175
|
-
# sleep to let some pkts wait in queue
|
|
176
|
-
wait = 10
|
|
177
|
-
print(f"waiting for {wait} secs to fill up the brg queue")
|
|
178
|
-
cert_common.wait_time_n_print(wait)
|
|
179
167
|
# send action
|
|
180
168
|
cert_config.send_brg_action(test, ag.ACTION_SEND_HB)
|
|
181
169
|
# analysis
|
|
@@ -183,10 +171,6 @@ def test_action_send_hb(test):
|
|
|
183
171
|
if not mgmt_pkts:
|
|
184
172
|
test.add_reason("Didn't find ACTION HB pkt")
|
|
185
173
|
test.rc = TEST_FAILED
|
|
186
|
-
test = cert_config.config_brg_defaults(test=test, modules=[datapath_module])[0]
|
|
187
|
-
# queue can be full so need to wait a few seconds
|
|
188
|
-
if not test.internal_brg:
|
|
189
|
-
cert_common.wait_time_n_print(5)
|
|
190
174
|
return test
|
|
191
175
|
|
|
192
176
|
|
|
@@ -208,7 +192,7 @@ def test_action_get_battery_sensor(test):
|
|
|
208
192
|
scan_time = ACTION_SI_PKT_TIMEOUT
|
|
209
193
|
found_packet = False
|
|
210
194
|
while ((datetime.datetime.now() - start_time).seconds <= scan_time):
|
|
211
|
-
custom_pkts = cert_mqtt.get_all_custom_pkts(test
|
|
195
|
+
custom_pkts = cert_mqtt.get_all_custom_pkts(test)
|
|
212
196
|
for p in custom_pkts:
|
|
213
197
|
if p[SENSOR_UUID] == f"{ag.SENSOR_SERVICE_ID_BATTERY_SENSOR:06X}":
|
|
214
198
|
print_pkt(p)
|
|
@@ -239,7 +223,7 @@ def test_action_get_pof_data(test):
|
|
|
239
223
|
scan_time = ACTION_SI_PKT_TIMEOUT
|
|
240
224
|
found_packet = False
|
|
241
225
|
while ((datetime.datetime.now() - start_time).seconds <= scan_time):
|
|
242
|
-
custom_pkts = cert_mqtt.get_all_custom_pkts(test
|
|
226
|
+
custom_pkts = cert_mqtt.get_all_custom_pkts(test)
|
|
243
227
|
for p in custom_pkts:
|
|
244
228
|
if p[SENSOR_UUID] == f"{ag.SENSOR_SERVICE_ID_POF_DATA:06X}":
|
|
245
229
|
print_pkt(p)
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": "
|
|
2
|
+
"name": "Bridge to Bridge OTA BLE5",
|
|
3
|
+
"module": "Edge Management",
|
|
4
|
+
"purpose": "Verify BRG2BRG OTA firmware/bootloader version upgrade functionality using BLE_5.0.",
|
|
5
5
|
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
|
-
"initialCondition": "
|
|
7
|
-
"procedure": ["Test prolog",
|
|
8
|
-
|
|
6
|
+
"initialCondition": "1 GW and 2 BRG's (source, destination) from the same type connected to the GW - the source BRG posses the newer firmware/bootloader version, and the destination BRG posses older firmware/bootloader version.",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Verify initial conditions - same board type, different firmware/bootloader versions",
|
|
9
|
+
"Determine the source & destination BRG according to version",
|
|
10
|
+
"Configure destination BRG rx channel to BLE_5.0 channel (channel 10)",
|
|
11
|
+
"Send brg2brg ota message to the source BRG - initiate brg2brg ota",
|
|
12
|
+
"Verify destination BRG firmware/bootloader version upgrade through module IF packet",
|
|
13
|
+
"Test epilog"],
|
|
14
|
+
"expectedOutcome": "Destination BRG firmware/bootloader version is upgraded to the source BRG firmware/bootloader version.",
|
|
9
15
|
"mandatory": 0,
|
|
10
|
-
"multiBridgeTest":
|
|
16
|
+
"multiBridgeTest": 1,
|
|
11
17
|
"gwOnlyTest": 0,
|
|
12
|
-
"internalBridge":
|
|
18
|
+
"internalBridge": 0,
|
|
13
19
|
"allSupportedValues": ["BOOTLOADER", "APP"]
|
|
14
20
|
}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": "
|
|
2
|
+
"name": "Bridge to Bridge OTA",
|
|
3
|
+
"module": "Edge Management",
|
|
4
|
+
"purpose": "Verify BRG2BRG OTA firmware/bootloader version upgrade functionality",
|
|
5
5
|
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
|
-
"initialCondition": "
|
|
7
|
-
"procedure": ["Test prolog",
|
|
8
|
-
|
|
6
|
+
"initialCondition": "1 GW and 2 BRG's (source, destination) from the same type connected to the GW - the source BRG posses the newer firmware/bootloader version, and the destination BRG posses older firmware/bootloader version.",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Verify initial conditions - same board type, different firmware/bootloader versions",
|
|
9
|
+
"Determine the source & destination BRG according to version",
|
|
10
|
+
"Send brg2brg ota message to the source BRG - initiate brg2brg ota",
|
|
11
|
+
"Verify destination BRG firmware/bootloader version upgrade through module IF packet",
|
|
12
|
+
"Test epilog"],
|
|
13
|
+
"expectedOutcome": "Destination BRG firmware/bootloader version is upgraded to the source BRG firmware/bootloader version.",
|
|
9
14
|
"mandatory": 0,
|
|
10
|
-
"multiBridgeTest":
|
|
15
|
+
"multiBridgeTest": 1,
|
|
11
16
|
"gwOnlyTest": 0,
|
|
12
|
-
"internalBridge":
|
|
17
|
+
"internalBridge": 0,
|
|
13
18
|
"allSupportedValues": ["BOOTLOADER", "APP"]
|
|
14
19
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
2
|
+
"name": "LEDs Behaviour",
|
|
3
|
+
"module": "Edge Management",
|
|
4
4
|
"purpose": "Test the behavior and indications of LEDs during different operational states.",
|
|
5
5
|
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
@@ -160,15 +160,28 @@ def run(test):
|
|
|
160
160
|
utPrint("Succesfully Reverted the BRG to default configuration!\n", "GREEN")
|
|
161
161
|
|
|
162
162
|
# ----------------------- Blink check ----------------------- #
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
163
|
+
value = 'n'
|
|
164
|
+
while True:
|
|
165
|
+
utPrint("Blink action check - pay attention to the LED's", "HEADER")
|
|
166
|
+
cert_config.send_brg_action(test, ag.ACTION_BLINK)
|
|
167
|
+
if board_type == ag.BOARD_TYPE_MINEW_POE_V0:
|
|
168
|
+
utPrint(f"wait a few seconds for the action to apply - "
|
|
169
|
+
f"Did you see all 4 LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
|
|
170
|
+
else:
|
|
171
|
+
utPrint(f"wait a few seconds for the action to apply - "
|
|
172
|
+
f"Did you see both LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
|
|
173
|
+
repeat = False
|
|
174
|
+
value = cert_common.check_input_n_try_again(input())
|
|
175
|
+
if value.lower() == 'n':
|
|
176
|
+
utPrint("Want to send the Blink action again?", "BLUE")
|
|
177
|
+
value = cert_common.check_input_n_try_again(input())
|
|
178
|
+
if value.lower() == 'y':
|
|
179
|
+
utPrint("Sending the Blink action again!", "WARNING")
|
|
180
|
+
repeat = True
|
|
181
|
+
elif value.lower() == 'n':
|
|
182
|
+
utPrint("No need to repeat - Let's proceed!", "GREEN")
|
|
183
|
+
if repeat is False:
|
|
184
|
+
break
|
|
172
185
|
test = cert_common.value_check_if_y(test, value, "Blink check")
|
|
173
186
|
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
174
187
|
return cert_common.test_epilog(test)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
2
|
+
"name": "Bridge OTA",
|
|
3
|
+
"module": "Edge Management",
|
|
4
4
|
"purpose": "Test Over-the-air (OTA) firmware update functionality",
|
|
5
5
|
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults and connected to a GW",
|
|
@@ -58,8 +58,8 @@ def get_report_status(test):
|
|
|
58
58
|
print_update_wait()
|
|
59
59
|
|
|
60
60
|
test.rc = TEST_FAILED
|
|
61
|
-
print("Not all reports on OTA
|
|
62
|
-
test.add_reason("Not all reports on OTA
|
|
61
|
+
print("Not all reports on OTA were received")
|
|
62
|
+
test.add_reason("Not all reports on OTA were received")
|
|
63
63
|
return test
|
|
64
64
|
|
|
65
65
|
|
|
@@ -101,11 +101,12 @@ def run(test):
|
|
|
101
101
|
if test.rc == TEST_FAILED:
|
|
102
102
|
return cert_common.test_epilog(test, revert_brgs=True)
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
versions_mgmt2 = cert_utils.load_module('versions_mgmt2.py', f'{UTILS_BASE_REL_PATH}/versions_mgmt2.py')
|
|
105
|
+
reg_id = versions_mgmt2.get_board_type(env=AWS, server=TEST, board_name="wifi")[versions_mgmt2.BOARD_REG_ID]
|
|
105
106
|
if test.latest:
|
|
106
|
-
_, version =
|
|
107
|
+
_, version = versions_mgmt2.get_versions(env=AWS, server=TEST, board_type_reg_id=reg_id, ci=True)
|
|
107
108
|
elif test.release_candidate:
|
|
108
|
-
_, version =
|
|
109
|
+
_, version = versions_mgmt2.get_versions(env=AWS, server=TEST, board_type_reg_id=reg_id, rc=True)
|
|
109
110
|
else:
|
|
110
111
|
test.rc = TEST_FAILED
|
|
111
112
|
test.reason = NO_PARAMS_GIVEN
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": "Test
|
|
2
|
+
"name": "Periodic Messages",
|
|
3
|
+
"module": "Edge Management",
|
|
4
|
+
"purpose": "Test periodic messages (heartbeat and interface) sent from the bridge",
|
|
5
5
|
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
7
|
"procedure": ["Test prolog", "Scan for heartbeat and interface packets", "Test epilog"],
|
brg_certificate/tests/edge_mgmt/{stat_test/stat_test.py → periodic_msgs_test/periodic_msgs_test.py}
RENAMED
|
@@ -3,10 +3,10 @@ from brg_certificate.cert_defines import *
|
|
|
3
3
|
from brg_certificate.wlt_types import *
|
|
4
4
|
import brg_certificate.cert_common as cert_common
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
BRG_PER_MSGS_SCAN_TIMEOUT = 65
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
def
|
|
9
|
+
def scan_for_brg_periodic_msgs(test, timeout=BRG_PER_MSGS_SCAN_TIMEOUT, only_hb=False):
|
|
10
10
|
# In case we want to look for HB pkts only - set all modules to be True --> as if there are alredy found
|
|
11
11
|
found = {HB: False, MODULE_IF: False}
|
|
12
12
|
if only_hb is True:
|
|
@@ -42,7 +42,7 @@ def run(test):
|
|
|
42
42
|
if test.rc == TEST_FAILED:
|
|
43
43
|
return cert_common.test_epilog(test)
|
|
44
44
|
|
|
45
|
-
test =
|
|
46
|
-
generate_log_file(test, "
|
|
45
|
+
test = scan_for_brg_periodic_msgs(test)
|
|
46
|
+
generate_log_file(test, "periodic_msgs")
|
|
47
47
|
|
|
48
48
|
return cert_common.test_epilog(test)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": "Test configuration for supported
|
|
2
|
+
"name": "Duty Cycle",
|
|
3
|
+
"module": "Energizer 2.4GHz",
|
|
4
|
+
"purpose": "Test configuration for supported Energizer 2.4GHz duty cycle values",
|
|
5
5
|
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
7
|
"procedure": ["Test prolog",
|
|
@@ -4,6 +4,7 @@ from brg_certificate.wlt_types import *
|
|
|
4
4
|
import brg_certificate.cert_common as cert_common
|
|
5
5
|
import brg_certificate.cert_config as cert_config
|
|
6
6
|
|
|
7
|
+
|
|
7
8
|
def run(test):
|
|
8
9
|
|
|
9
10
|
fields = [BRG_DUTY_CYCLE]
|
|
@@ -23,4 +24,4 @@ def run(test):
|
|
|
23
24
|
else:
|
|
24
25
|
test.reset_result()
|
|
25
26
|
|
|
26
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
27
|
+
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": "Test configuration for all supported
|
|
2
|
+
"name": "Output Power",
|
|
3
|
+
"module": "Energizer 2.4GHz",
|
|
4
|
+
"purpose": "Test configuration for all supported Energizer 2.4GHz output power values",
|
|
5
5
|
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
7
|
"procedure": ["Test prolog",
|
|
@@ -11,5 +11,6 @@
|
|
|
11
11
|
"mandatory": 1,
|
|
12
12
|
"multiBridgeTest": 0,
|
|
13
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
14
15
|
"allSupportedValues": [-12, -8, -4, 0, 2, 3]
|
|
15
16
|
}
|
|
@@ -4,6 +4,7 @@ from brg_certificate.wlt_types import *
|
|
|
4
4
|
import brg_certificate.cert_common as cert_common
|
|
5
5
|
import brg_certificate.cert_config as cert_config
|
|
6
6
|
|
|
7
|
+
|
|
7
8
|
def run(test):
|
|
8
9
|
|
|
9
10
|
fields = [BRG_OUTPUT_POWER]
|
|
@@ -24,4 +25,4 @@ def run(test):
|
|
|
24
25
|
else:
|
|
25
26
|
test.reset_result()
|
|
26
27
|
|
|
27
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
28
|
+
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": "Test configuration for all supported
|
|
2
|
+
"name": "Pattern",
|
|
3
|
+
"module": "Energizer 2.4GHz",
|
|
4
|
+
"purpose": "Test configuration for all supported Energizer 2.4GHz pattern values",
|
|
5
5
|
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
7
|
"procedure": ["Test prolog",
|
|
@@ -4,6 +4,7 @@ from brg_certificate.wlt_types import *
|
|
|
4
4
|
import brg_certificate.cert_common as cert_common
|
|
5
5
|
import brg_certificate.cert_config as cert_config
|
|
6
6
|
|
|
7
|
+
|
|
7
8
|
def run(test):
|
|
8
9
|
|
|
9
10
|
fields = [BRG_PATTERN]
|
|
@@ -25,4 +26,4 @@ def run(test):
|
|
|
25
26
|
else:
|
|
26
27
|
test.reset_result()
|
|
27
28
|
|
|
28
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
29
|
+
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
3
|
-
"module": "
|
|
4
|
-
"purpose": "
|
|
2
|
+
"name": "Signal Indicator BLE5 E2/E3 Pixels",
|
|
3
|
+
"module": "Energizer 2.4GHz",
|
|
4
|
+
"purpose": "verify Energizer 2.4GHz signal indicator functionality for BLE_5.0 in CHANNEL_10 for E2/E3 pixels modulation",
|
|
5
5
|
"documentation": "https://community.wiliot.com/customers/s/article/Bridge-to-Bridge-Signal-Indicator",
|
|
6
|
-
"initialCondition": "",
|
|
6
|
+
"initialCondition": "Bridge configured to defaults",
|
|
7
7
|
"procedure": ["Test prolog",
|
|
8
8
|
"rssi_threshold - check the if rssi value is between 0 to -25.",
|
|
9
9
|
"brg0_rx_brg1_tx - one brg is transmitter and the second is receiver, we expect to get the same values from the receiver, according to the tx params",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"brg0_rxtx_brg1_rxtx - Both BRG's will be configured to be transmitters and receivers, with different tx params for each one. we expect to see signal indicator packets from both BRG's, according to the tx params.",
|
|
12
12
|
"brg0_tx_brg1_none - One BRG will be configured as signal indicator tx, but no rx, so we don't expect to receive signal indicator packets.",
|
|
13
13
|
"Test epilog"],
|
|
14
|
-
"expectedOutcome": "",
|
|
14
|
+
"expectedOutcome": "All phases passed successfully!",
|
|
15
15
|
"mandatory": 0,
|
|
16
16
|
"multiBridgeTest": 1,
|
|
17
17
|
"gwOnlyTest": 0,
|