wiliot-certificate 4.4.3__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.3.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.93_app.zip +0 -0
- gw_certificate/interface/4.4.93_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.3.dist-info/METADATA +0 -211
- wiliot_certificate-4.4.3.dist-info/RECORD +0 -210
- wiliot_certificate-4.4.3.dist-info/entry_points.txt +0 -3
- wiliot_certificate-4.4.3.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.3.dist-info → wiliot_certificate-4.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
from brg_certificate.cert_prints import *
|
|
2
|
-
from brg_certificate.cert_defines import *
|
|
3
|
-
from brg_certificate.wlt_types import *
|
|
4
|
-
import brg_certificate.cert_common as cert_common
|
|
5
|
-
import brg_certificate.cert_config as cert_config
|
|
6
|
-
|
|
7
|
-
# Tests definitions
|
|
8
|
-
BRG_REBOOT_TIME = 30
|
|
9
|
-
NUM_OF_LED_BLINKS_ACTION = 10
|
|
10
|
-
LEDS_KEEP_ALIVE_PERIOD = 10
|
|
11
|
-
LEDS_KEEP_ALIVE_BLINKS_NUM = 2
|
|
12
|
-
ENERGIZING_LED_COLOR = "RED"
|
|
13
|
-
BOARD_TYPE_2_ECHOING_LED_COLLOR_DICT = {ag.BOARD_TYPE_FANSTEL_SINGLE_BAND_V0: "Green",
|
|
14
|
-
ag.BOARD_TYPE_FANSTEL_DUAL_BAND_V0: "Green",
|
|
15
|
-
ag.BOARD_TYPE_MINEW_SINGLE_BAND_V0: "Green",
|
|
16
|
-
ag.BOARD_TYPE_MINEW_DUAL_BAND_V0: "Blue",
|
|
17
|
-
ag.BOARD_TYPE_ENERGOUS_V0: "Blue",
|
|
18
|
-
ag.BOARD_TYPE_ENERGOUS_V1: "Blue",
|
|
19
|
-
ag.BOARD_TYPE_ENERGOUS_V2: "Blue",
|
|
20
|
-
ag.BOARD_TYPE_ENERGOUS_V3: "Blue",
|
|
21
|
-
ag.BOARD_TYPE_ENERGOUS_V4: "Blue",
|
|
22
|
-
ag.BOARD_TYPE_ERM_V0: "Blue",
|
|
23
|
-
ag.BOARD_TYPE_ERM_V1: "Blue",
|
|
24
|
-
ag.BOARD_TYPE_KOAMTAC_V0: "Green",
|
|
25
|
-
ag.BOARD_TYPE_MINEW_POE_V0: "Yellow"}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
# Helper functions
|
|
29
|
-
def compare_versions(gw_version, brg_version):
|
|
30
|
-
# Split versions into components
|
|
31
|
-
gw_version_parts = gw_version.split('.')
|
|
32
|
-
brg_version_parts = brg_version.split('.')
|
|
33
|
-
|
|
34
|
-
# Compare each component
|
|
35
|
-
if (len(gw_version_parts) == 3 and len(brg_version_parts) == 3 and
|
|
36
|
-
gw_version_parts[0] == brg_version_parts[0] and
|
|
37
|
-
gw_version_parts[1] == brg_version_parts[1] and
|
|
38
|
-
gw_version_parts[2] == brg_version_parts[2]):
|
|
39
|
-
return True
|
|
40
|
-
else:
|
|
41
|
-
return False
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def run(test):
|
|
45
|
-
test = cert_common.test_prolog(test)
|
|
46
|
-
if test.rc == TEST_FAILED:
|
|
47
|
-
return cert_common.test_epilog(test)
|
|
48
|
-
|
|
49
|
-
test.mqttc.flush_pkts()
|
|
50
|
-
# --------------------- Pre stage ------------------------------ #
|
|
51
|
-
utPrint("Pre state - Please make sure you have a registerd GW connected to the UT BRG!!!", "WARNING")
|
|
52
|
-
utPrint("Press 'y' if the GW is registered and connected to the UT BRG", "BLUE")
|
|
53
|
-
value = cert_common.check_input_n_try_again(input())
|
|
54
|
-
test = cert_common.value_check_if_y(test, value, "PRE STAGE")
|
|
55
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
56
|
-
return cert_common.test_epilog(test)
|
|
57
|
-
utPrint("GW is registered and connected to UT BRG!", "GREEN")
|
|
58
|
-
|
|
59
|
-
# Determine LED colors according to the board type
|
|
60
|
-
test, interface = cert_common.get_module_if_pkt(test)
|
|
61
|
-
if test.rc == TEST_FAILED:
|
|
62
|
-
utPrint("Failed to get the GW interface packet!", "RED")
|
|
63
|
-
return cert_common.test_epilog(test)
|
|
64
|
-
board_type = interface.board_type
|
|
65
|
-
if board_type not in BOARD_TYPE_2_ECHOING_LED_COLLOR_DICT:
|
|
66
|
-
utPrint(f"Unknown board type: {board_type}", "RED")
|
|
67
|
-
return cert_common.test_epilog(test)
|
|
68
|
-
else:
|
|
69
|
-
ECHOING_LED_COLOR = BOARD_TYPE_2_ECHOING_LED_COLLOR_DICT[board_type]
|
|
70
|
-
if board_type == ag.BOARD_TYPE_MINEW_POE_V0:
|
|
71
|
-
NUS_INDICATION_LED_COLOR = "Green"
|
|
72
|
-
else:
|
|
73
|
-
NUS_INDICATION_LED_COLOR = ECHOING_LED_COLOR
|
|
74
|
-
|
|
75
|
-
# Version verification
|
|
76
|
-
gw_ble_version = test.gw_orig_versions.get(BLE_VERSION)
|
|
77
|
-
bridge_ble_version = test.active_brg.version
|
|
78
|
-
if gw_ble_version and bridge_ble_version:
|
|
79
|
-
if compare_versions(gw_ble_version, bridge_ble_version) is False:
|
|
80
|
-
utPrint("Versions are not alligned - Please make sure the BLE versions are the same", "RED")
|
|
81
|
-
return cert_common.test_epilog(test)
|
|
82
|
-
else:
|
|
83
|
-
utPrint("GW & BRG versions are the same - Pre stage Passed!", "GREEN")
|
|
84
|
-
else:
|
|
85
|
-
utPrint("Failed to get the BLE versions, please try again!", "RED")
|
|
86
|
-
return cert_common.test_epilog(test)
|
|
87
|
-
|
|
88
|
-
utPrint("Starting examining the LED's, Please pay attention to the following steps!", "WARNING")
|
|
89
|
-
# --------------------- Advertising LED --------------------- #
|
|
90
|
-
utPrint("Advertising LED check - sending Reboot action to BRG!", "HEADER")
|
|
91
|
-
cert_config.send_brg_action(test, ag.ACTION_REBOOT)
|
|
92
|
-
reboot_start_ts = int(datetime.datetime.now().timestamp())
|
|
93
|
-
utPrint(f"The BRG was rebooted - is the advertising LED ({NUS_INDICATION_LED_COLOR}) continuously "
|
|
94
|
-
"on and all other LED's are off? (Y/N)", "BLUE")
|
|
95
|
-
value = cert_common.check_input_n_try_again(input())
|
|
96
|
-
test = cert_common.value_check_if_y(test, value, "Advertising LED check")
|
|
97
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
98
|
-
return cert_common.test_epilog(test)
|
|
99
|
-
# wait for advertisement phase to finish
|
|
100
|
-
if (int(datetime.datetime.now().timestamp()) - reboot_start_ts < BRG_REBOOT_TIME):
|
|
101
|
-
utPrint(f"Now we'll wait for the BRG to finish his {BRG_REBOOT_TIME} advertismeent!", "BLUE")
|
|
102
|
-
cert_common.wait_time_n_print(BRG_REBOOT_TIME - (int(datetime.datetime.now().timestamp()) - reboot_start_ts))
|
|
103
|
-
utPrint("Advertisement LED check completed!\n", "GREEN")
|
|
104
|
-
|
|
105
|
-
# ------------------ Energizing LED check ------------------ #
|
|
106
|
-
# Energizing is ON (Non default for SUB1G, but for UT purposses we'll set it to ON)
|
|
107
|
-
utPrint("Energizing LED check!", "HEADER")
|
|
108
|
-
utPrint(f"Is the Energizing LED ({ENERGIZING_LED_COLOR}) on? (Y/N)", "BLUE")
|
|
109
|
-
value = cert_common.check_input_n_try_again(input())
|
|
110
|
-
test = cert_common.value_check_if_y(test, value, "Eenergizing LED check")
|
|
111
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
112
|
-
return cert_common.test_epilog(test)
|
|
113
|
-
|
|
114
|
-
# Energizing is OFF
|
|
115
|
-
# Default cfg for 2400 is 0 == no energizing so we only eliminating sub1g energizing
|
|
116
|
-
utPrint("Configuring the BRG to no energizing in sub1g", "WARNING")
|
|
117
|
-
sub1g_module = test.active_brg.energy_sub1g
|
|
118
|
-
test = cert_config.brg_configure(test, fields=[BRG_PATTERN], values=[ag.SUB1G_ENERGY_PATTERN_NO_ENERGIZING], module=sub1g_module)[0]
|
|
119
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
120
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[sub1g_module])
|
|
121
|
-
utPrint(f"wait a few seconds for the change to apply - Is the Energizing LED ({ENERGIZING_LED_COLOR}) off? (Y/N)", "BLUE")
|
|
122
|
-
value = cert_common.check_input_n_try_again(input())
|
|
123
|
-
test = cert_common.value_check_if_y(test, value, "Eenergizing LED check")
|
|
124
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
125
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[sub1g_module])
|
|
126
|
-
utPrint("Energizing LED check completed!\n", "GREEN")
|
|
127
|
-
|
|
128
|
-
# ------------------- Echo LED check -------------------------- #
|
|
129
|
-
utPrint("Echoing LED check!", "HEADER")
|
|
130
|
-
utPrint("Please make sure you have tags around you before answering!", "WARNING")
|
|
131
|
-
utPrint(f"Is the Echoing LED ({ECHOING_LED_COLOR}) blinking? (Y/N)", "BLUE")
|
|
132
|
-
value = cert_common.check_input_n_try_again(input())
|
|
133
|
-
test = cert_common.value_check_if_y(test, value, "Echoing LED check")
|
|
134
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
135
|
-
return cert_common.test_epilog(test)
|
|
136
|
-
utPrint("Echoing LED check completed!\n", "GREEN")
|
|
137
|
-
|
|
138
|
-
# ---------------- LEDS_KEEP_ALIVE_PERIOD_CHECK --------------- #
|
|
139
|
-
utPrint("LEDS_KEEP_ALIVE_PERIOD check!", "HEADER")
|
|
140
|
-
utPrint("Please remove all tags from the bridge surrounding for this check!", "WARNING")
|
|
141
|
-
utPrint(f"Look at the LEDS - Are both LED's off except for {LEDS_KEEP_ALIVE_BLINKS_NUM} blinks \n"
|
|
142
|
-
f"of the Echoing LED ({ECHOING_LED_COLOR}) every {LEDS_KEEP_ALIVE_PERIOD} seconds? (Y/N)", "BLUE")
|
|
143
|
-
value = cert_common.check_input_n_try_again(input())
|
|
144
|
-
test = cert_common.value_check_if_y(test, value, "LEDS_KEEP_ALIVE_PERIOD check")
|
|
145
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
146
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[sub1g_module])
|
|
147
|
-
utPrint("LEDS_KEEP_ALIVE_PERIOD check completed! - please restore the tags to position around the bridge\n", "GREEN")
|
|
148
|
-
|
|
149
|
-
# Revert to default
|
|
150
|
-
utPrint("Reverting the BRG to default configuration", "WARNING")
|
|
151
|
-
test = cert_config.config_brg_defaults(test, modules=[sub1g_module])[0]
|
|
152
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
153
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[sub1g_module])
|
|
154
|
-
utPrint(f"wait a few seconds for the change to apply - Is the Energizing LED ({ENERGIZING_LED_COLOR}) back on \n"
|
|
155
|
-
f" and the Echoing LED ({ECHOING_LED_COLOR}) blinking? (Y/N)", "BLUE")
|
|
156
|
-
value = cert_common.check_input_n_try_again(input())
|
|
157
|
-
test = cert_common.value_check_if_y(test, value, "Eenergizing LED check")
|
|
158
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
159
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[sub1g_module])
|
|
160
|
-
utPrint("Succesfully Reverted the BRG to default configuration!\n", "GREEN")
|
|
161
|
-
|
|
162
|
-
# ----------------------- Blink check ----------------------- #
|
|
163
|
-
value = 'n'
|
|
164
|
-
while True:
|
|
165
|
-
utPrint("Blink action check - pay attention to the LED's", "HEADER")
|
|
166
|
-
cert_config.send_brg_action(test, ag.ACTION_BLINK)
|
|
167
|
-
if board_type == ag.BOARD_TYPE_MINEW_POE_V0:
|
|
168
|
-
utPrint(f"wait a few seconds for the action to apply - "
|
|
169
|
-
f"Did you see all 4 LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
|
|
170
|
-
else:
|
|
171
|
-
utPrint(f"wait a few seconds for the action to apply - "
|
|
172
|
-
f"Did you see both LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
|
|
173
|
-
repeat = False
|
|
174
|
-
value = cert_common.check_input_n_try_again(input())
|
|
175
|
-
if value.lower() == 'n':
|
|
176
|
-
utPrint("Want to send the Blink action again?", "BLUE")
|
|
177
|
-
value = cert_common.check_input_n_try_again(input())
|
|
178
|
-
if value.lower() == 'y':
|
|
179
|
-
utPrint("Sending the Blink action again!", "WARNING")
|
|
180
|
-
repeat = True
|
|
181
|
-
elif value.lower() == 'n':
|
|
182
|
-
utPrint("No need to repeat - Let's proceed!", "GREEN")
|
|
183
|
-
if repeat is False:
|
|
184
|
-
break
|
|
185
|
-
test = cert_common.value_check_if_y(test, value, "Blink check")
|
|
186
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
187
|
-
return cert_common.test_epilog(test)
|
|
188
|
-
utPrint("Blink action check completed!\n", "GREEN")
|
|
189
|
-
|
|
190
|
-
# ------------- Power management sleep & Keep Alive Mode ------------- #
|
|
191
|
-
utPrint("Power management Sleep state & Keep Alive Mode check!", "HEADER")
|
|
192
|
-
utPrint("Sending the BRG power management configuration in order to enter sleep state", "WARNING")
|
|
193
|
-
pwr_mgmt_module = test.active_brg.pwr_mgmt
|
|
194
|
-
test, wltpkt = cert_common.brg_pwr_mgmt_turn_on(test)
|
|
195
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
196
|
-
# Preventing leaving brg in pwr mgmt, protection for on that worked yet no ack was received
|
|
197
|
-
test = cert_common.brg_pwr_mgmt_turn_off(test)
|
|
198
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[pwr_mgmt_module])
|
|
199
|
-
utPrint("pwr mgmt static mode turned on!", "GREEN")
|
|
200
|
-
utPrint("Waiting for on_duration to expire!", "BLUE")
|
|
201
|
-
cert_common.wait_time_n_print(wltpkt.pkt.static_on_duration)
|
|
202
|
-
sleep_state_start_ts = int(datetime.datetime.now().timestamp())
|
|
203
|
-
utPrint("Now we'll check sleep_Keep_Alive state blink .\n", "WARNING")
|
|
204
|
-
utPrint(f"look ath the LEDS - Are all leds off, besides 1 blink ({wltpkt.pkt.static_keep_alive_scan} msec period) of the \n"
|
|
205
|
-
f"Echoing LED ({ECHOING_LED_COLOR}) every {wltpkt.pkt.static_keep_alive_period} seconds? (Y/N)", "BLUE")
|
|
206
|
-
value = cert_common.check_input_n_try_again(input())
|
|
207
|
-
test = cert_common.value_check_if_y(test, value, "Sleep Keep Alive mode check")
|
|
208
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
209
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[pwr_mgmt_module])
|
|
210
|
-
# wait for sleep_duration to expire to revert the bridge to defualt configuration
|
|
211
|
-
if wltpkt.pkt.static_sleep_duration - (int(datetime.datetime.now().timestamp()) - sleep_state_start_ts) > 0:
|
|
212
|
-
utPrint("Waiting for sleep_duration to expire", "BLUE")
|
|
213
|
-
cert_common.wait_time_n_print(wltpkt.pkt.static_sleep_duration - (int(datetime.datetime.now().timestamp()) - sleep_state_start_ts))
|
|
214
|
-
# Revert to default
|
|
215
|
-
test = cert_common.brg_pwr_mgmt_turn_off(test)
|
|
216
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
217
|
-
test = cert_common.brg_pwr_mgmt_turn_off(test)
|
|
218
|
-
return cert_common.test_epilog(test, revert_brgs=True, modules=[pwr_mgmt_module])
|
|
219
|
-
utPrint("Keep Alive Mode check completed!", "GREEN")
|
|
220
|
-
|
|
221
|
-
# --------------------- Post stage ----------------------------- #
|
|
222
|
-
utPrint("Test is completed, Good job!!!", "GREEN")
|
|
223
|
-
return cert_common.test_epilog(test)
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Bridge OTA",
|
|
3
|
-
"module": "Edge Management",
|
|
4
|
-
"purpose": "Test Over-the-air (OTA) firmware update functionality",
|
|
5
|
-
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
|
-
"initialCondition": "Bridge configured to defaults and connected to a GW",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
8
|
-
"Extract latest firmware version",
|
|
9
|
-
"Perform BRG OTA firmware update",
|
|
10
|
-
"Test epilog"],
|
|
11
|
-
"expectedOutcome": "BRG OTA firmware update was successful - bridge is running the latest firmware version",
|
|
12
|
-
"mandatory": 0,
|
|
13
|
-
"multiBridgeTest": 0,
|
|
14
|
-
"gwOnlyTest": 0,
|
|
15
|
-
"internalBridge": 1,
|
|
16
|
-
"allSupportedValues": []
|
|
17
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
from brg_certificate.cert_prints import *
|
|
2
|
-
from brg_certificate.cert_defines import *
|
|
3
|
-
import brg_certificate.cert_common as cert_common
|
|
4
|
-
import brg_certificate.cert_config as cert_config
|
|
5
|
-
import brg_certificate.cert_utils as cert_utils
|
|
6
|
-
import datetime
|
|
7
|
-
import tabulate
|
|
8
|
-
|
|
9
|
-
# Index 0 = stage name Index 1 = value log to find
|
|
10
|
-
BRG_OTA_LOGS = {
|
|
11
|
-
"got ota action": "Got OTA action request for BRG",
|
|
12
|
-
"file download finish dat": "Downloaded files to /sd_images/ble_image_dat_file successfully",
|
|
13
|
-
"dat file open": "file opening /sd_images/ble_image_dat_file success",
|
|
14
|
-
"dat file transfer finish": "BRG_OTA_FILE_TRANSFER_FINISH",
|
|
15
|
-
"file download finish bin": "Downloaded files to /sd_images/ble_image_bin_file successfully",
|
|
16
|
-
"bin file open": "file opening /sd_images/ble_image_bin_file success",
|
|
17
|
-
"bin file transfer finish": "BRG_OTA_FILE_TRANSFER_FINISH",
|
|
18
|
-
"start brg ota": "Starting OTA to BRG",
|
|
19
|
-
"finish brg ota": "BRG OTA finished with status",
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
RECIEVED_REPORTS_TIMEOUT = 60
|
|
23
|
-
|
|
24
|
-
EXPECTED_REPORTS = {
|
|
25
|
-
4: {0, 25, 50, 75, 100},
|
|
26
|
-
5: {0, 100},
|
|
27
|
-
6: {10, 20, 30, 40, 50, 60, 70, 80, 90, 100},
|
|
28
|
-
7: {100}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def get_report_status(test):
|
|
33
|
-
received = {step: set() for step in EXPECTED_REPORTS}
|
|
34
|
-
start_time = datetime.datetime.now()
|
|
35
|
-
|
|
36
|
-
while (datetime.datetime.now() - start_time).seconds < RECIEVED_REPORTS_TIMEOUT:
|
|
37
|
-
for p in test.mqttc._userdata["pkts"].status:
|
|
38
|
-
if ACTION_STATUS in p.body:
|
|
39
|
-
msg = p.body[ACTION_STATUS]
|
|
40
|
-
# Check that the packet contains the expected action, statusCode, and progress
|
|
41
|
-
if msg[ACTION] == ACTION_BRG_OTA: # OTA action
|
|
42
|
-
if STATUS_CODE_STR in msg and msg[STATUS_CODE_STR] != 0:
|
|
43
|
-
test.rc = TEST_FAILED
|
|
44
|
-
test.add_reason(f"Got the following error code during OTA : {p.body[STATUS_CODE_STR]}")
|
|
45
|
-
return test
|
|
46
|
-
else:
|
|
47
|
-
step = msg[STEP]
|
|
48
|
-
progress = msg[PROGRESS]
|
|
49
|
-
# Only record progress if it is one of the expected values for this step
|
|
50
|
-
if progress in EXPECTED_REPORTS[step]:
|
|
51
|
-
received[step].add(progress)
|
|
52
|
-
|
|
53
|
-
# Check if every step has received all its expected progress values
|
|
54
|
-
if all(received[step] == EXPECTED_REPORTS[step] for step in EXPECTED_REPORTS):
|
|
55
|
-
utPrint("SUCCESS: Got all the required reports on the OTA process!", "GREEN")
|
|
56
|
-
return test
|
|
57
|
-
|
|
58
|
-
print_update_wait()
|
|
59
|
-
|
|
60
|
-
test.rc = TEST_FAILED
|
|
61
|
-
print("Not all reports on OTA were received")
|
|
62
|
-
test.add_reason("Not all reports on OTA were received")
|
|
63
|
-
return test
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def get_ts_from_log(log):
|
|
67
|
-
ts_end = log.find(']')
|
|
68
|
-
ts_str = log[1:ts_end]
|
|
69
|
-
# Convers from ms to sec
|
|
70
|
-
return int(ts_str) / 1000
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
# Prints the time each step individually for regression & follow up purposes
|
|
74
|
-
def breakdown_steps_timing(test, start_ts):
|
|
75
|
-
# timing data [step, is_found, time from start, stage timing]
|
|
76
|
-
timing_data = []
|
|
77
|
-
last_ts = start_ts
|
|
78
|
-
|
|
79
|
-
# Collect data
|
|
80
|
-
for step, log in BRG_OTA_LOGS.items():
|
|
81
|
-
found = []
|
|
82
|
-
suffix = "(dat)" if step.startswith("dat") else "(bin)" if step.startswith("bin") else ""
|
|
83
|
-
test, res, found = cert_common.single_log_search(test, log, found, fail_on_find=False, print_logs=False, additional_log=suffix)
|
|
84
|
-
time_from_start = -100 # invalid
|
|
85
|
-
step_time = -100 # invalid
|
|
86
|
-
if res:
|
|
87
|
-
found_ts = get_ts_from_log(found[0])
|
|
88
|
-
time_from_start = found_ts - start_ts
|
|
89
|
-
step_time = found_ts - last_ts
|
|
90
|
-
last_ts = found_ts
|
|
91
|
-
timing_data.append([step, res, round(time_from_start, 1), round(step_time, 1)])
|
|
92
|
-
|
|
93
|
-
# Create table
|
|
94
|
-
headers = ["Step", "Log Found", "Time From Start (secs)", "Step Time (secs)"]
|
|
95
|
-
print(tabulate.tabulate(tabular_data=timing_data, headers=headers, tablefmt="fancy_grid"))
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
def run(test):
|
|
99
|
-
|
|
100
|
-
test = cert_common.test_prolog(test)
|
|
101
|
-
if test.rc == TEST_FAILED:
|
|
102
|
-
return cert_common.test_epilog(test, revert_brgs=True)
|
|
103
|
-
|
|
104
|
-
versions_mgmt2 = cert_utils.load_module('versions_mgmt2.py', f'{UTILS_BASE_REL_PATH}/versions_mgmt2.py')
|
|
105
|
-
reg_id = versions_mgmt2.get_board_type(env=AWS, server=TEST, board_name="wifi")[versions_mgmt2.BOARD_REG_ID]
|
|
106
|
-
if test.latest:
|
|
107
|
-
_, version = versions_mgmt2.get_versions(env=AWS, server=TEST, board_type_reg_id=reg_id, ci=True)
|
|
108
|
-
elif test.release_candidate:
|
|
109
|
-
_, version = versions_mgmt2.get_versions(env=AWS, server=TEST, board_type_reg_id=reg_id, rc=True)
|
|
110
|
-
else:
|
|
111
|
-
test.rc = TEST_FAILED
|
|
112
|
-
test.reason = NO_PARAMS_GIVEN
|
|
113
|
-
print(NO_PARAMS_GIVEN)
|
|
114
|
-
|
|
115
|
-
# check for problems in prolog
|
|
116
|
-
if test.rc == TEST_FAILED or not version:
|
|
117
|
-
test = cert_common.test_epilog(test)
|
|
118
|
-
return test
|
|
119
|
-
|
|
120
|
-
start_time = datetime.datetime.now()
|
|
121
|
-
test = cert_config.brg_ota(test, gw_ble_version=version)
|
|
122
|
-
test = get_report_status(test)
|
|
123
|
-
generate_log_file(test, f"brg_ota_{version}")
|
|
124
|
-
|
|
125
|
-
if test.rc == TEST_PASSED and WANTED_VER_SAME not in test.reason:
|
|
126
|
-
breakdown_steps_timing(test, start_time.timestamp())
|
|
127
|
-
|
|
128
|
-
return cert_common.test_epilog(test)
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Output Power",
|
|
3
|
-
"module": "Energizer 2.4GHz",
|
|
4
|
-
"purpose": "Test configuration for all supported Energizer 2.4GHz output power values",
|
|
5
|
-
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
|
|
6
|
-
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
8
|
-
"For each supported value - configure the BRG and verify the value",
|
|
9
|
-
"Test epilog and revert to defaults"],
|
|
10
|
-
"expectedOutcome": "All values configured successfully",
|
|
11
|
-
"mandatory": 0,
|
|
12
|
-
"multiBridgeTest": 0,
|
|
13
|
-
"gwOnlyTest": 0,
|
|
14
|
-
"internalBridge": 1,
|
|
15
|
-
"allSupportedValues": [-12, -8, -4, 0, 2, 3]
|
|
16
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Signal Indicator BLE5 E2/E3 Pixels",
|
|
3
|
-
"module": "Energizer 2.4GHz",
|
|
4
|
-
"purpose": "verify Energizer 2.4GHz signal indicator functionality for BLE_5.0 in CHANNEL_10 for E2/E3 pixels modulation",
|
|
5
|
-
"documentation": "https://community.wiliot.com/customers/s/article/Bridge-to-Bridge-Signal-Indicator",
|
|
6
|
-
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
8
|
-
"rssi_threshold - check the if rssi value is between 0 to -25.",
|
|
9
|
-
"brg0_tx_brg1_rx - one brg is transmitter and the second is receiver, we expect to get the same values from the receiver, according to the tx params",
|
|
10
|
-
"brg0_none_brg1_rx - One rx BRG without any tx BRG. We don't expect to see any signal indicator packets.",
|
|
11
|
-
"brg0_rxtx_brg1_rxtx - Both BRG's will be configured to be transmitters and receivers, with different tx params for each one. we expect to see signal indicator packets from both BRG's, according to the tx params.",
|
|
12
|
-
"brg0_tx_brg1_none - One BRG will be configured as signal indicator tx, but no rx, so we don't expect to receive signal indicator packets.",
|
|
13
|
-
"Test epilog"],
|
|
14
|
-
"expectedOutcome": "All phases passed successfully!",
|
|
15
|
-
"mandatory": 0,
|
|
16
|
-
"multiBridgeTest": 1,
|
|
17
|
-
"gwOnlyTest": 0,
|
|
18
|
-
"internalBridge": 1,
|
|
19
|
-
"allSupportedValues": ["rssi_threshold", "brg0_tx_brg1_rx", "brg0_none_brg1_rx", "brg0_rxtx_brg1_rxtx", "brg0_tx_brg1_none"]
|
|
20
|
-
}
|