wiliot-certificate 4.4.2__py3-none-any.whl → 4.5.0__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 → certificate}/ag/wlt_cmd_if.html +10 -4
- {brg_certificate → certificate}/ag/wlt_types_ag.py +1878 -519
- certificate/cert_common.py +1488 -0
- certificate/cert_config.py +480 -0
- {brg_certificate → certificate}/cert_data_sim.py +134 -46
- {brg_certificate → certificate}/cert_defines.py +129 -128
- {brg_certificate → certificate}/cert_gw_sim.py +183 -53
- {brg_certificate → certificate}/cert_mqtt.py +179 -64
- {brg_certificate → certificate}/cert_prints.py +35 -33
- {brg_certificate → certificate}/cert_protobuf.py +15 -6
- {brg_certificate → certificate}/cert_results.py +240 -64
- certificate/cert_utils.py +634 -0
- certificate/certificate.py +205 -0
- certificate/certificate_cli.py +76 -0
- certificate/certificate_eth_test_list.txt +76 -0
- certificate/certificate_sanity_test_list.txt +66 -0
- certificate/certificate_test_list.txt +76 -0
- {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.json +3 -2
- {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.py +7 -6
- certificate/tests/calibration/output_power_test/output_power_test.json +23 -0
- certificate/tests/calibration/output_power_test/output_power_test.py +39 -0
- {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.json +2 -1
- {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.py +20 -15
- certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.json +15 -0
- certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.py +140 -0
- certificate/tests/cloud_connectivity/acl_test/acl_test.json +15 -0
- certificate/tests/cloud_connectivity/acl_test/acl_test.py +96 -0
- certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.json +19 -0
- certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.py +41 -0
- certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.json +19 -0
- certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.py +215 -0
- certificate/tests/cloud_connectivity/connection_test/connection_test.json +18 -0
- certificate/tests/cloud_connectivity/connection_test/connection_test.py +67 -0
- certificate/tests/cloud_connectivity/deduplication_test/deduplication_test.json +15 -0
- certificate/tests/cloud_connectivity/deduplication_test/deduplication_test.py +80 -0
- certificate/tests/cloud_connectivity/downlink_test/downlink_test.json +21 -0
- certificate/tests/cloud_connectivity/downlink_test/downlink_test.py +201 -0
- certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.json +17 -0
- certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.py +104 -0
- certificate/tests/cloud_connectivity/reboot_test/reboot_test.json +18 -0
- certificate/tests/cloud_connectivity/reboot_test/reboot_test.py +59 -0
- certificate/tests/cloud_connectivity/registration_test/registration_test.json +20 -0
- certificate/tests/cloud_connectivity/registration_test/registration_test.py +384 -0
- certificate/tests/cloud_connectivity/registration_test/registration_test_cli.py +90 -0
- certificate/tests/cloud_connectivity/stress_test/stress_test.json +17 -0
- certificate/tests/cloud_connectivity/stress_test/stress_test.py +101 -0
- certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.json +25 -0
- certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.py +92 -0
- certificate/tests/cloud_connectivity/uplink_test/uplink_test.json +20 -0
- certificate/tests/cloud_connectivity/uplink_test/uplink_test.py +169 -0
- {brg_certificate → certificate}/tests/datapath/aging_test/aging_test.json +2 -1
- certificate/tests/datapath/aging_test/aging_test.py +142 -0
- certificate/tests/datapath/event_ble5_test/event_ble5_test.json +17 -0
- certificate/tests/datapath/event_ble5_test/event_ble5_test.py +89 -0
- certificate/tests/datapath/event_test/event_test.json +17 -0
- certificate/tests/datapath/event_test/event_test.py +80 -0
- {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.json +4 -3
- {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.py +19 -13
- certificate/tests/datapath/output_power_test/output_power_test.json +23 -0
- {brg_certificate → certificate}/tests/datapath/output_power_test/output_power_test.py +17 -6
- {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +2 -1
- {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +13 -11
- {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.json +2 -1
- {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.py +9 -7
- {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.json +3 -2
- {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.py +18 -6
- certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.json +20 -0
- certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.py +61 -0
- {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +2 -1
- {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +15 -14
- certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.json +19 -0
- certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.py +85 -0
- {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +2 -1
- {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +10 -9
- {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.json +2 -1
- {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.py +10 -9
- {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +3 -2
- {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +9 -8
- brg_certificate/tests/datapath/output_power_test/output_power_test.json → certificate/tests/datapath/rx_channel_hopping_test/rx_channel_hopping_test.json +6 -4
- certificate/tests/datapath/rx_channel_hopping_test/rx_channel_hopping_test.py +77 -0
- {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.json +3 -2
- {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.py +7 -6
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +8 -7
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +113 -73
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +8 -7
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +112 -72
- {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.json +4 -3
- {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.py +15 -11
- {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.json +4 -3
- {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.py +15 -11
- {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.json +3 -1
- {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.py +14 -13
- certificate/tests/edge_mgmt/action_blink_test/action_blink_test.json +15 -0
- certificate/tests/edge_mgmt/action_blink_test/action_blink_test.py +24 -0
- certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.json +15 -0
- certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.py +43 -0
- certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.json +15 -0
- certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.py +42 -0
- certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.json +15 -0
- certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.py +44 -0
- certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.json +16 -0
- certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.py +42 -0
- certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.json +15 -0
- certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.py +49 -0
- certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.json +15 -0
- certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.py +102 -0
- certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.json +15 -0
- certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.py +45 -0
- {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json +3 -2
- {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.py +22 -11
- {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.json +2 -1
- {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.py +7 -6
- certificate/tests/energy2400/output_power_test/output_power_test.json +23 -0
- {brg_certificate → certificate}/tests/energy2400/output_power_test/output_power_test.py +17 -6
- {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.json +2 -1
- {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.py +7 -6
- certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +26 -0
- certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +379 -0
- certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.json +20 -0
- certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.py +173 -0
- certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +24 -0
- certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +350 -0
- {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +2 -1
- {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +7 -6
- {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.json +2 -1
- {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.py +7 -6
- {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json +2 -1
- {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +10 -10
- {brg_certificate → certificate}/tests/sensors/ext_sensor_test/ext_sensor_test.json +5 -4
- certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +450 -0
- certificate/wlt_types.py +122 -0
- {gw_certificate → common}/api_if/202/status.json +6 -0
- {gw_certificate → common}/api_if/203/status.json +6 -0
- {gw_certificate → common}/api_if/204/status.json +6 -0
- common/api_if/206/data.json +85 -0
- common/api_if/206/status.json +69 -0
- common/api_if/api_validation.py +91 -0
- common/web/templates/generator.html +210 -0
- common/web/templates/index.html +20 -0
- common/web/templates/menu.html +54 -0
- common/web/templates/parser.html +53 -0
- {brg_certificate/ag → common/web/templates}/wlt_types.html +1216 -191
- common/web/web_utils.py +399 -0
- {brg_certificate → common}/wltPb_pb2.py +14 -12
- {gw_certificate/common → common}/wltPb_pb2.pyi +16 -2
- gui_certificate/gui_certificate_cli.py +14 -0
- gui_certificate/server.py +1267 -0
- gui_certificate/templates/cert_run.html +1273 -0
- wiliot_certificate-4.5.0.dist-info/METADATA +99 -0
- wiliot_certificate-4.5.0.dist-info/RECORD +168 -0
- {wiliot_certificate-4.4.2.dist-info → wiliot_certificate-4.5.0.dist-info}/WHEEL +1 -1
- wiliot_certificate-4.5.0.dist-info/entry_points.txt +5 -0
- wiliot_certificate-4.5.0.dist-info/top_level.txt +3 -0
- brg_certificate/ag/energous_v0_defines.py +0 -925
- brg_certificate/ag/energous_v1_defines.py +0 -931
- brg_certificate/ag/energous_v2_defines.py +0 -925
- brg_certificate/ag/energous_v3_defines.py +0 -925
- brg_certificate/ag/energous_v4_defines.py +0 -925
- brg_certificate/ag/fanstel_lan_v0_defines.py +0 -925
- brg_certificate/ag/fanstel_lte_v0_defines.py +0 -925
- brg_certificate/ag/fanstel_wifi_v0_defines.py +0 -925
- brg_certificate/ag/minew_lte_v0_defines.py +0 -925
- brg_certificate/ag/wlt_types_ag_jsons/brg2brg_ota.json +0 -142
- brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json +0 -785
- brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +0 -139
- brg_certificate/ag/wlt_types_ag_jsons/calibration.json +0 -394
- brg_certificate/ag/wlt_types_ag_jsons/custom.json +0 -515
- brg_certificate/ag/wlt_types_ag_jsons/datapath.json +0 -672
- brg_certificate/ag/wlt_types_ag_jsons/energy2400.json +0 -550
- brg_certificate/ag/wlt_types_ag_jsons/energySub1g.json +0 -595
- brg_certificate/ag/wlt_types_ag_jsons/externalSensor.json +0 -598
- brg_certificate/ag/wlt_types_ag_jsons/interface.json +0 -938
- brg_certificate/ag/wlt_types_ag_jsons/powerManagement.json +0 -1234
- brg_certificate/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -105
- brg_certificate/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -77
- brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -61
- brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +0 -110
- brg_certificate/brg_certificate.py +0 -225
- brg_certificate/brg_certificate_cli.py +0 -63
- brg_certificate/cert_common.py +0 -923
- brg_certificate/cert_config.py +0 -402
- brg_certificate/cert_utils.py +0 -362
- brg_certificate/certificate_bcc_sanity_test_list.txt +0 -40
- brg_certificate/certificate_bcc_test_list.txt +0 -48
- brg_certificate/certificate_sanity_test_list.txt +0 -43
- brg_certificate/certificate_test_list.txt +0 -53
- brg_certificate/config/eclipse.json +0 -10
- brg_certificate/config/hivemq.json +0 -10
- brg_certificate/config/mosquitto.json +0 -10
- brg_certificate/config/mosquitto.md +0 -95
- brg_certificate/config/wiliot-dev.json +0 -10
- brg_certificate/restore_brg.py +0 -61
- brg_certificate/tests/calibration/output_power_test/output_power_test.json +0 -16
- brg_certificate/tests/calibration/output_power_test/output_power_test.py +0 -28
- brg_certificate/tests/datapath/aging_test/aging_test.py +0 -143
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +0 -16
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +0 -73
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +0 -17
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +0 -118
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +0 -14
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +0 -396
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +0 -20
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +0 -94
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +0 -19
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +0 -87
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +0 -17
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +0 -223
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +0 -17
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +0 -128
- brg_certificate/tests/energy2400/output_power_test/output_power_test.json +0 -16
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +0 -321
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +0 -321
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +0 -141
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +0 -276
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +0 -20
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +0 -390
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +0 -16
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +0 -28
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +0 -305
- brg_certificate/wltPb_pb2.pyi +0 -234
- brg_certificate/wlt_types.py +0 -113
- gw_certificate/ag/ut_defines.py +0 -364
- gw_certificate/ag/wlt_types.py +0 -85
- gw_certificate/ag/wlt_types_ag.py +0 -5310
- gw_certificate/ag/wlt_types_data.py +0 -64
- gw_certificate/api/extended_api.py +0 -23
- gw_certificate/api_if/200/data.json +0 -106
- gw_certificate/api_if/200/status.json +0 -47
- gw_certificate/api_if/201/data.json +0 -98
- gw_certificate/api_if/201/status.json +0 -53
- gw_certificate/api_if/205/logs.json +0 -12
- gw_certificate/api_if/api_validation.py +0 -38
- gw_certificate/api_if/gw_capabilities.py +0 -54
- gw_certificate/cert_results.py +0 -145
- gw_certificate/common/analysis_data_bricks.py +0 -60
- gw_certificate/common/debug.py +0 -42
- gw_certificate/common/serialization_formatter.py +0 -93
- gw_certificate/common/utils.py +0 -8
- gw_certificate/common/utils_defines.py +0 -15
- gw_certificate/common/wltPb_pb2.py +0 -84
- gw_certificate/gw_certificate.py +0 -154
- gw_certificate/gw_certificate_cli.py +0 -87
- gw_certificate/interface/4.4.91_app.zip +0 -0
- gw_certificate/interface/4.4.91_sd_bl_app.zip +0 -0
- gw_certificate/interface/ble_simulator.py +0 -61
- gw_certificate/interface/ble_sniffer.py +0 -189
- gw_certificate/interface/flash_fw.py +0 -90
- gw_certificate/interface/if_defines.py +0 -36
- gw_certificate/interface/mqtt.py +0 -563
- gw_certificate/interface/nrfutil-linux +0 -0
- gw_certificate/interface/nrfutil-mac +0 -0
- gw_certificate/interface/nrfutil.exe +0 -0
- gw_certificate/interface/pkt_generator.py +0 -594
- gw_certificate/interface/uart_if.py +0 -236
- gw_certificate/interface/uart_ports.py +0 -20
- gw_certificate/templates/results.html +0 -241
- gw_certificate/templates/stage.html +0 -22
- gw_certificate/templates/table.html +0 -6
- gw_certificate/templates/test.html +0 -38
- gw_certificate/tests/__init__.py +0 -10
- gw_certificate/tests/actions.py +0 -289
- gw_certificate/tests/bad_crc_to_PER_quantization.csv +0 -51
- gw_certificate/tests/connection.py +0 -188
- gw_certificate/tests/downlink.py +0 -172
- gw_certificate/tests/generic.py +0 -238
- gw_certificate/tests/registration.py +0 -340
- gw_certificate/tests/static/__init__.py +0 -0
- gw_certificate/tests/static/connection_defines.py +0 -9
- gw_certificate/tests/static/downlink_defines.py +0 -9
- gw_certificate/tests/static/generated_packet_table.py +0 -195
- gw_certificate/tests/static/packet_table.csv +0 -10067
- gw_certificate/tests/static/references.py +0 -5
- gw_certificate/tests/static/uplink_defines.py +0 -14
- gw_certificate/tests/throughput.py +0 -240
- gw_certificate/tests/uplink.py +0 -853
- wiliot_certificate-4.4.2.dist-info/METADATA +0 -211
- wiliot_certificate-4.4.2.dist-info/RECORD +0 -210
- wiliot_certificate-4.4.2.dist-info/entry_points.txt +0 -3
- wiliot_certificate-4.4.2.dist-info/top_level.txt +0 -3
- {brg_certificate → certificate}/__init__.py +0 -0
- {gw_certificate → common}/api_if/202/data.json +0 -0
- {gw_certificate/api_if/200 → common/api_if/202}/logs.json +0 -0
- {gw_certificate → common}/api_if/203/data.json +0 -0
- {gw_certificate/api_if/201 → common/api_if/203}/logs.json +0 -0
- {gw_certificate → common}/api_if/204/data.json +0 -0
- {gw_certificate/api_if/202 → common/api_if/204}/logs.json +0 -0
- {gw_certificate → common}/api_if/205/data.json +0 -0
- {gw_certificate/api_if/203 → common/api_if/205}/logs.json +0 -0
- {gw_certificate → common}/api_if/205/status.json +0 -0
- {gw_certificate/api_if/204 → common/api_if/206}/logs.json +0 -0
- {gw_certificate → common/api_if}/__init__.py +0 -0
- {gw_certificate/api_if → gui_certificate}/__init__.py +0 -0
- {wiliot_certificate-4.4.2.dist-info → wiliot_certificate-4.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"versions": [
|
|
3
|
-
{
|
|
4
|
-
"version": "0",
|
|
5
|
-
"packetFields": [
|
|
6
|
-
{
|
|
7
|
-
"name": "bridgeId",
|
|
8
|
-
"byteOffset": 5,
|
|
9
|
-
"byteLength": 6,
|
|
10
|
-
"bitOffset": 0,
|
|
11
|
-
"bitLength": 48,
|
|
12
|
-
"outType": "string"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"name": "nfpkt",
|
|
16
|
-
"byteOffset": 11,
|
|
17
|
-
"byteLength": 2,
|
|
18
|
-
"bitOffset": 0,
|
|
19
|
-
"bitLength": 16,
|
|
20
|
-
"outType": "uint"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"name": "rssi",
|
|
24
|
-
"byteOffset": 13,
|
|
25
|
-
"byteLength": 1,
|
|
26
|
-
"bitOffset": 0,
|
|
27
|
-
"bitLength": 8,
|
|
28
|
-
"outType": "uint"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"name": "sensorId",
|
|
32
|
-
"byteOffset": 15,
|
|
33
|
-
"byteLength": 6,
|
|
34
|
-
"bitOffset": 0,
|
|
35
|
-
"bitLength": 48,
|
|
36
|
-
"outType": "string"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"name": "sensorServiceId",
|
|
40
|
-
"byteOffset": 21,
|
|
41
|
-
"byteLength": 1,
|
|
42
|
-
"bitOffset": 0,
|
|
43
|
-
"bitLength": 8,
|
|
44
|
-
"outType": "uint"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"name": "sensorUuidMsb",
|
|
48
|
-
"byteOffset": 22,
|
|
49
|
-
"byteLength": 1,
|
|
50
|
-
"bitOffset": 0,
|
|
51
|
-
"bitLength": 8,
|
|
52
|
-
"outType": "uint"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"name": "sensorUuidLsb",
|
|
56
|
-
"byteOffset": 23,
|
|
57
|
-
"byteLength": 1,
|
|
58
|
-
"bitOffset": 0,
|
|
59
|
-
"bitLength": 8,
|
|
60
|
-
"outType": "uint"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"name": "apiVersion",
|
|
64
|
-
"byteOffset": 24,
|
|
65
|
-
"byteLength": 1,
|
|
66
|
-
"bitOffset": 4,
|
|
67
|
-
"bitLength": 4,
|
|
68
|
-
"outType": "uint"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"name": "scrambled",
|
|
72
|
-
"byteOffset": 24,
|
|
73
|
-
"byteLength": 1,
|
|
74
|
-
"bitOffset": 2,
|
|
75
|
-
"bitLength": 1,
|
|
76
|
-
"outType": "boolean"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"name": "embedded",
|
|
80
|
-
"byteOffset": 24,
|
|
81
|
-
"byteLength": 1,
|
|
82
|
-
"bitOffset": 1,
|
|
83
|
-
"bitLength": 1,
|
|
84
|
-
"outType": "boolean"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"name": "isSensor",
|
|
88
|
-
"byteOffset": 24,
|
|
89
|
-
"byteLength": 1,
|
|
90
|
-
"bitOffset": 0,
|
|
91
|
-
"bitLength": 1,
|
|
92
|
-
"outType": "boolean"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"name": "pktId",
|
|
96
|
-
"byteOffset": 25,
|
|
97
|
-
"byteLength": 4,
|
|
98
|
-
"bitOffset": 0,
|
|
99
|
-
"bitLength": 32,
|
|
100
|
-
"outType": "string"
|
|
101
|
-
}
|
|
102
|
-
]
|
|
103
|
-
}
|
|
104
|
-
]
|
|
105
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"versions": [
|
|
3
|
-
{
|
|
4
|
-
"version": "1",
|
|
5
|
-
"packetFields": [
|
|
6
|
-
{
|
|
7
|
-
"name": "groupId",
|
|
8
|
-
"byteOffset": 2,
|
|
9
|
-
"byteLength": 3,
|
|
10
|
-
"bitOffset": 0,
|
|
11
|
-
"bitLength": 24,
|
|
12
|
-
"outType": "uint"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"name": "version",
|
|
16
|
-
"byteOffset": 5,
|
|
17
|
-
"byteLength": 1,
|
|
18
|
-
"bitOffset": 0,
|
|
19
|
-
"bitLength": 8,
|
|
20
|
-
"outType": "uint"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"name": "msgType",
|
|
24
|
-
"byteOffset": 6,
|
|
25
|
-
"byteLength": 1,
|
|
26
|
-
"bitOffset": 0,
|
|
27
|
-
"bitLength": 8,
|
|
28
|
-
"outType": "uint"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"name": "outputPower",
|
|
32
|
-
"byteOffset": 7,
|
|
33
|
-
"byteLength": 1,
|
|
34
|
-
"bitOffset": 0,
|
|
35
|
-
"bitLength": 8,
|
|
36
|
-
"outType": "int"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"name": "antennaType",
|
|
40
|
-
"byteOffset": 8,
|
|
41
|
-
"byteLength": 1,
|
|
42
|
-
"bitOffset": 0,
|
|
43
|
-
"bitLength": 8,
|
|
44
|
-
"outType": "uint",
|
|
45
|
-
"map": {
|
|
46
|
-
"0":"2_4 Antenna",
|
|
47
|
-
"1":"Sub1g Antenna"
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"name": "txAntenna",
|
|
52
|
-
"byteOffset": 9,
|
|
53
|
-
"byteLength": 1,
|
|
54
|
-
"bitOffset": 0,
|
|
55
|
-
"bitLength": 8,
|
|
56
|
-
"outType": "uint"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"name": "rxAntenna",
|
|
60
|
-
"byteOffset": 10,
|
|
61
|
-
"byteLength": 1,
|
|
62
|
-
"bitOffset": 0,
|
|
63
|
-
"bitLength": 8,
|
|
64
|
-
"outType": "uint"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"name": "seqId",
|
|
68
|
-
"byteOffset": 11,
|
|
69
|
-
"byteLength": 1,
|
|
70
|
-
"bitOffset": 0,
|
|
71
|
-
"bitLength": 8,
|
|
72
|
-
"outType": "uint"
|
|
73
|
-
}
|
|
74
|
-
]
|
|
75
|
-
}
|
|
76
|
-
]
|
|
77
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"versions": [
|
|
3
|
-
{
|
|
4
|
-
"version": "0",
|
|
5
|
-
"packetFields": [
|
|
6
|
-
{
|
|
7
|
-
"name": "tbc",
|
|
8
|
-
"byteOffset": 37,
|
|
9
|
-
"byteLength": 1,
|
|
10
|
-
"bitOffset": 0,
|
|
11
|
-
"bitLength": 8,
|
|
12
|
-
"outType": "uint"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"name": "rssi",
|
|
16
|
-
"byteOffset": 38,
|
|
17
|
-
"byteLength": 1,
|
|
18
|
-
"bitOffset": 2,
|
|
19
|
-
"bitLength": 6,
|
|
20
|
-
"outType": "uint",
|
|
21
|
-
"calculations": [
|
|
22
|
-
{
|
|
23
|
-
"operator": "*",
|
|
24
|
-
"operand": 1
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"operator": "+",
|
|
28
|
-
"operand": 40
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"name": "brgLatency",
|
|
34
|
-
"byteOffset": 38,
|
|
35
|
-
"byteLength": 1,
|
|
36
|
-
"bitOffset": 4,
|
|
37
|
-
"bitLength": 6,
|
|
38
|
-
"outType": "uint",
|
|
39
|
-
"calculations": [
|
|
40
|
-
{
|
|
41
|
-
"operator": "*",
|
|
42
|
-
"operand": 200
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"operator": "+",
|
|
46
|
-
"operand": 0
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"name": "nfpkt",
|
|
52
|
-
"byteOffset": 39,
|
|
53
|
-
"byteLength": 1,
|
|
54
|
-
"bitOffset": 0,
|
|
55
|
-
"bitLength": 4,
|
|
56
|
-
"outType": "uint"
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"versions": [
|
|
3
|
-
{
|
|
4
|
-
"version": "1",
|
|
5
|
-
"packetFields": [
|
|
6
|
-
{
|
|
7
|
-
"name": "tbc",
|
|
8
|
-
"byteOffset": 15,
|
|
9
|
-
"byteLength": 1,
|
|
10
|
-
"bitOffset": 0,
|
|
11
|
-
"bitLength": 8,
|
|
12
|
-
"outType": "uint"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"name": "rssi",
|
|
16
|
-
"byteOffset": 16,
|
|
17
|
-
"byteLength": 1,
|
|
18
|
-
"bitOffset": 2,
|
|
19
|
-
"bitLength": 6,
|
|
20
|
-
"outType": "uint",
|
|
21
|
-
"calculations": [
|
|
22
|
-
{
|
|
23
|
-
"operator": "*",
|
|
24
|
-
"operand": 1
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"operator": "+",
|
|
28
|
-
"operand": 40
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"name": "brgLatency",
|
|
34
|
-
"byteOffset": 16,
|
|
35
|
-
"byteLength": 1,
|
|
36
|
-
"bitOffset": 4,
|
|
37
|
-
"bitLength": 6,
|
|
38
|
-
"outType": "uint",
|
|
39
|
-
"calculations": [
|
|
40
|
-
{
|
|
41
|
-
"operator": "*",
|
|
42
|
-
"operand": 200
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"operator": "+",
|
|
46
|
-
"operand": 0
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"name": "nfpkt",
|
|
52
|
-
"byteOffset": 17,
|
|
53
|
-
"byteLength": 1,
|
|
54
|
-
"bitOffset": 0,
|
|
55
|
-
"bitLength": 4,
|
|
56
|
-
"outType": "uint"
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"version": "0",
|
|
62
|
-
"packetFields": [
|
|
63
|
-
{
|
|
64
|
-
"name": "nfpkt",
|
|
65
|
-
"byteOffset": 15,
|
|
66
|
-
"byteLength": 1,
|
|
67
|
-
"bitOffset": 0,
|
|
68
|
-
"bitLength": 8,
|
|
69
|
-
"outType": "uint"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"name": "rssi",
|
|
73
|
-
"byteOffset": 16,
|
|
74
|
-
"byteLength": 1,
|
|
75
|
-
"bitOffset": 2,
|
|
76
|
-
"bitLength": 6,
|
|
77
|
-
"outType": "uint",
|
|
78
|
-
"calculations": [
|
|
79
|
-
{
|
|
80
|
-
"operator": "*",
|
|
81
|
-
"operand": 1
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"operator": "+",
|
|
85
|
-
"operand": 40
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
"name": "brgLatency",
|
|
91
|
-
"byteOffset": 16,
|
|
92
|
-
"byteLength": 1,
|
|
93
|
-
"bitOffset": 4,
|
|
94
|
-
"bitLength": 6,
|
|
95
|
-
"outType": "uint",
|
|
96
|
-
"calculations": [
|
|
97
|
-
{
|
|
98
|
-
"operator": "*",
|
|
99
|
-
"operand": 200
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"operator": "+",
|
|
103
|
-
"operand": 0
|
|
104
|
-
}
|
|
105
|
-
]
|
|
106
|
-
}
|
|
107
|
-
]
|
|
108
|
-
}
|
|
109
|
-
]
|
|
110
|
-
}
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# generic
|
|
3
|
-
import sys
|
|
4
|
-
import os
|
|
5
|
-
sys.path.insert(0, os.path.abspath(".."))
|
|
6
|
-
import webbrowser
|
|
7
|
-
import glob
|
|
8
|
-
import datetime
|
|
9
|
-
import tabulate
|
|
10
|
-
import threading
|
|
11
|
-
# Local imports
|
|
12
|
-
from brg_certificate.cert_defines import *
|
|
13
|
-
from brg_certificate.cert_prints import *
|
|
14
|
-
from brg_certificate.wlt_types import *
|
|
15
|
-
from brg_certificate.cert_utils import *
|
|
16
|
-
import brg_certificate.cert_results as cert_results
|
|
17
|
-
import brg_certificate.cert_gw_sim as cert_gw_sim
|
|
18
|
-
import brg_certificate.cert_mqtt as cert_mqtt
|
|
19
|
-
import brg_certificate.cert_common as cert_common
|
|
20
|
-
|
|
21
|
-
TEST_LIST_FW_UPDATE_FILE = "ut/fw_update_test_list.txt"
|
|
22
|
-
CLEAN_PATTERNS = ['./tests/**/*.html', './tests/**/mqtt_log_*', './tests/**/*.pyc', './tests/**/*.csv']
|
|
23
|
-
|
|
24
|
-
os.system('')
|
|
25
|
-
|
|
26
|
-
def filter_tests(tests, run, drun):
|
|
27
|
-
if run:
|
|
28
|
-
tests = [t for t in tests if re.search(run, t.name)]
|
|
29
|
-
if drun:
|
|
30
|
-
tests = [t for t in tests if not re.search(drun, t.name)]
|
|
31
|
-
return tests
|
|
32
|
-
|
|
33
|
-
def get_important_tests_info():
|
|
34
|
-
patterns = ["DISCONNECTED", "WLT_ERROR", "free heap size", "python_mqtt_disconnect"]
|
|
35
|
-
return "".join([l.strip(' "') for l in open(os.path.join(BASE_DIR, CERT_MQTT_LOG_FILE)).readlines() if any([p in l for p in patterns])])
|
|
36
|
-
|
|
37
|
-
def skip_test_check(test, args):
|
|
38
|
-
skip_string = ""
|
|
39
|
-
if test.multi_brg and not test.brg1:
|
|
40
|
-
skip_string = f"Skipped {test.module_name} multi brg test because brg1 wasn't given"
|
|
41
|
-
elif (args.brg_cloud_connectivity or test.internal_brg) and not test.test_json[INTERNAL_BRG]:
|
|
42
|
-
skip_string = f"Skipped {test.module_name} because test is unable to run on an internal brg"
|
|
43
|
-
elif args.skip_internal and test.internal_brg:
|
|
44
|
-
skip_string = f"Skipped {test.module_name} for internal brg because skip_internal flag is set"
|
|
45
|
-
elif test.active_brg and not test.active_brg.is_sup_cap(test):
|
|
46
|
-
skip_string = f"Skipped {test.module_name} because {module2name(test.test_module)} module is not supported"
|
|
47
|
-
if skip_string:
|
|
48
|
-
utPrint(f"{SEP}{skip_string}{SEP}", "WARNING")
|
|
49
|
-
test.reason = skip_string
|
|
50
|
-
test.rc = TEST_SKIPPED
|
|
51
|
-
return test
|
|
52
|
-
|
|
53
|
-
def tests_rtsa_update(tests):
|
|
54
|
-
# Init spectrum analyzer
|
|
55
|
-
rtsa_flag = False
|
|
56
|
-
for t in tests:
|
|
57
|
-
if "rtsa" in t.module_name:
|
|
58
|
-
if not rtsa_flag:
|
|
59
|
-
try:
|
|
60
|
-
ut_te = load_module('ut_te.py', 'ut/ut_te/ut_te.py')
|
|
61
|
-
except:
|
|
62
|
-
print("Unable to import UT's test equipment API (ut_te.py), check exceptions for necessary installations!")
|
|
63
|
-
try:
|
|
64
|
-
myObjTE = ut_te.StationEquipment().GetTEObject()
|
|
65
|
-
myRTSA = myObjTE['RTSA']
|
|
66
|
-
except:
|
|
67
|
-
print("No test equipment available!")
|
|
68
|
-
rtsa_flag = True
|
|
69
|
-
t.rtsa = myRTSA
|
|
70
|
-
|
|
71
|
-
def main(args):
|
|
72
|
-
args.gw = get_gw_id(args.gw)
|
|
73
|
-
|
|
74
|
-
utPrint(str(args.__dict__))
|
|
75
|
-
start_time = datetime.datetime.now()
|
|
76
|
-
|
|
77
|
-
# Clean
|
|
78
|
-
if os.path.exists(CERT_MQTT_LOG_FILE):
|
|
79
|
-
os.remove(CERT_MQTT_LOG_FILE)
|
|
80
|
-
if os.path.exists(DATA_SIM_LOG_FILE):
|
|
81
|
-
os.remove(DATA_SIM_LOG_FILE)
|
|
82
|
-
if args.clean:
|
|
83
|
-
for clean_pattern in CLEAN_PATTERNS:
|
|
84
|
-
for f in glob.glob(clean_pattern, recursive=True):
|
|
85
|
-
os.remove(f)
|
|
86
|
-
if not args.gw and not args.brg:
|
|
87
|
-
utPrint("Clean only - Done!")
|
|
88
|
-
sys.exit(0)
|
|
89
|
-
|
|
90
|
-
# Init mqtt client
|
|
91
|
-
if args.brg_cloud_connectivity:
|
|
92
|
-
# Mqtt client for tested device
|
|
93
|
-
mqttc = cert_mqtt.mqttc_init(args.brg_cloud_connectivity, data=args.data)
|
|
94
|
-
# Mqtt client for testing device
|
|
95
|
-
sim_mqttc = cert_mqtt.mqttc_init(args.gw, data=args.data)
|
|
96
|
-
else:
|
|
97
|
-
# Single mqtt client for a single device with cloud connectivity
|
|
98
|
-
mqttc = cert_mqtt.mqttc_init(args.gw, data=args.data)
|
|
99
|
-
sim_mqttc = mqttc
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
# Run Gateway Simulator in separated thread if exists
|
|
103
|
-
gw_sim_thread = None
|
|
104
|
-
if GW_SIM_PREFIX in args.gw:
|
|
105
|
-
gw_sim_thread = threading.Thread(target=cert_gw_sim.gw_sim_run, daemon = True, kwargs={'port':args.port, 'gw_id': args.gw,
|
|
106
|
-
'analyze_interference':args.analyze_interference})
|
|
107
|
-
gw_sim_thread.start()
|
|
108
|
-
sleep_time = (len(cert_gw_sim.CHANNELS_TO_ANALYZE) * 30) + 15 if args.analyze_interference else 10
|
|
109
|
-
time.sleep(sleep_time)
|
|
110
|
-
|
|
111
|
-
# Collecting the tests
|
|
112
|
-
if args.latest or args.rc:
|
|
113
|
-
test_list = TEST_LIST_FW_UPDATE_FILE
|
|
114
|
-
else:
|
|
115
|
-
test_list = args.tl
|
|
116
|
-
|
|
117
|
-
# Prepare GW
|
|
118
|
-
if gw_sim_thread:
|
|
119
|
-
if args.brg_cloud_connectivity:
|
|
120
|
-
# Prepare tested device
|
|
121
|
-
gw, internal_brg, gw_server, gw_version, protobuf = ut_prep_gw(args, mqttc, start_time)
|
|
122
|
-
# Prepare testing device
|
|
123
|
-
_, internal_brg_sim, _, _, _ = cert_gw_sim.prep_gw(args, sim_mqttc, start_time)
|
|
124
|
-
else:
|
|
125
|
-
# Prepare single device with cloud connectivity
|
|
126
|
-
gw, internal_brg, gw_server, gw_version, protobuf = cert_gw_sim.prep_gw(args, mqttc, start_time)
|
|
127
|
-
else:
|
|
128
|
-
if args.brg_cloud_connectivity:
|
|
129
|
-
# Prepare tested device
|
|
130
|
-
gw, internal_brg, gw_server, gw_version, protobuf = ut_prep_gw(args, mqttc, start_time)
|
|
131
|
-
# Prepare testing device
|
|
132
|
-
_, internal_brg_sim, _, _, _ = ut_prep_gw(args, sim_mqttc, start_time, tester_gw=True)
|
|
133
|
-
else:
|
|
134
|
-
# Prepare single device with cloud connectivity
|
|
135
|
-
gw, internal_brg, gw_server, gw_version, protobuf = ut_prep_gw(args, mqttc, start_time)
|
|
136
|
-
|
|
137
|
-
brg0, brg1 = None, None
|
|
138
|
-
if args.brg_cloud_connectivity:
|
|
139
|
-
brg0 = internal_brg
|
|
140
|
-
internal_brg = internal_brg_sim
|
|
141
|
-
elif args.brg:
|
|
142
|
-
brg0 = ut_prep_brg(args, mqttc, start_time, gw, args.brg, gw_server, protobuf)
|
|
143
|
-
if args.brg1:
|
|
144
|
-
brg1 = ut_prep_brg(args, mqttc, start_time, gw, args.brg1, gw_server, protobuf)
|
|
145
|
-
|
|
146
|
-
# Collecting the tests
|
|
147
|
-
tests = []
|
|
148
|
-
for l in open(os.path.join(BASE_DIR, test_list)).readlines():
|
|
149
|
-
if l.strip() and not l.strip().startswith("#"):
|
|
150
|
-
test = (WltTest(l.strip(), gw, mqttc, sim_mqttc=sim_mqttc, exit_on_param_failure=args.exit_on_param_failure, gw_lan=args.lan,
|
|
151
|
-
gw_orig_versions={BLE_VERSION:gw_version[BLE_VERSION], WIFI_VERSION:gw_version[WIFI_VERSION]},
|
|
152
|
-
server=gw_server, latest=args.latest, release_candidate=args.rc, private_setup=args.private_setup, internal_brg_obj=internal_brg,
|
|
153
|
-
gw_sim=gw_sim_thread, data=args.data, port=args.port, protobuf=protobuf))
|
|
154
|
-
test.brg0 = brg0
|
|
155
|
-
test.brg1 = brg1
|
|
156
|
-
if test.internal_brg and test.multi_brg:
|
|
157
|
-
test.brg1 = internal_brg
|
|
158
|
-
elif test.internal_brg and not test.multi_brg:
|
|
159
|
-
test.brg0 = internal_brg
|
|
160
|
-
elif not test.internal_brg and not test.gw_only and not test.brg0:
|
|
161
|
-
continue
|
|
162
|
-
test.active_brg = test.brg0
|
|
163
|
-
tests += [test]
|
|
164
|
-
tests = filter_tests(tests=tests, run=args.run, drun=args.drun)
|
|
165
|
-
|
|
166
|
-
# Init spectrum analyzer
|
|
167
|
-
tests_rtsa_update(tests)
|
|
168
|
-
|
|
169
|
-
# Running the tests
|
|
170
|
-
utPrint(SEP)
|
|
171
|
-
utPrint("\n - ".join([f"\nRunning {len(tests)} tests:"] + [t.name if not t.internal_brg else f"{t.name} (internal brg)" for t in tests]))
|
|
172
|
-
|
|
173
|
-
failures, skipped = 0, 0
|
|
174
|
-
exit_on_test_failure = args.exit_on_test_failure
|
|
175
|
-
i = 0
|
|
176
|
-
|
|
177
|
-
for i, test in enumerate(tests):
|
|
178
|
-
test_module_name = load_module(f'{test.module_name}.py', f'{test.dir}/{test.module_name}.py')
|
|
179
|
-
test = skip_test_check(test, args)
|
|
180
|
-
if test.rc == TEST_SKIPPED:
|
|
181
|
-
for phase in test.phases:
|
|
182
|
-
phase.rc = TEST_SKIPPED
|
|
183
|
-
skipped += 1
|
|
184
|
-
else:
|
|
185
|
-
test = test_module_name.run(test)
|
|
186
|
-
test.update_overall_rc()
|
|
187
|
-
if test.rc == TEST_FAILED:
|
|
188
|
-
failures += 1
|
|
189
|
-
if "versions_test" in test.module_name and f"EXITING CERTIFICATE" in test.reason:
|
|
190
|
-
exit_on_test_failure = True
|
|
191
|
-
print(f"Test Duration: {test.duration}")
|
|
192
|
-
print(tabulate.tabulate([[i+1, i+1-(failures+skipped), skipped, failures, len(tests)]],
|
|
193
|
-
headers=["FINISHED", "PASSED", "SKIPPED", "FAILED", "TOTAL"], tablefmt="pretty"))
|
|
194
|
-
cert_common.wait_time_n_print(2)
|
|
195
|
-
if exit_on_test_failure and test.rc == TEST_FAILED:
|
|
196
|
-
break
|
|
197
|
-
|
|
198
|
-
# Print results
|
|
199
|
-
print(SEP)
|
|
200
|
-
duration = (datetime.datetime.now()-start_time)
|
|
201
|
-
print("Tests duration: {}".format(str(duration).split(".")[0]))
|
|
202
|
-
brg_version = ''
|
|
203
|
-
if test.active_brg:
|
|
204
|
-
brg_version = test.active_brg.version
|
|
205
|
-
print("Bridge version: {}".format(brg_version))
|
|
206
|
-
print(cert_results.generate_tests_table(tests))
|
|
207
|
-
print(tabulate.tabulate([[i+1, i+1-(failures+skipped), skipped, failures, len(tests)]],
|
|
208
|
-
headers=["FINISHED", "PASSED", "SKIPPED", "FAILED", "TOTAL"], tablefmt="pretty"))
|
|
209
|
-
|
|
210
|
-
print(WIL_CERT_TEXT)
|
|
211
|
-
print_warn(get_important_tests_info())
|
|
212
|
-
print_pass_or_fail(not failures, f"Wiliot Certificate")
|
|
213
|
-
|
|
214
|
-
pipeline = cert_common.pipeline_running()
|
|
215
|
-
# brg = args.brg_cloud_connectivity if args.brg_cloud_connectivity else args.brg
|
|
216
|
-
cert_results.generate_results_files(html=True, pdf=True, failures=failures, skipped=skipped, start_time=start_time, duration=duration,
|
|
217
|
-
brg=test.active_brg, internal_brg=internal_brg, tests=tests, pipeline=pipeline)
|
|
218
|
-
if not pipeline:
|
|
219
|
-
webbrowser.open('file://' + os.path.realpath(os.path.join(BASE_DIR, UT_RESULT_FILE_PDF)))
|
|
220
|
-
|
|
221
|
-
if failures:
|
|
222
|
-
sys.exit(-1)
|
|
223
|
-
|
|
224
|
-
if __name__ == '__main__':
|
|
225
|
-
main()
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
import os
|
|
3
|
-
sys.path.insert(0, os.path.abspath(".."))
|
|
4
|
-
from argparse import ArgumentParser, RawDescriptionHelpFormatter
|
|
5
|
-
from brg_certificate.cert_defines import DATA_REAL_TAGS, DATA_SIMULATION
|
|
6
|
-
import brg_certificate.brg_certificate as brg_certificate
|
|
7
|
-
TEST_LIST_DEFAULT_FILE = "certificate_test_list.txt"
|
|
8
|
-
|
|
9
|
-
class BrgCertificateCLI:
|
|
10
|
-
"""Bridge Certificate CLI."""
|
|
11
|
-
def __init__(self):
|
|
12
|
-
self.parser = ArgumentParser(
|
|
13
|
-
description="Bridge Certificate CLI",
|
|
14
|
-
epilog=
|
|
15
|
-
"run examples:\n"
|
|
16
|
-
" Run command example with COM PORT connection:\n"
|
|
17
|
-
" wlt-cert-brg --gw SIM --brg <XXXXXXXXXXXX> --port <COM_PORT>\n"
|
|
18
|
-
" Run command example with remote GW connection:\n"
|
|
19
|
-
" wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX>\n"
|
|
20
|
-
" Run command example for running datapath module tests only:\n"
|
|
21
|
-
" wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --run datapath\n"
|
|
22
|
-
" Run command example with sanity test list:\n"
|
|
23
|
-
" wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --tl certificate_sanity_test_list.txt\n"
|
|
24
|
-
" Run command example with COM PORT connection for bridge with cloud connectivity:\n"
|
|
25
|
-
" wlt-cert-brg --gw SIM --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt --port <COM_PORT>\n"
|
|
26
|
-
" Run command example with remote GW connection for bridge with cloud connectivity:\n"
|
|
27
|
-
" wlt-cert-brg --gw <YYYYYYYYYYYY> --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt\n",
|
|
28
|
-
formatter_class=RawDescriptionHelpFormatter
|
|
29
|
-
)
|
|
30
|
-
self.parser.add_argument('--brg', '-b', default="", help='Bridge id to run on the tests')
|
|
31
|
-
self.parser.add_argument('--brg_cloud_connectivity', '-bcc', default="", help='Bridge with cloud connectivity id to run on the tests')
|
|
32
|
-
self.parser.add_argument('--brg1', '-b1', default="", help='Second bridge id to run on tests two bridges needed')
|
|
33
|
-
self.parser.add_argument('--gw', '-g', type=str, required=True, help='GW id to run on the test, SIM prefix is used for Gateway simulation')
|
|
34
|
-
self.parser.add_argument('--data', '-d', choices=[DATA_REAL_TAGS, DATA_SIMULATION], default=DATA_SIMULATION, help='Choose if data generated from real tags or by simulation')
|
|
35
|
-
self.parser.add_argument('--port', '-p', default='', help='Enable UT using UART connection for Gateway Simulation or Data Simulation')
|
|
36
|
-
self.parser.add_argument('--clean', default=False, action='store_true', help='Clean all logs')
|
|
37
|
-
self.parser.add_argument('--tl', type=str, help='Test list file to use', default=TEST_LIST_DEFAULT_FILE)
|
|
38
|
-
self.parser.add_argument('--run', type=str, help='String to filter tests to run')
|
|
39
|
-
self.parser.add_argument('--drun', type=str, help='String to filter tests not to run')
|
|
40
|
-
self.parser.add_argument('--exit_on_test_failure', default=False, action='store_true', help='Stop running the tests if a test failed')
|
|
41
|
-
self.parser.add_argument('--exit_on_param_failure', default=False, action='store_true', help='Sets exit_on_param_failure mode to true in order to prevent \
|
|
42
|
-
tests from continuing iteration over all possibilities in case of failure')
|
|
43
|
-
self.parser.add_argument('--analyze_interference', '-ai', default=False, action='store_true', help='Analyze interference before tests start \
|
|
44
|
-
(relevant only for Gateway Simulator)')
|
|
45
|
-
|
|
46
|
-
def parse_args(self, args=None):
|
|
47
|
-
"""Parse arguments and return them."""
|
|
48
|
-
return self.parser.parse_args(args)
|
|
49
|
-
|
|
50
|
-
def main():
|
|
51
|
-
cli = BrgCertificateCLI()
|
|
52
|
-
args = cli.parse_args()
|
|
53
|
-
# Set extra args to defaults
|
|
54
|
-
args.server = "prod"
|
|
55
|
-
args.lan = False
|
|
56
|
-
args.latest = False
|
|
57
|
-
args.rc = False
|
|
58
|
-
args.private_setup = False
|
|
59
|
-
args.skip_internal = False
|
|
60
|
-
brg_certificate.main(args)
|
|
61
|
-
|
|
62
|
-
if __name__ == '__main__':
|
|
63
|
-
main()
|