wiliot-certificate 1.5.2a1__py3-none-any.whl → 4.4.0a1__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 +3 -3
- brg_certificate/ag/energous_v1_defines.py +3 -3
- brg_certificate/ag/energous_v2_defines.py +3 -3
- brg_certificate/ag/energous_v3_defines.py +3 -3
- brg_certificate/ag/energous_v4_defines.py +3 -3
- brg_certificate/ag/fanstel_lan_v0_defines.py +3 -3
- brg_certificate/ag/fanstel_lte_v0_defines.py +3 -3
- brg_certificate/ag/fanstel_wifi_v0_defines.py +3 -3
- brg_certificate/ag/minew_lte_v0_defines.py +3 -3
- brg_certificate/ag/wlt_types.html +3 -3
- brg_certificate/ag/wlt_types_ag.py +8 -8
- brg_certificate/cert_common.py +61 -11
- brg_certificate/cert_config.py +12 -7
- brg_certificate/cert_utils.py +3 -1
- brg_certificate/certificate_bcc_test_list.txt +2 -2
- brg_certificate/certificate_test_list.txt +4 -4
- brg_certificate/tests/calibration/interval_test/interval_test.py +7 -6
- brg_certificate/tests/calibration/output_power_test/output_power_test.py +7 -6
- brg_certificate/tests/calibration/pattern_test/pattern_test.py +20 -10
- brg_certificate/tests/datapath/aging_test/aging_test.py +11 -9
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +11 -13
- brg_certificate/tests/datapath/output_power_test/output_power_test.py +7 -5
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +13 -8
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +11 -4
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +12 -10
- brg_certificate/tests/datapath/pattern_test/pattern_test.py +7 -6
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +12 -9
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +13 -10
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +13 -11
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +13 -11
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +7 -7
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +34 -35
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +41 -44
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +1 -2
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +7 -9
- brg_certificate/tests/datapath/stress_test/stress_test.json +1 -2
- brg_certificate/tests/datapath/stress_test/stress_test.py +8 -10
- 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.py +14 -11
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +15 -13
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +1 -1
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +2 -2
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +7 -5
- brg_certificate/tests/energy2400/output_power_test/output_power_test.py +7 -5
- brg_certificate/tests/energy2400/pattern_test/pattern_test.py +7 -5
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +2 -2
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +256 -278
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +2 -2
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +256 -278
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +3 -3
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +30 -91
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +7 -6
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +7 -5
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +2 -2
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +7 -6
- brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +2 -2
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +8 -7
- gw_certificate/api_if/gw_capabilities.py +37 -1
- gw_certificate/common/serialization_formatter.py +80 -0
- gw_certificate/common/wltPb_pb2.py +50 -38
- gw_certificate/common/wltPb_pb2.pyi +42 -35
- gw_certificate/gw_certificate.py +4 -2
- gw_certificate/gw_certificate_cli.py +5 -4
- gw_certificate/interface/4.4.88_app.zip +0 -0
- gw_certificate/interface/{4.4.52_sd_bl_app.zip → 4.4.88_sd_bl_app.zip} +0 -0
- gw_certificate/interface/ble_simulator.py +5 -3
- gw_certificate/interface/mqtt.py +39 -23
- gw_certificate/interface/pkt_generator.py +0 -44
- gw_certificate/interface/uart_if.py +25 -12
- gw_certificate/tests/actions.py +33 -5
- gw_certificate/tests/connection.py +3 -1
- gw_certificate/tests/generic.py +1 -1
- gw_certificate/tests/registration.py +4 -4
- gw_certificate/tests/static/generated_packet_table.py +47 -25
- gw_certificate/tests/static/packet_table.csv +10067 -10051
- gw_certificate/tests/static/uplink_defines.py +1 -0
- gw_certificate/tests/throughput.py +2 -1
- gw_certificate/tests/uplink.py +142 -22
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/METADATA +1 -1
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/RECORD +84 -83
- gw_certificate/interface/4.4.52_app.zip +0 -0
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/WHEEL +0 -0
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/entry_points.txt +0 -0
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/licenses/LICENSE +0 -0
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/top_level.txt +0 -0
|
@@ -134,6 +134,7 @@ class StressTestStage(GenericStressStage):
|
|
|
134
134
|
run_data = self.run_stress_data.data
|
|
135
135
|
end_time = datetime.datetime.now() + datetime.timedelta(seconds=TIME_PER_DELAY_FIRST if delay == STRESS_DEFAULT_DELAYS[0] else TIME_PER_DELAY)
|
|
136
136
|
last_sent_time = time.perf_counter_ns()
|
|
137
|
+
debug_print('Advertising packets...')
|
|
137
138
|
for index, row in run_data.iterrows():
|
|
138
139
|
if datetime.datetime.now() > end_time:
|
|
139
140
|
debug_print(f"Timeout for PPS rate {int(ONE_SECOND_MS / delay)} reached")
|
|
@@ -142,7 +143,7 @@ class StressTestStage(GenericStressStage):
|
|
|
142
143
|
self.local_pkts.append(row[PAYLOAD])
|
|
143
144
|
while True:
|
|
144
145
|
if time.perf_counter_ns() - last_sent_time >= delay * 10**6:
|
|
145
|
-
self.ble_sim.send_packet(data, duplicates=self.duplicates, delay=0)
|
|
146
|
+
self.ble_sim.send_packet(data, duplicates=self.duplicates, delay=0, print_for_debug=False)
|
|
146
147
|
last_sent_time = time.perf_counter_ns()
|
|
147
148
|
break
|
|
148
149
|
self.ts_records_arr[delay_idx].set_adv_timestamp_current(data)
|
gw_certificate/tests/uplink.py
CHANGED
|
@@ -14,16 +14,18 @@ from gw_certificate.interface.if_defines import DEFAULT_DELAY, LOCATION
|
|
|
14
14
|
from gw_certificate.tests.static.uplink_defines import *
|
|
15
15
|
from gw_certificate.interface.mqtt import MqttClient, Serialization
|
|
16
16
|
from gw_certificate.interface.pkt_generator import BrgPktGenerator, apply_adva_bitmask
|
|
17
|
-
from gw_certificate.tests.static.generated_packet_table import UnifiedRunData, SensorRunData, MgmtRunData, PacketTableHelper
|
|
17
|
+
from gw_certificate.tests.static.generated_packet_table import UnifiedRunData, SensorRunData, MgmtRunData, PacketTableHelper, ACLRunData
|
|
18
18
|
from gw_certificate.tests.generic import PassCriteria, PERFECT_SCORE, MINIMUM_SCORE, GenericTest, GenericStage, ERR_SUMMARY_DEFAULT
|
|
19
19
|
from gw_certificate.api_if.api_validation import MESSAGE_TYPES, validate_message
|
|
20
20
|
from gw_certificate.tests.static.generated_packet_table import CSV_NAME
|
|
21
|
+
from gw_certificate.common.serialization_formatter import ACL_MODE, ACL_BRIDGE_IDS, SerializationFormatter, Configurable, ACL_ALLOW, ACL_DENY
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
# HELPER DEFINES
|
|
24
25
|
TABLE_SUFFIX = "Table"
|
|
25
26
|
ERR_SUM_MISSING_PKTS = "Insufficient amount of packets were scanned & uploaded by the gateway. "
|
|
26
27
|
ERR_SUM_ONLY_1E = "Packets with length != '1E' were not uploaded. "
|
|
28
|
+
ACL_MODE_COUNT = 2
|
|
27
29
|
|
|
28
30
|
# HELPER FUNCTIONS
|
|
29
31
|
def process_payload(packet:dict):
|
|
@@ -548,22 +550,8 @@ class AliasBridgeIDStage(GenericUplinkStage):
|
|
|
548
550
|
all_payloads = uplink_tests_df[PAYLOAD]
|
|
549
551
|
self.all_test_payloads = all_payloads.tolist()
|
|
550
552
|
|
|
551
|
-
def _parser(row, desired:Literal['adva', 'without_adva']):
|
|
552
|
-
if desired == 'adva':
|
|
553
|
-
output_string = row.at[ADVA_PAYLOAD][:12]
|
|
554
|
-
elif desired == 'without_adva':
|
|
555
|
-
output_string = row.at[ADVA_PAYLOAD][12:]
|
|
556
|
-
else:
|
|
557
|
-
raise ValueError
|
|
558
|
-
return output_string
|
|
559
|
-
|
|
560
553
|
# Create data set for alias bridge verification
|
|
561
|
-
alias_bridge_id_df = uplink_tests_df.copy()
|
|
562
|
-
# Take the adva from the payload
|
|
563
|
-
alias_bridge_id_df['alias_bridge_id'] = alias_bridge_id_df['adva']
|
|
564
|
-
# Convert bridge_id to little endian
|
|
565
|
-
alias_bridge_id_df['alias_bridge_id'] = alias_bridge_id_df['alias_bridge_id'].apply(lambda x: ''.join(format(byte, '02X') for byte in bytes.fromhex(x)[::-1]))
|
|
566
|
-
self.alias_bridge_id_df = alias_bridge_id_df
|
|
554
|
+
self.alias_bridge_id_df = uplink_tests_df.copy()
|
|
567
555
|
|
|
568
556
|
def generate_stage_report(self, **kwargs):
|
|
569
557
|
report = []
|
|
@@ -581,6 +569,9 @@ class AliasBridgeIDStage(GenericUplinkStage):
|
|
|
581
569
|
filtered_pkts.append(pkt)
|
|
582
570
|
message['packets'] = filtered_pkts
|
|
583
571
|
|
|
572
|
+
def swap_endianness(hex_str: str) -> str:
|
|
573
|
+
return ''.join(format(b, '02X') for b in bytes.fromhex(hex_str)[::-1])
|
|
574
|
+
|
|
584
575
|
def is_alias_bridge_id_valid(message):
|
|
585
576
|
nonlocal aliasBridgeId_valid
|
|
586
577
|
packets = message['packets']
|
|
@@ -593,9 +584,10 @@ class AliasBridgeIDStage(GenericUplinkStage):
|
|
|
593
584
|
if len(validation_data) != 1:
|
|
594
585
|
debug_print(f"validation_data unexpected len:{len(validation_data)}, for payload:{pkt_payload}")
|
|
595
586
|
return
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
587
|
+
expected_bridge_id = validation_data.iloc[0]['adva']
|
|
588
|
+
expected_bridge_ids = [expected_bridge_id, swap_endianness(expected_bridge_id)]
|
|
589
|
+
if pkt_alias_bridge_id.upper() not in expected_bridge_ids:
|
|
590
|
+
report.append(f"Alias bridge ID of the packet does not match. Expected alias bridge IDs:{expected_bridge_ids} but the packet alias bridge ID is {pkt_alias_bridge_id}")
|
|
599
591
|
self.stage_pass = MINIMUM_SCORE
|
|
600
592
|
self.error_summary = "aliasBridgeId doesn't match the expected one of a packet. "
|
|
601
593
|
aliasBridgeId_valid = False
|
|
@@ -678,11 +670,137 @@ class GeolocationStage(GenericUplinkStage):
|
|
|
678
670
|
stage_report=self.report.split('\n'), graph = graph_div)
|
|
679
671
|
return self.report
|
|
680
672
|
|
|
673
|
+
class ACLStage(GenericUplinkStage):
|
|
674
|
+
def __init__(self, **kwargs):
|
|
675
|
+
self.stage_tooltip = "Tests the Access Control List capability of a gateway. Simulates packets from two bridges, with different ACL configurations"
|
|
676
|
+
self.__dict__.update(kwargs)
|
|
677
|
+
super().__init__(**self.__dict__, stage_name=type(self).__name__)
|
|
678
|
+
self.pass_min = 60
|
|
679
|
+
self.inconclusive_min = 50
|
|
680
|
+
self.run_data = ACLRunData().data
|
|
681
|
+
|
|
682
|
+
@property
|
|
683
|
+
def acl_modes(self):
|
|
684
|
+
return [ACL_ALLOW, ACL_DENY]
|
|
685
|
+
|
|
686
|
+
def run(self):
|
|
687
|
+
super().run()
|
|
688
|
+
|
|
689
|
+
def advertise_packets(pkts_group, adv_count, acl_brg_ids, mode):
|
|
690
|
+
acl_dict = {ACL_MODE: mode, ACL_BRIDGE_IDS: acl_brg_ids}
|
|
691
|
+
|
|
692
|
+
# Calculate row indices we want to advertise
|
|
693
|
+
df_packets_count = len(self.run_data) // adv_count
|
|
694
|
+
start_idx = df_packets_count * pkts_group
|
|
695
|
+
end_idx = df_packets_count * (pkts_group + 1)
|
|
696
|
+
|
|
697
|
+
for index, row in self.run_data.iloc[start_idx:end_idx].iterrows():
|
|
698
|
+
if mode == ACL_ALLOW:
|
|
699
|
+
should_be_received = row['bridge_id'] in acl_brg_ids
|
|
700
|
+
else:
|
|
701
|
+
should_be_received = row['bridge_id'] not in acl_brg_ids
|
|
702
|
+
data = row[ADVA_PAYLOAD]
|
|
703
|
+
self.local_pkts.append((row[PAYLOAD], row['duplication'], row['time_delay'], row['adva'], acl_dict, should_be_received))
|
|
704
|
+
self.ble_sim.send_packet(raw_packet=data, duplicates=row['duplication'], delay=row['time_delay'])
|
|
705
|
+
self.ts_records.set_adv_timestamp_current(data)
|
|
706
|
+
|
|
707
|
+
def configure_acl(mode, bridgeIds):
|
|
708
|
+
acl_dict = {ACL_MODE: mode, ACL_BRIDGE_IDS: bridgeIds}
|
|
709
|
+
ser_format = SerializationFormatter(self.mqttc.get_serialization())
|
|
710
|
+
payload = ser_format.cfg_param_set(self.cfg_data.status_msg_get(), Configurable.ACL.value, acl_dict)
|
|
711
|
+
self.mqttc.flush_messages_topic('status')
|
|
712
|
+
self.mqttc.send_payload(payload)
|
|
713
|
+
time.sleep(5 if self.aggregation_time == 0 else self.aggregation_time)
|
|
714
|
+
debug_print('Status message received from gw:')
|
|
715
|
+
debug_print(self.mqttc.get_status_message())
|
|
716
|
+
|
|
717
|
+
# Configuring each bridge in ACL, once for each mode
|
|
718
|
+
brg_ids = self.run_data['bridge_id'].unique().tolist()
|
|
719
|
+
cfg_and_adv_loops = len(brg_ids) * len(self.acl_modes)
|
|
720
|
+
i = 0
|
|
721
|
+
for brg_id in brg_ids:
|
|
722
|
+
acl_brg_ids = [brg_id]
|
|
723
|
+
for mode in self.acl_modes:
|
|
724
|
+
configure_acl(mode, acl_brg_ids)
|
|
725
|
+
time.sleep(5 if self.aggregation_time == 0 else self.aggregation_time)
|
|
726
|
+
advertise_packets(i, cfg_and_adv_loops, acl_brg_ids, mode)
|
|
727
|
+
time.sleep(5 if self.aggregation_time == 0 else self.aggregation_time)
|
|
728
|
+
i += 1
|
|
729
|
+
|
|
730
|
+
configure_acl(ACL_DENY, [])
|
|
731
|
+
time.sleep(5)
|
|
732
|
+
|
|
733
|
+
def compare_local_mqtt(self):
|
|
734
|
+
self.fetch_mqtt_from_stage()
|
|
735
|
+
local_pkts_df = pd.DataFrame(self.local_pkts, columns=[PAYLOAD, 'duplication', 'time_delay', 'aliasBridgeId', 'ACL', SHOULD_RECEIVE])
|
|
736
|
+
mqtt_pkts_df = pd.DataFrame(self.mqtt_pkts)
|
|
737
|
+
comparison = local_pkts_df
|
|
738
|
+
|
|
739
|
+
if PAYLOAD not in mqtt_pkts_df.columns:
|
|
740
|
+
mqtt_pkts_df[PAYLOAD] = ''
|
|
741
|
+
received_pkts_df = pd.merge(local_pkts_df[PAYLOAD], mqtt_pkts_df[PAYLOAD], how='inner')
|
|
742
|
+
|
|
743
|
+
received_pkts = set(received_pkts_df[PAYLOAD])
|
|
744
|
+
|
|
745
|
+
self.pkts_received_count = pd.Series.count(received_pkts_df)
|
|
746
|
+
unique_received_count = len(received_pkts)
|
|
747
|
+
self.pkts_filtered_out_count = self.pkts_received_count - unique_received_count
|
|
748
|
+
|
|
749
|
+
comparison[RECEIVED] = comparison[PAYLOAD].isin(received_pkts)
|
|
750
|
+
self.comparison = comparison
|
|
751
|
+
|
|
752
|
+
def generate_stage_report(self):
|
|
753
|
+
self.compare_local_mqtt()
|
|
754
|
+
self.ts_records.validate_timestamps(self.mqtt_pkts)
|
|
755
|
+
self.add_report_header()
|
|
756
|
+
|
|
757
|
+
num_pkts_sent = len(self.comparison)
|
|
758
|
+
num_pkts_received = self.comparison[RECEIVED].eq(True).sum()
|
|
759
|
+
num_pkts_should_received = self.comparison[SHOULD_RECEIVE].eq(True).sum()
|
|
760
|
+
num_pkts_should_discard = self.comparison[SHOULD_RECEIVE].eq(False).sum()
|
|
761
|
+
num_pkts_discarded_correctly = (self.comparison[SHOULD_RECEIVE].eq(False) & self.comparison[RECEIVED].eq(False)).sum()
|
|
762
|
+
num_pkts_received_falsly = (self.comparison[SHOULD_RECEIVE].eq(False) & self.comparison[RECEIVED].eq(True)).sum()
|
|
763
|
+
self.add_to_stage_report(f"Total packets advertised: {num_pkts_sent}")
|
|
764
|
+
self.add_to_stage_report(f"Packets received / should've received: {num_pkts_received} / {num_pkts_should_received}")
|
|
765
|
+
self.add_to_stage_report(f"Packets discarded / should've discarded: {num_pkts_discarded_correctly} / {num_pkts_should_discard}")
|
|
766
|
+
self.add_to_stage_report(f"False positives (failed to discard): {num_pkts_received_falsly}")
|
|
767
|
+
|
|
768
|
+
if num_pkts_received_falsly > 0:
|
|
769
|
+
self.stage_pass = MINIMUM_SCORE
|
|
770
|
+
self.error_summary = "Received packet/s that should've been discarded"
|
|
771
|
+
for index, row in self.comparison.iterrows():
|
|
772
|
+
if row[RECEIVED] == True and row[SHOULD_RECEIVE] == False:
|
|
773
|
+
self.add_to_stage_report(f"Payload from bridge {row['aliasBridgeId']} should have been filtered out: {row[PAYLOAD]}")
|
|
774
|
+
elif num_pkts_received == 0:
|
|
775
|
+
self.stage_pass = MINIMUM_SCORE
|
|
776
|
+
self.error_summary = "No packets received"
|
|
777
|
+
debug_print(f"No packets were received")
|
|
778
|
+
else:
|
|
779
|
+
self.stage_pass = num_pkts_received / num_pkts_should_received * PERFECT_SCORE
|
|
780
|
+
if self.stage_pass < self.pass_min:
|
|
781
|
+
self.add_to_stage_report(ERR_SUM_MISSING_PKTS)
|
|
782
|
+
self.error_summary = ERR_SUM_MISSING_PKTS
|
|
783
|
+
|
|
784
|
+
if num_pkts_received > 0:
|
|
785
|
+
self.add_report_topic_validation('data')
|
|
786
|
+
|
|
787
|
+
self.ts_records.add_ts_errs_to_report(self)
|
|
788
|
+
|
|
789
|
+
self.comparison.to_csv(self.csv_path)
|
|
790
|
+
self.add_report_line_separator()
|
|
791
|
+
self.add_to_stage_report(f'Stage data saved - {self.csv_path}')
|
|
792
|
+
debug_print(self.report)
|
|
793
|
+
|
|
794
|
+
# Generate HTML
|
|
795
|
+
self.report_html = self.template_engine.render_template('stage.html', stage=self,
|
|
796
|
+
stage_report=self.report.split('\n'))
|
|
797
|
+
|
|
798
|
+
return self.report
|
|
681
799
|
|
|
682
800
|
# TEST CLASS
|
|
683
|
-
TX_STAGES = [ManagementPacketStage, DataPacketStage, SensorPacketStage]
|
|
801
|
+
TX_STAGES = [ManagementPacketStage, DataPacketStage, SensorPacketStage, ACLStage]
|
|
684
802
|
UNCOUPLED_STAGES = [ManagementPacketStage, DataPacketStage, SensorPacketStage,
|
|
685
|
-
SequentialSequenceIdStage,
|
|
803
|
+
SequentialSequenceIdStage, GeolocationStage]
|
|
686
804
|
|
|
687
805
|
class UplinkTest(GenericTest):
|
|
688
806
|
def __init__(self, **kwargs):
|
|
@@ -695,7 +813,9 @@ class UplinkTest(GenericTest):
|
|
|
695
813
|
super().prepare_test()
|
|
696
814
|
stages = UNCOUPLED_STAGES
|
|
697
815
|
if self.mqttc.get_serialization() == Serialization.JSON:
|
|
698
|
-
stages
|
|
816
|
+
stages.append(ApiValidationStage)
|
|
817
|
+
if self.cfg_data.is_acl_supported():
|
|
818
|
+
stages.append(ACLStage)
|
|
699
819
|
# if self.gw_capabilities.geoLocationSupport:
|
|
700
820
|
# stages.append(GeolocationStage)
|
|
701
821
|
self.stages = [stage(**self.__dict__) for stage in stages]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
brg_certificate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
brg_certificate/brg_certificate.py,sha256=3Kz18fiY5lg3WyasmAsYQIllfI_ZnsDxCW7BBzJpoyY,9592
|
|
3
3
|
brg_certificate/brg_certificate_cli.py,sha256=THSKJM8ONsNfFaG5tb-xdEJmNSTbpyIcmYjDlDVu1-k,3997
|
|
4
|
-
brg_certificate/cert_common.py,sha256=
|
|
5
|
-
brg_certificate/cert_config.py,sha256=
|
|
4
|
+
brg_certificate/cert_common.py,sha256=XkW2NiU5Dthds-GqbDS4DvBPQNeb6h1Cn7Umhb2exHQ,42202
|
|
5
|
+
brg_certificate/cert_config.py,sha256=hmnCT0bfPRsu_nHwXoGqGIjuvoGrJQMC2D1HdkX0aXE,20119
|
|
6
6
|
brg_certificate/cert_data_sim.py,sha256=Zw21ElvM5lYRtsXSDzi0GdYQLnxl3CYsRjABVJYNW_Q,10235
|
|
7
7
|
brg_certificate/cert_defines.py,sha256=N2eaOxFOgpSvvVWm2TcG1JgDKxLs6DESKGwYQGabl4w,18617
|
|
8
8
|
brg_certificate/cert_gw_sim.py,sha256=MWxNKNCVqQEyDKc66VhGz1_KsOczvn0sjaSyvYH15FM,13243
|
|
@@ -10,27 +10,27 @@ brg_certificate/cert_mqtt.py,sha256=dcAOsULShN9VmppT150wNwbPRjIdutLnTGlb_MfWpXk,
|
|
|
10
10
|
brg_certificate/cert_prints.py,sha256=s0u0Omnq1aruo0CkS_7p4hqpD-fSRx7ih9vJ4x9cbcU,7045
|
|
11
11
|
brg_certificate/cert_protobuf.py,sha256=1jiPIYBFkA21iClxn2fC3GEQzdh7wLB01pdddwXMX-g,3542
|
|
12
12
|
brg_certificate/cert_results.py,sha256=GU4oQf1NBrehhaQRPrOuv3ts3RUIzxitaCpxKxNJRu0,20870
|
|
13
|
-
brg_certificate/cert_utils.py,sha256=
|
|
13
|
+
brg_certificate/cert_utils.py,sha256=zFQFNxNOi5AH92JgWknZv9NZN-sz-G-dh7sOzz_SRgw,16550
|
|
14
14
|
brg_certificate/certificate_bcc_sanity_test_list.txt,sha256=SURuNOLuIO7xzh5KnMBYYzwMjZlcLqGaPLwBdqxCKbc,2281
|
|
15
|
-
brg_certificate/certificate_bcc_test_list.txt,sha256=
|
|
15
|
+
brg_certificate/certificate_bcc_test_list.txt,sha256=PI2mU-1iQNq7bgitjVr1ERPYCS-bWRJC7bHLBaPFRf0,3624
|
|
16
16
|
brg_certificate/certificate_sanity_test_list.txt,sha256=Egv00zGNAWdFhzO4T1oUkmeLOSG35aHNfXSxH6DRd9g,2291
|
|
17
|
-
brg_certificate/certificate_test_list.txt,sha256=
|
|
17
|
+
brg_certificate/certificate_test_list.txt,sha256=RnQkzEWrF_RJlDL0E75mwnboKsJUNCX8uAMZs6AOL1M,3624
|
|
18
18
|
brg_certificate/restore_brg.py,sha256=rPV-Foa-mPHUSTdJq_LDNuoL6orMyevbulzRIW4GIHs,2341
|
|
19
19
|
brg_certificate/wltPb_pb2.py,sha256=sZKS4n3oz4EP4gLfzDvYiameKEZ6bHd9DmpARljZFG8,8686
|
|
20
20
|
brg_certificate/wltPb_pb2.pyi,sha256=sqsG_kjSix0qytU7qk06waTAJ8rhdHvK832zTC9sG-o,11445
|
|
21
21
|
brg_certificate/wlt_types.py,sha256=7pWm-56wDkq7HoMheBdvjUwbDS8suYTz13aEeAgIc6w,5166
|
|
22
|
-
brg_certificate/ag/energous_v0_defines.py,sha256=
|
|
23
|
-
brg_certificate/ag/energous_v1_defines.py,sha256=
|
|
24
|
-
brg_certificate/ag/energous_v2_defines.py,sha256=
|
|
25
|
-
brg_certificate/ag/energous_v3_defines.py,sha256=
|
|
26
|
-
brg_certificate/ag/energous_v4_defines.py,sha256=
|
|
27
|
-
brg_certificate/ag/fanstel_lan_v0_defines.py,sha256=
|
|
28
|
-
brg_certificate/ag/fanstel_lte_v0_defines.py,sha256=
|
|
29
|
-
brg_certificate/ag/fanstel_wifi_v0_defines.py,sha256=
|
|
30
|
-
brg_certificate/ag/minew_lte_v0_defines.py,sha256=
|
|
22
|
+
brg_certificate/ag/energous_v0_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
|
|
23
|
+
brg_certificate/ag/energous_v1_defines.py,sha256=vIOy1wMmN4k90TEJ1oiDRGDDB52WTWT3j2GyRFTanzU,64563
|
|
24
|
+
brg_certificate/ag/energous_v2_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
|
|
25
|
+
brg_certificate/ag/energous_v3_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
|
|
26
|
+
brg_certificate/ag/energous_v4_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
|
|
27
|
+
brg_certificate/ag/fanstel_lan_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
|
|
28
|
+
brg_certificate/ag/fanstel_lte_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
|
|
29
|
+
brg_certificate/ag/fanstel_wifi_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
|
|
30
|
+
brg_certificate/ag/minew_lte_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
|
|
31
31
|
brg_certificate/ag/wlt_cmd_if.html,sha256=qfwLhXB1zhOL1qVQs591B80FB0mbOeixHUNsNsdMNW4,14424
|
|
32
|
-
brg_certificate/ag/wlt_types.html,sha256=
|
|
33
|
-
brg_certificate/ag/wlt_types_ag.py,sha256=
|
|
32
|
+
brg_certificate/ag/wlt_types.html,sha256=jWcZIJO8JXaCPu-eLxph7arwurcZSdpG7Vh-RStaTmA,370312
|
|
33
|
+
brg_certificate/ag/wlt_types_ag.py,sha256=DRXm3C28UF316hou81f7dXGx0ZMc7S_d0IqURSL-pz0,444530
|
|
34
34
|
brg_certificate/ag/wlt_types_ag_jsons/brg2brg_ota.json,sha256=Om8e0fpItgKegZxHJO1cumEy8Th-DfJ6Zkb_bI0zSwk,3133
|
|
35
35
|
brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json,sha256=2qlRlwMPh1I9lrhtH4zFzMxS8axcJ8Ml1nDgqvmdSKU,17993
|
|
36
36
|
brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json,sha256=WM0ziHGpucYRwTAB_zPp5EcmT19bmXvldEUfoZGOOoY,3005
|
|
@@ -52,90 +52,90 @@ brg_certificate/config/mosquitto.json,sha256=Wd8Fj36GcZNdIKpXZQzx3wb8EmnTBDmOx1k
|
|
|
52
52
|
brg_certificate/config/mosquitto.md,sha256=xU7q2-FpYYwxd6xE-6cl6j_ywc3120ZZnGG1ofl9peY,2494
|
|
53
53
|
brg_certificate/config/wiliot-dev.json,sha256=J6O70nIJYk_qcnw6Hxf9TaKxcaG72p_dqAUpbbeCsCQ,288
|
|
54
54
|
brg_certificate/tests/calibration/interval_test/interval_test.json,sha256=g2nHKXAcefdWGfY08mH86OkhjyD_9vur3k6phZd_0M0,594
|
|
55
|
-
brg_certificate/tests/calibration/interval_test/interval_test.py,sha256=
|
|
55
|
+
brg_certificate/tests/calibration/interval_test/interval_test.py,sha256=drnJtV9DjAPNHQD4sGjrK_kViEuq0myf9EWGXf1j7tI,1189
|
|
56
56
|
brg_certificate/tests/calibration/output_power_test/output_power_test.json,sha256=QWt6Ovhe5Z11LYWkxIyfPqEAKvKceyHikCHsstqUzQw,690
|
|
57
|
-
brg_certificate/tests/calibration/output_power_test/output_power_test.py,sha256=
|
|
57
|
+
brg_certificate/tests/calibration/output_power_test/output_power_test.py,sha256=9rtTujxDZmWVaGFBsZPgljYbtD8e3sf_ghlWw_Ds5iM,1165
|
|
58
58
|
brg_certificate/tests/calibration/pattern_test/pattern_test.json,sha256=tjSUT52au2jRDYEORLgYy_45PXXyYKaT4b33xbs0P0k,1021
|
|
59
|
-
brg_certificate/tests/calibration/pattern_test/pattern_test.py,sha256=
|
|
59
|
+
brg_certificate/tests/calibration/pattern_test/pattern_test.py,sha256=bel_CEM4FfNMiLR4jnBa20MzabHtvLdk1iYs8qrSYZk,4407
|
|
60
60
|
brg_certificate/tests/datapath/aging_test/aging_test.json,sha256=J-cqOVxqtcbq5DEvkUnfhvyshpbm2sfyoD6UUmvx3bk,900
|
|
61
|
-
brg_certificate/tests/datapath/aging_test/aging_test.py,sha256=
|
|
61
|
+
brg_certificate/tests/datapath/aging_test/aging_test.py,sha256=KeAhqJ7xGILmSLPu9fi7dZ_Ncuql7060tcPdwNfBF-Y,5993
|
|
62
62
|
brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json,sha256=J3FYtqCwyjoqMnxu7ZHKF9McQAxUvWHSop8jRTkuPj0,829
|
|
63
|
-
brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py,sha256=
|
|
63
|
+
brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py,sha256=f4sY41w_XNTZlbJKW2yhYyB3UFXtvnkTxnkYS64ACJg,3477
|
|
64
64
|
brg_certificate/tests/datapath/output_power_test/output_power_test.json,sha256=4Hgbl8VSC2NhWZrhikzNd6Zg8_DiKag1_Zo6ykFDwKA,696
|
|
65
|
-
brg_certificate/tests/datapath/output_power_test/output_power_test.py,sha256=
|
|
65
|
+
brg_certificate/tests/datapath/output_power_test/output_power_test.py,sha256=1R0RSTZGKE6VdCWZbWKtzYkw8dkHbzKSxe6KWRDB4_M,1172
|
|
66
66
|
brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json,sha256=ccPge-tSA0kyMOPlMIa41Y8RoMAQfSj_-qdQZ4LQYy4,947
|
|
67
|
-
brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py,sha256=
|
|
67
|
+
brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py,sha256=Ie-DrlzHbgR1aaZVyPmhS5saosGMV8d3HoFhsspAga4,2652
|
|
68
68
|
brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json,sha256=TrMceZ6FV5g7tQdLRdWLBmuJjUH-HuBv8qYOD22tzBo,905
|
|
69
|
-
brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py,sha256=
|
|
69
|
+
brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py,sha256=dKRe0tKOeRCm_AhSxHLMV1zMvdq8qAJYYPJDtrdJffo,3956
|
|
70
70
|
brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json,sha256=3OLVPgHuu6y_hMnxPgu2FwW6D_rJIzNyPYXsznFOFUo,921
|
|
71
|
-
brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py,sha256=
|
|
71
|
+
brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py,sha256=doRFWUYxSezc03ghZ49Ut6Kft3wujrNkCumnKsslR3w,2646
|
|
72
72
|
brg_certificate/tests/datapath/pattern_test/pattern_test.json,sha256=_X6l1PiFwqpSSQfCfKPSbre-LLdh_7QltKcsJfSW32Q,758
|
|
73
|
-
brg_certificate/tests/datapath/pattern_test/pattern_test.py,sha256=
|
|
73
|
+
brg_certificate/tests/datapath/pattern_test/pattern_test.py,sha256=hga1ZJaYtFY13FRjmnpTIiVTPX1hx-uSB4rM8W0B6j4,1188
|
|
74
74
|
brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json,sha256=rZdWwMHIrKzPw9dcgtwrQpILRTQDbgMwLAoLhu3c-Zg,1202
|
|
75
|
-
brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py,sha256=
|
|
75
|
+
brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py,sha256=0m-PDesxO70Ii7jr1TnsoEQhH6u8zEmjSy7bX9t5myU,3165
|
|
76
76
|
brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json,sha256=VWvLhVLMKP1aTtYjn6bXe_eSGDZ-bbto1AsvyQUp6e8,1156
|
|
77
|
-
brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py,sha256=
|
|
77
|
+
brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py,sha256=rneXsHLWmPk10bUXkKNtTA1VLBgc3DoSWlTcGlcqLtw,3157
|
|
78
78
|
brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json,sha256=7HmFCJnTWFzEDYKroXZrVDk54g6xn_UiYnAL2yOXMOo,1167
|
|
79
|
-
brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py,sha256=
|
|
79
|
+
brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py,sha256=Y2HuZ67vZo0AjGgcPf9bune2jl9KMJh3Pf3zB-_OpGE,3136
|
|
80
80
|
brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json,sha256=WJicb8op-0dS-qhbWGpxyjzpUdSYfycgYbFUN_ahItA,737
|
|
81
|
-
brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py,sha256=
|
|
81
|
+
brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py,sha256=KNLwj5eYjIYKJsQo9z9fj75_oO4jmN_yPIBel3WBJKA,3263
|
|
82
82
|
brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json,sha256=vn9NJZq-zPxlGyX2lQU3uGSinwyCgQHkjuAZlwGBZkY,765
|
|
83
|
-
brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py,sha256=
|
|
83
|
+
brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py,sha256=_jINDia8_nXPvBLzFyVGBtFeB8iO8TnxyAWnI8h0VJA,1790
|
|
84
84
|
brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json,sha256=bYp_P_r8XgFDyUv1on5jL8Tp-04RhnnGJp2qOJhd4Tk,1395
|
|
85
|
-
brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py,sha256=
|
|
85
|
+
brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py,sha256=8Fks8G2hBrBok8cxosbVyaB_BG6CPjgTfFEqOKhvrjk,10483
|
|
86
86
|
brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json,sha256=qhVoafzoQx8oO4VSxFZDnqXFLI3r8I6IK6ZLWpGAgRY,1395
|
|
87
|
-
brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py,sha256=
|
|
88
|
-
brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json,sha256=
|
|
89
|
-
brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py,sha256=
|
|
90
|
-
brg_certificate/tests/datapath/stress_test/stress_test.json,sha256=
|
|
91
|
-
brg_certificate/tests/datapath/stress_test/stress_test.py,sha256=
|
|
87
|
+
brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py,sha256=_UPF0K4593AwrR4coWkMlBpX9nMn4uEIeq9dgAF59lA,10483
|
|
88
|
+
brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json,sha256=G9TTL_mMWF5lGBG8G32mwFWHrG_9Qa_avroNF2Wice4,1378
|
|
89
|
+
brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py,sha256=a0o5LbF80_h2lx3U3PiKtJsbY-XzxGSfT1aSnJTS1-8,10588
|
|
90
|
+
brg_certificate/tests/datapath/stress_test/stress_test.json,sha256=Y_OwuUrdFFvnnFv6rlmR_t2AgqvhNgsPe5uxLOdyw2w,1378
|
|
91
|
+
brg_certificate/tests/datapath/stress_test/stress_test.py,sha256=9l-vu-27RDS7YM1O1SFIld2vPrc4naYbVV9fTByLay8,10649
|
|
92
92
|
brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json,sha256=RLyxlEUQF24gMXLhsWLOd0jjUZ7KEOX1zSmO9DjVHa0,808
|
|
93
|
-
brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py,sha256=
|
|
93
|
+
brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py,sha256=DxEPHS-ivLBwSxX07cYxnoVjB_DG1XPQrWeK4288hS4,4044
|
|
94
94
|
brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json,sha256=tzkc4RRfUYUM926QpRYk3nrSwEfJFNmjXOeGTKRi4g0,968
|
|
95
|
-
brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py,sha256=
|
|
95
|
+
brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py,sha256=Z2mkajzJGUmiFOmSlhr0i4Ey2WyZ_6qa2CJYTvFLt00,3664
|
|
96
96
|
brg_certificate/tests/edge_mgmt/actions_test/actions_test.json,sha256=Onsxqs4raXyq529PHJt3bPhX-tn7xTE6K_DhvOjNYHQ,714
|
|
97
|
-
brg_certificate/tests/edge_mgmt/actions_test/actions_test.py,sha256=
|
|
97
|
+
brg_certificate/tests/edge_mgmt/actions_test/actions_test.py,sha256=mLuQt8w6vTf51csie_0ltpEroC6p6EKc2z2UUHfYlpM,18790
|
|
98
98
|
brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json,sha256=lYdqQJtgQwVIK4_pUD_abCt4bSHSqFpJQ1lWLcx9Z9I,1268
|
|
99
|
-
brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py,sha256=
|
|
99
|
+
brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py,sha256=kedRXAc8sgRnL2JRFNXaLNMqgykQlrSYTbbP_08WwzQ,4400
|
|
100
100
|
brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json,sha256=lFLCF9RNZXYjmjeXOHTrasNAmsPF6uDXmfex93DrrSA,1158
|
|
101
101
|
brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py,sha256=Yt-gRDubQNRH10lz-ne1Z1zeeuY29QMffiXSVOq5zc4,4026
|
|
102
102
|
brg_certificate/tests/edge_mgmt/leds_test/leds_test.json,sha256=1cyg1z5wsUXTFAr-MLP6vGu6dyoZiqLUZ90YPfRaUxI,822
|
|
103
|
-
brg_certificate/tests/edge_mgmt/leds_test/leds_test.py,sha256=
|
|
103
|
+
brg_certificate/tests/edge_mgmt/leds_test/leds_test.py,sha256=4HUTkykkP7FXXlWlh3VigcAEcWGSRLyEzE4gPKsoQiI,12862
|
|
104
104
|
brg_certificate/tests/edge_mgmt/ota_test/ota_test.json,sha256=A-psNlYEFZ6f0KtdKtz3IgQUYksO7KajqclBSU4s9qA,670
|
|
105
105
|
brg_certificate/tests/edge_mgmt/ota_test/ota_test.py,sha256=m3SlHdtEtbE0L8rclZ-0_z1RsJFm7lej9fxbrv76EXQ,5207
|
|
106
106
|
brg_certificate/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json,sha256=As4vG-Tx4iOTF6KWrm-7ciipWh2x5aDbLYn_oN5OjGk,584
|
|
107
107
|
brg_certificate/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.py,sha256=VMGVYtzP2Ic1A5y56zQzLYwMxkJw3DU671ownzmj4rQ,1977
|
|
108
108
|
brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json,sha256=qNqVWboeLvjEsmqpGqLPNl7qNdepoJcL9MnWSykatnQ,684
|
|
109
|
-
brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py,sha256
|
|
109
|
+
brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py,sha256=Q097Oy0JilDlNiYrr-ONIajVH7etXN3ujm5Bik4Cs4w,1177
|
|
110
110
|
brg_certificate/tests/energy2400/output_power_test/output_power_test.json,sha256=452r2nrI4b5YCTemhQxhO2QYf-QEy5_N1xv5UHHQduY,699
|
|
111
|
-
brg_certificate/tests/energy2400/output_power_test/output_power_test.py,sha256=
|
|
111
|
+
brg_certificate/tests/energy2400/output_power_test/output_power_test.py,sha256=1361LNvb2h8BhkLfAXf-NhlcfFxapz9uGS9VdrA7btc,1180
|
|
112
112
|
brg_certificate/tests/energy2400/pattern_test/pattern_test.json,sha256=xZLpZnDZDohZeG4_Sy1vx0MR-VHoKHAPWtFZdDSWSwI,866
|
|
113
|
-
brg_certificate/tests/energy2400/pattern_test/pattern_test.py,sha256=
|
|
114
|
-
brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json,sha256=
|
|
115
|
-
brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py,sha256=
|
|
116
|
-
brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json,sha256=
|
|
117
|
-
brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py,sha256=
|
|
113
|
+
brg_certificate/tests/energy2400/pattern_test/pattern_test.py,sha256=9-UDAeoHW-zzO_o6sOUM63fmo7PcQbLv6RCEPuQVI2Q,1198
|
|
114
|
+
brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json,sha256=XeH-0GbMC4X_g5S8Or_9-DcIic2E6ffo770f5we8uDY,1409
|
|
115
|
+
brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py,sha256=WzpUZoxpmdp5IDCi7-UIgi9vwMC4j7KQG5N9JfACGtE,19205
|
|
116
|
+
brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json,sha256=b8mVVwmXup3Xi5dpC2UHOsS0Qhj3DwbxFfzce8GjLAY,1403
|
|
117
|
+
brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py,sha256=xjYLumuMdEJsFarTDfFFNHQKl6xQETGqlMbpgJDJQZU,19205
|
|
118
118
|
brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json,sha256=TWhrdUlhDcx5BCHXpBtPSdUqVeooJSSe8HC7SpeylEQ,1104
|
|
119
|
-
brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py,sha256=
|
|
119
|
+
brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py,sha256=cVEc0LKCRdzmF85hx2kWQx2gizp_Y_UAXecsGY1852Y,7804
|
|
120
120
|
brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json,sha256=iqT5e6Dv1415_LVev_5uowq0dpLTutBJulXYvhpXhjk,1382
|
|
121
|
-
brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py,sha256=
|
|
121
|
+
brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py,sha256=k0SG_LOdfFjNHmtuWbOUuYQvECvopGdVp_PdntdKtpQ,16175
|
|
122
122
|
brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json,sha256=F_FFiXMlrUboMp25JZLxGnfHf70kbHAuHcqw3DADv7Q,713
|
|
123
|
-
brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py,sha256=
|
|
123
|
+
brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py,sha256=bWcN0hzqGvtRC2x5KJovyDhIecZGdVFogmevkAoqAE0,1197
|
|
124
124
|
brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json,sha256=982h0NXKuWBPBrZ_IN6L_p-07jX5D1srcOrwKo44nQk,1183
|
|
125
|
-
brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py,sha256=
|
|
125
|
+
brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py,sha256=yiev7S4A_d2ZaqenwS1kjFF_PLKeXUu0tcqvr2uCCBk,1158
|
|
126
126
|
brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json,sha256=qsuf6b0dj_0bp3DhjczuBwiT6jFxyUO8tlJsrj79mLQ,1378
|
|
127
|
-
brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py,sha256=
|
|
127
|
+
brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py,sha256=I9LTNBFd5Nx-4J8Vx_kk_hDRtUjyVu-k6ShIsZDYyQ8,26083
|
|
128
128
|
brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json,sha256=2LuVIAus3DfDkJhLjPf4VeGW6s18SSC4NGiktUDQWwk,746
|
|
129
|
-
brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py,sha256=
|
|
129
|
+
brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py,sha256=4gozPh19-9blCM5iUhsaSVv5HMsQXqp4DJS6T_GnjQo,1247
|
|
130
130
|
brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json,sha256=8mfJavH21XJ4iHD3QDY_H8MVKXr59sA4O3Plx38n1Lk,826
|
|
131
|
-
brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py,sha256=
|
|
131
|
+
brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py,sha256=VoyZhB2JShzpObXlPD2CN9cLBkAVmJ3915dlbv3488c,3726
|
|
132
132
|
brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.json,sha256=pDn-FPg2XpDY07y8SLBtizUXevbhhR15To8k_XGgtmE,1864
|
|
133
|
-
brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py,sha256=
|
|
133
|
+
brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py,sha256=QtZl56BCPmYJiBBM779lCFYqkxGtqUQ9eB9ZZC0xNXk,13025
|
|
134
134
|
common/wlt_logo.png,sha256=21DEhCEOOBU7Zt7ocwVIKU_CKUoHXScc3ej5VAzVsjM,132154
|
|
135
135
|
gw_certificate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
136
136
|
gw_certificate/cert_results.py,sha256=y299oQ3TW4xYp0aM20txqvt7ufsUXSunqg2HN3M5emQ,8856
|
|
137
|
-
gw_certificate/gw_certificate.py,sha256=
|
|
138
|
-
gw_certificate/gw_certificate_cli.py,sha256=
|
|
137
|
+
gw_certificate/gw_certificate.py,sha256=rM-TB5dYETIbF1oVshoF4ZL5IONWd-5RtEaFTJg0WIU,6845
|
|
138
|
+
gw_certificate/gw_certificate_cli.py,sha256=FZ_A3A6UttACNo56WwhqAl0ZwfOFJDcBgS3q0tH_Mnk,4869
|
|
139
139
|
gw_certificate/ag/ut_defines.py,sha256=HgrljTmPpKyxj6zYbnrLz1oVdSiAI4voG24d5diSQXc,16892
|
|
140
140
|
gw_certificate/ag/wlt_types.py,sha256=WFiRPs0E0fN5f-9a9l0y8zjDNAR4Xfmon2k8n7rqODk,3637
|
|
141
141
|
gw_certificate/ag/wlt_types_ag.py,sha256=xEk9_8m12x0_Tu8zeTV_7v6OY52dWdENHnjM61re-5I,246870
|
|
@@ -143,7 +143,7 @@ gw_certificate/ag/wlt_types_data.py,sha256=bN3bh4A9WEhf4EbAzO4kPnqhFkMvZA6PDSP0_
|
|
|
143
143
|
gw_certificate/api/extended_api.py,sha256=vMLeqbpJwZuCSWR7NS8ZmkWuf1-eOFrZU0SqcxHJTGI,808
|
|
144
144
|
gw_certificate/api_if/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
145
145
|
gw_certificate/api_if/api_validation.py,sha256=MCFjdQlR0fMmZ5t4Z3bAqPqK0wWXPS9TrdIQFd2L3mM,1311
|
|
146
|
-
gw_certificate/api_if/gw_capabilities.py,sha256=
|
|
146
|
+
gw_certificate/api_if/gw_capabilities.py,sha256=hOtx6JidqcIEvwy1z9A890Cdp7tR0DPJi857Am91mEw,1812
|
|
147
147
|
gw_certificate/api_if/200/data.json,sha256=EQHFWhQc2Qvv7EGkBF2WW_vShDuq40SaM9be0A9ziLY,3756
|
|
148
148
|
gw_certificate/api_if/200/logs.json,sha256=vfVi4hkxKGcSiupTSS2Er8wn4hZ8_MTaO5xbirNF5-0,219
|
|
149
149
|
gw_certificate/api_if/200/status.json,sha256=aPi-tAAySbvrPHdmysjDlOEvxxdAQO9kcO9WHQWNq2s,1333
|
|
@@ -164,45 +164,46 @@ gw_certificate/api_if/205/logs.json,sha256=vfVi4hkxKGcSiupTSS2Er8wn4hZ8_MTaO5xbi
|
|
|
164
164
|
gw_certificate/api_if/205/status.json,sha256=WVO5eGzadLazdkHQZ97yEYlPDzJu12WYRZb3s52kixk,1861
|
|
165
165
|
gw_certificate/common/analysis_data_bricks.py,sha256=_DZvurnE7ymKVJbu-YnQUJY0SalwmZxIuMsN-FMr7Qk,2537
|
|
166
166
|
gw_certificate/common/debug.py,sha256=sE_N4sWGRkbwdIb2QxqRtL8YQaePlaxvqecgnbxn6Xc,1208
|
|
167
|
+
gw_certificate/common/serialization_formatter.py,sha256=fXJQU9DMi5F88-HkJFvYlALOf7lm9I5p9qk6U95ToIc,3812
|
|
167
168
|
gw_certificate/common/utils.py,sha256=yjE6kdmMIRyQ0rPm56zZroi8a9zY4GnincmOPOL6rJo,215
|
|
168
169
|
gw_certificate/common/utils_defines.py,sha256=zLWKQBZscX1AVwBdJcM5GgZTJ5aYJWhQ1vjwX25EZrM,543
|
|
169
|
-
gw_certificate/common/wltPb_pb2.py,sha256=
|
|
170
|
-
gw_certificate/common/wltPb_pb2.pyi,sha256=
|
|
171
|
-
gw_certificate/interface/4.4.
|
|
172
|
-
gw_certificate/interface/4.4.
|
|
173
|
-
gw_certificate/interface/ble_simulator.py,sha256=
|
|
170
|
+
gw_certificate/common/wltPb_pb2.py,sha256=DPFrv5IVbxBUpmGRXO6iZjp-QwWUUaD9c37lMZnQoCM,8686
|
|
171
|
+
gw_certificate/common/wltPb_pb2.pyi,sha256=OcVo8ehkzIQ9EZoXp4om_kT2Any32stYKTTQvUsPEMU,11472
|
|
172
|
+
gw_certificate/interface/4.4.88_app.zip,sha256=bXNmIFpNGJwTtJHezo_AmW0dLyWzuV-YQ6g6PhtjP0M,171429
|
|
173
|
+
gw_certificate/interface/4.4.88_sd_bl_app.zip,sha256=0p3IYljHlVlr0sxnVFFVjXwmluixZ9BGGTw_fzdKuiU,368877
|
|
174
|
+
gw_certificate/interface/ble_simulator.py,sha256=mdH28n2-pdywKGrTc4nqmyIThNpM68Qf4ICzzeCuxbE,2678
|
|
174
175
|
gw_certificate/interface/ble_sniffer.py,sha256=S5AtT_3gWlm3FCmQSR4KnCIfnr70E9LgQPtQEJs1YFM,6869
|
|
175
176
|
gw_certificate/interface/if_defines.py,sha256=EAdT26qFl7110breWbpTPrpYZRHmizzvd188bse36ek,999
|
|
176
|
-
gw_certificate/interface/mqtt.py,sha256=
|
|
177
|
+
gw_certificate/interface/mqtt.py,sha256=dVNkRiFXjCmFlz5897IIZta-t0H095uftczayqDjVUY,25619
|
|
177
178
|
gw_certificate/interface/nrfutil-linux,sha256=9Fzy9VLSzL5dwEWh4HJUFdfmXH69gTrUVV8hxEjPgGU,26071480
|
|
178
179
|
gw_certificate/interface/nrfutil-mac,sha256=YG-iPLwnYUFjwYriqaGaFtYuIj-0T4TkeSWkJ638HWQ,15839744
|
|
179
180
|
gw_certificate/interface/nrfutil.exe,sha256=_uOu7RhDpL_8CCdHzqYNwHKSnrNuZ9Ysij_XRx4NyS0,16155851
|
|
180
|
-
gw_certificate/interface/pkt_generator.py,sha256=
|
|
181
|
-
gw_certificate/interface/uart_if.py,sha256=
|
|
181
|
+
gw_certificate/interface/pkt_generator.py,sha256=yOSCEj8Ybjsq_u6tVmpsbkwYmLFqZR2eIk9k09AIsUM,22174
|
|
182
|
+
gw_certificate/interface/uart_if.py,sha256=ta55cie4PTuDimLPsxccDtpmoCHN4uQm5I8pe1daaik,10360
|
|
182
183
|
gw_certificate/interface/uart_ports.py,sha256=HOIdrkr8OtALhoorT51k_tvSh6VYholR2ey4_WwcIAk,547
|
|
183
184
|
gw_certificate/templates/results.html,sha256=w3kqslWDpHb1oYKSbY10RMDZe9HeI-O-GRP15oQIijA,12694
|
|
184
185
|
gw_certificate/templates/stage.html,sha256=o89N0DWCIs2foA9YzommBZ09EPPN7lytiEsHoXD6fWU,1009
|
|
185
186
|
gw_certificate/templates/table.html,sha256=PPUf0St1OPT0fB_6OK0SQlsRST-brUJ99x9-Rxwan1Y,201
|
|
186
187
|
gw_certificate/templates/test.html,sha256=lpwibyrmGXNyNxpxNbQNoT2b5oCq5WHUYZrF0oDnLSA,2062
|
|
187
188
|
gw_certificate/tests/__init__.py,sha256=6XWYuJ1urHGCUTPQ6bbn25lDd32ZyB2dIDr2A_mkvTg,468
|
|
188
|
-
gw_certificate/tests/actions.py,sha256=
|
|
189
|
+
gw_certificate/tests/actions.py,sha256=LSMQS0WPfrsU_2BZDxRiMBYJ1uFVrWsxpuK6C90SHio,13906
|
|
189
190
|
gw_certificate/tests/bad_crc_to_PER_quantization.csv,sha256=2V1_7HV7pKEKddA429rp4tTn-je9G3Xi2tMvDhqvGhc,357
|
|
190
|
-
gw_certificate/tests/connection.py,sha256=
|
|
191
|
+
gw_certificate/tests/connection.py,sha256=f70DB1R0BHOlNnTYt4qa9tKwAJmNAHBju5bwvbcT6b0,9721
|
|
191
192
|
gw_certificate/tests/downlink.py,sha256=RhgOZgyOhwwbj_gZziRlzOENgqT6fc00T7fCLaj2Igo,8823
|
|
192
|
-
gw_certificate/tests/generic.py,sha256=
|
|
193
|
-
gw_certificate/tests/registration.py,sha256=
|
|
194
|
-
gw_certificate/tests/throughput.py,sha256=
|
|
195
|
-
gw_certificate/tests/uplink.py,sha256=
|
|
193
|
+
gw_certificate/tests/generic.py,sha256=B2pYlC4BtmQ10UGFSaTC57LhhAa50l1Bbk7DY6CWI6M,8381
|
|
194
|
+
gw_certificate/tests/registration.py,sha256=TgfYyDGkT-HAC11dJIdwFJTMZjTESFZb30-Q6ZCkXek,16152
|
|
195
|
+
gw_certificate/tests/throughput.py,sha256=T5axw55cP_CngQ4mB0jBj7xQWEp-Y34NsgDnP3eYz0I,11172
|
|
196
|
+
gw_certificate/tests/uplink.py,sha256=7DWHcNZ_7Oj2JJEFlg-oG3ssnMw0q2-sBqzqhxz5yZU,38735
|
|
196
197
|
gw_certificate/tests/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
197
198
|
gw_certificate/tests/static/connection_defines.py,sha256=RZbqvGNjUN-ST5378VZpleRB_b3_6IwME-j0CFnWmgE,309
|
|
198
199
|
gw_certificate/tests/static/downlink_defines.py,sha256=gjzQff_70Rn8m6pmfGciFwEC7efYQGEM9yNwl-8zRCs,340
|
|
199
|
-
gw_certificate/tests/static/generated_packet_table.py,sha256=
|
|
200
|
-
gw_certificate/tests/static/packet_table.csv,sha256=
|
|
200
|
+
gw_certificate/tests/static/generated_packet_table.py,sha256=nMFtbTyjKDOgL3iD2fxUhnlLvmCH9oNn3W1WC3U8ebI,17059
|
|
201
|
+
gw_certificate/tests/static/packet_table.csv,sha256=S8i8AVxEw8cuiLaaYUAORfn4dCaf0L_Z-mQ2q98OSss,1882502
|
|
201
202
|
gw_certificate/tests/static/references.py,sha256=vVVaoC_3nEdu2OMtfr_XKxZLvnJmbDeK2pEDFkAzNtU,384
|
|
202
|
-
gw_certificate/tests/static/uplink_defines.py,sha256=
|
|
203
|
-
wiliot_certificate-
|
|
204
|
-
wiliot_certificate-
|
|
205
|
-
wiliot_certificate-
|
|
206
|
-
wiliot_certificate-
|
|
207
|
-
wiliot_certificate-
|
|
208
|
-
wiliot_certificate-
|
|
203
|
+
gw_certificate/tests/static/uplink_defines.py,sha256=1gkzWrXivrAqO992UbG6plnZLSpVtpZ8RC5xBak9_TI,387
|
|
204
|
+
wiliot_certificate-4.4.0a1.dist-info/licenses/LICENSE,sha256=OL5ajUNVx888yC2ogol0BKwPRLdQAF1noGuQ7WrYiAA,1068
|
|
205
|
+
wiliot_certificate-4.4.0a1.dist-info/METADATA,sha256=Nef8FDPnmAHwK7AWG74zg6WoKC5x5ryAZiAv9FAVCZY,7307
|
|
206
|
+
wiliot_certificate-4.4.0a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
207
|
+
wiliot_certificate-4.4.0a1.dist-info/entry_points.txt,sha256=19YeTHY3PnN1wbi7BcgZB0zSgRrp9bvahIX-dIMX3Sg,127
|
|
208
|
+
wiliot_certificate-4.4.0a1.dist-info/top_level.txt,sha256=wN_MwxdcfgPP5-WN6sRhmZnGXNbZmXalxwYdh3nb2RA,38
|
|
209
|
+
wiliot_certificate-4.4.0a1.dist-info/RECORD,,
|
|
Binary file
|
|
File without changes
|
{wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|