wiliot-certificate 4.4.3__py3-none-any.whl → 4.5.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.
Files changed (295) hide show
  1. {brg_certificate → certificate}/ag/wlt_cmd_if.html +10 -4
  2. {brg_certificate → certificate}/ag/wlt_types_ag.py +1878 -519
  3. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2brg_ota.json +69 -0
  4. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2gw_hb.json +109 -0
  5. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +45 -0
  6. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/calibration.json +96 -0
  7. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/custom.json +99 -0
  8. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/datapath.json +241 -13
  9. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/energy2400.json +120 -0
  10. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/energySub1g.json +96 -0
  11. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/externalSensor.json +135 -6
  12. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/interface.json +157 -0
  13. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/powerManagement.json +205 -0
  14. brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json → certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +27 -11
  15. certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +175 -0
  16. certificate/ag/wlt_types_ag_jsons/unified_sensor_pkt.json +65 -0
  17. certificate/cert_common.py +1459 -0
  18. certificate/cert_config.py +455 -0
  19. {brg_certificate → certificate}/cert_data_sim.py +131 -46
  20. {brg_certificate → certificate}/cert_defines.py +120 -128
  21. {brg_certificate → certificate}/cert_gw_sim.py +151 -49
  22. {brg_certificate → certificate}/cert_mqtt.py +164 -59
  23. {brg_certificate → certificate}/cert_prints.py +34 -33
  24. {brg_certificate → certificate}/cert_protobuf.py +15 -6
  25. {brg_certificate → certificate}/cert_results.py +205 -48
  26. certificate/cert_utils.py +622 -0
  27. certificate/certificate.py +198 -0
  28. certificate/certificate_cli.py +79 -0
  29. certificate/certificate_eth_test_list.txt +74 -0
  30. certificate/certificate_sanity_test_list.txt +65 -0
  31. certificate/certificate_test_list.txt +75 -0
  32. {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.json +2 -2
  33. {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.py +7 -6
  34. certificate/tests/calibration/output_power_test/output_power_test.json +22 -0
  35. certificate/tests/calibration/output_power_test/output_power_test.py +39 -0
  36. {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.json +1 -1
  37. {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.py +20 -15
  38. certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.json +14 -0
  39. certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.py +140 -0
  40. certificate/tests/cloud_connectivity/acl_test/acl_test.json +14 -0
  41. certificate/tests/cloud_connectivity/acl_test/acl_test.py +98 -0
  42. certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.json +18 -0
  43. certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.py +39 -0
  44. certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.json +18 -0
  45. certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.py +215 -0
  46. certificate/tests/cloud_connectivity/connection_test/connection_test.json +17 -0
  47. certificate/tests/cloud_connectivity/connection_test/connection_test.py +74 -0
  48. certificate/tests/cloud_connectivity/downlink_test/downlink_test.json +20 -0
  49. certificate/tests/cloud_connectivity/downlink_test/downlink_test.py +204 -0
  50. certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.json +16 -0
  51. certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.py +98 -0
  52. certificate/tests/cloud_connectivity/reboot_test/reboot_test.json +17 -0
  53. certificate/tests/cloud_connectivity/reboot_test/reboot_test.py +57 -0
  54. certificate/tests/cloud_connectivity/registration_test/registration_test.json +19 -0
  55. certificate/tests/cloud_connectivity/registration_test/registration_test.py +384 -0
  56. certificate/tests/cloud_connectivity/registration_test/registration_test_cli.py +90 -0
  57. certificate/tests/cloud_connectivity/stress_test/stress_test.json +16 -0
  58. certificate/tests/cloud_connectivity/stress_test/stress_test.py +97 -0
  59. certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.json +24 -0
  60. certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.py +93 -0
  61. certificate/tests/cloud_connectivity/uplink_test/uplink_test.json +19 -0
  62. certificate/tests/cloud_connectivity/uplink_test/uplink_test.py +161 -0
  63. {brg_certificate → certificate}/tests/datapath/aging_test/aging_test.json +1 -1
  64. certificate/tests/datapath/aging_test/aging_test.py +138 -0
  65. certificate/tests/datapath/event_ble5_test/event_ble5_test.json +16 -0
  66. certificate/tests/datapath/event_ble5_test/event_ble5_test.py +95 -0
  67. certificate/tests/datapath/event_test/event_test.json +16 -0
  68. certificate/tests/datapath/event_test/event_test.py +85 -0
  69. {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.json +1 -1
  70. {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.py +10 -8
  71. certificate/tests/datapath/output_power_test/output_power_test.json +22 -0
  72. {brg_certificate → certificate}/tests/datapath/output_power_test/output_power_test.py +17 -6
  73. {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +1 -1
  74. {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +10 -8
  75. {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.json +1 -1
  76. {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.py +9 -7
  77. {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.json +2 -2
  78. {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.py +18 -6
  79. certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.json +19 -0
  80. certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.py +61 -0
  81. {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +1 -1
  82. {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +11 -10
  83. certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.json +18 -0
  84. certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.py +83 -0
  85. {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +1 -1
  86. {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +10 -9
  87. {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.json +1 -1
  88. {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.py +10 -9
  89. {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +1 -1
  90. {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +9 -8
  91. brg_certificate/tests/datapath/output_power_test/output_power_test.json → certificate/tests/datapath/rx_channel_hopping_test/rx_channel_hopping_test.json +5 -4
  92. certificate/tests/datapath/rx_channel_hopping_test/rx_channel_hopping_test.py +77 -0
  93. {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.json +2 -2
  94. {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.py +7 -6
  95. {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +7 -7
  96. {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +112 -72
  97. {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +7 -7
  98. {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +112 -72
  99. {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.json +3 -3
  100. {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.py +12 -11
  101. {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.json +3 -3
  102. {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.py +12 -11
  103. {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.json +2 -1
  104. {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.py +14 -13
  105. certificate/tests/edge_mgmt/action_blink_test/action_blink_test.json +14 -0
  106. certificate/tests/edge_mgmt/action_blink_test/action_blink_test.py +24 -0
  107. certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.json +14 -0
  108. certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.py +43 -0
  109. certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.json +14 -0
  110. certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.py +42 -0
  111. certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.json +14 -0
  112. certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.py +44 -0
  113. certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.json +15 -0
  114. certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.py +42 -0
  115. certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.json +14 -0
  116. certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.py +49 -0
  117. certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.json +14 -0
  118. certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.py +102 -0
  119. certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.json +14 -0
  120. certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.py +41 -0
  121. {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json +2 -2
  122. {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.py +22 -11
  123. {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.json +1 -1
  124. {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.py +7 -6
  125. certificate/tests/energy2400/output_power_test/output_power_test.json +22 -0
  126. {brg_certificate → certificate}/tests/energy2400/output_power_test/output_power_test.py +17 -6
  127. {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.json +1 -1
  128. {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.py +7 -6
  129. certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +25 -0
  130. certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +378 -0
  131. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json → certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.json +3 -3
  132. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py → certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.py +97 -87
  133. certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +23 -0
  134. certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +350 -0
  135. {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +1 -1
  136. {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +7 -6
  137. {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.json +1 -1
  138. {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.py +7 -6
  139. {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json +1 -1
  140. {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +10 -10
  141. {brg_certificate → certificate}/tests/sensors/ext_sensor_test/ext_sensor_test.json +4 -4
  142. certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +455 -0
  143. certificate/wlt_types.py +122 -0
  144. {gw_certificate → common}/api_if/202/status.json +6 -0
  145. {gw_certificate → common}/api_if/203/status.json +6 -0
  146. {gw_certificate → common}/api_if/204/status.json +6 -0
  147. common/api_if/206/data.json +85 -0
  148. common/api_if/206/status.json +69 -0
  149. common/api_if/api_validation.py +85 -0
  150. common/web/templates/generator.html +148 -0
  151. common/web/templates/index.html +20 -0
  152. common/web/templates/menu.html +54 -0
  153. common/web/templates/parser.html +53 -0
  154. {brg_certificate/ag → common/web/templates}/wlt_types.html +1216 -191
  155. common/web/web_utils.py +377 -0
  156. {brg_certificate → common}/wltPb_pb2.py +14 -12
  157. {gw_certificate/common → common}/wltPb_pb2.pyi +16 -2
  158. gui_certificate/gui_certificate_cli.py +14 -0
  159. gui_certificate/server.py +1062 -0
  160. gui_certificate/templates/cert_run.html +1207 -0
  161. wiliot_certificate-4.5.0a1.dist-info/METADATA +110 -0
  162. wiliot_certificate-4.5.0a1.dist-info/RECORD +182 -0
  163. {wiliot_certificate-4.4.3.dist-info → wiliot_certificate-4.5.0a1.dist-info}/WHEEL +1 -1
  164. wiliot_certificate-4.5.0a1.dist-info/entry_points.txt +5 -0
  165. wiliot_certificate-4.5.0a1.dist-info/top_level.txt +3 -0
  166. brg_certificate/ag/energous_v0_defines.py +0 -925
  167. brg_certificate/ag/energous_v1_defines.py +0 -931
  168. brg_certificate/ag/energous_v2_defines.py +0 -925
  169. brg_certificate/ag/energous_v3_defines.py +0 -925
  170. brg_certificate/ag/energous_v4_defines.py +0 -925
  171. brg_certificate/ag/fanstel_lan_v0_defines.py +0 -925
  172. brg_certificate/ag/fanstel_lte_v0_defines.py +0 -925
  173. brg_certificate/ag/fanstel_wifi_v0_defines.py +0 -925
  174. brg_certificate/ag/minew_lte_v0_defines.py +0 -925
  175. brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -61
  176. brg_certificate/brg_certificate.py +0 -225
  177. brg_certificate/brg_certificate_cli.py +0 -63
  178. brg_certificate/cert_common.py +0 -923
  179. brg_certificate/cert_config.py +0 -402
  180. brg_certificate/cert_utils.py +0 -362
  181. brg_certificate/certificate_bcc_sanity_test_list.txt +0 -40
  182. brg_certificate/certificate_bcc_test_list.txt +0 -48
  183. brg_certificate/certificate_sanity_test_list.txt +0 -43
  184. brg_certificate/certificate_test_list.txt +0 -53
  185. brg_certificate/config/eclipse.json +0 -10
  186. brg_certificate/config/hivemq.json +0 -10
  187. brg_certificate/config/mosquitto.json +0 -10
  188. brg_certificate/config/mosquitto.md +0 -95
  189. brg_certificate/config/wiliot-dev.json +0 -10
  190. brg_certificate/restore_brg.py +0 -61
  191. brg_certificate/tests/calibration/output_power_test/output_power_test.json +0 -16
  192. brg_certificate/tests/calibration/output_power_test/output_power_test.py +0 -28
  193. brg_certificate/tests/datapath/aging_test/aging_test.py +0 -143
  194. brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +0 -16
  195. brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +0 -73
  196. brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +0 -17
  197. brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +0 -118
  198. brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +0 -14
  199. brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +0 -396
  200. brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +0 -20
  201. brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +0 -94
  202. brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +0 -19
  203. brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +0 -87
  204. brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +0 -17
  205. brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +0 -223
  206. brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +0 -17
  207. brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +0 -128
  208. brg_certificate/tests/energy2400/output_power_test/output_power_test.json +0 -16
  209. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +0 -20
  210. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +0 -321
  211. brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +0 -20
  212. brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +0 -141
  213. brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +0 -20
  214. brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +0 -276
  215. brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +0 -20
  216. brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +0 -390
  217. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +0 -16
  218. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +0 -28
  219. brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +0 -305
  220. brg_certificate/wltPb_pb2.pyi +0 -234
  221. brg_certificate/wlt_types.py +0 -113
  222. gw_certificate/ag/ut_defines.py +0 -364
  223. gw_certificate/ag/wlt_types.py +0 -85
  224. gw_certificate/ag/wlt_types_ag.py +0 -5310
  225. gw_certificate/ag/wlt_types_data.py +0 -64
  226. gw_certificate/api/extended_api.py +0 -23
  227. gw_certificate/api_if/200/data.json +0 -106
  228. gw_certificate/api_if/200/status.json +0 -47
  229. gw_certificate/api_if/201/data.json +0 -98
  230. gw_certificate/api_if/201/status.json +0 -53
  231. gw_certificate/api_if/205/logs.json +0 -12
  232. gw_certificate/api_if/api_validation.py +0 -38
  233. gw_certificate/api_if/gw_capabilities.py +0 -54
  234. gw_certificate/cert_results.py +0 -145
  235. gw_certificate/common/analysis_data_bricks.py +0 -60
  236. gw_certificate/common/debug.py +0 -42
  237. gw_certificate/common/serialization_formatter.py +0 -93
  238. gw_certificate/common/utils.py +0 -8
  239. gw_certificate/common/utils_defines.py +0 -15
  240. gw_certificate/common/wltPb_pb2.py +0 -84
  241. gw_certificate/gw_certificate.py +0 -154
  242. gw_certificate/gw_certificate_cli.py +0 -87
  243. gw_certificate/interface/4.4.93_app.zip +0 -0
  244. gw_certificate/interface/4.4.93_sd_bl_app.zip +0 -0
  245. gw_certificate/interface/ble_simulator.py +0 -61
  246. gw_certificate/interface/ble_sniffer.py +0 -189
  247. gw_certificate/interface/flash_fw.py +0 -90
  248. gw_certificate/interface/if_defines.py +0 -36
  249. gw_certificate/interface/mqtt.py +0 -563
  250. gw_certificate/interface/nrfutil-linux +0 -0
  251. gw_certificate/interface/nrfutil-mac +0 -0
  252. gw_certificate/interface/nrfutil.exe +0 -0
  253. gw_certificate/interface/pkt_generator.py +0 -594
  254. gw_certificate/interface/uart_if.py +0 -236
  255. gw_certificate/interface/uart_ports.py +0 -20
  256. gw_certificate/templates/results.html +0 -241
  257. gw_certificate/templates/stage.html +0 -22
  258. gw_certificate/templates/table.html +0 -6
  259. gw_certificate/templates/test.html +0 -38
  260. gw_certificate/tests/__init__.py +0 -10
  261. gw_certificate/tests/actions.py +0 -289
  262. gw_certificate/tests/bad_crc_to_PER_quantization.csv +0 -51
  263. gw_certificate/tests/connection.py +0 -188
  264. gw_certificate/tests/downlink.py +0 -172
  265. gw_certificate/tests/generic.py +0 -238
  266. gw_certificate/tests/registration.py +0 -340
  267. gw_certificate/tests/static/__init__.py +0 -0
  268. gw_certificate/tests/static/connection_defines.py +0 -9
  269. gw_certificate/tests/static/downlink_defines.py +0 -9
  270. gw_certificate/tests/static/generated_packet_table.py +0 -195
  271. gw_certificate/tests/static/packet_table.csv +0 -10067
  272. gw_certificate/tests/static/references.py +0 -5
  273. gw_certificate/tests/static/uplink_defines.py +0 -14
  274. gw_certificate/tests/throughput.py +0 -240
  275. gw_certificate/tests/uplink.py +0 -853
  276. wiliot_certificate-4.4.3.dist-info/METADATA +0 -211
  277. wiliot_certificate-4.4.3.dist-info/RECORD +0 -210
  278. wiliot_certificate-4.4.3.dist-info/entry_points.txt +0 -3
  279. wiliot_certificate-4.4.3.dist-info/top_level.txt +0 -3
  280. {brg_certificate → certificate}/__init__.py +0 -0
  281. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -0
  282. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -0
  283. {gw_certificate → common}/api_if/202/data.json +0 -0
  284. {gw_certificate/api_if/200 → common/api_if/202}/logs.json +0 -0
  285. {gw_certificate → common}/api_if/203/data.json +0 -0
  286. {gw_certificate/api_if/201 → common/api_if/203}/logs.json +0 -0
  287. {gw_certificate → common}/api_if/204/data.json +0 -0
  288. {gw_certificate/api_if/202 → common/api_if/204}/logs.json +0 -0
  289. {gw_certificate → common}/api_if/205/data.json +0 -0
  290. {gw_certificate/api_if/203 → common/api_if/205}/logs.json +0 -0
  291. {gw_certificate → common}/api_if/205/status.json +0 -0
  292. {gw_certificate/api_if/204 → common/api_if/206}/logs.json +0 -0
  293. {gw_certificate → common/api_if}/__init__.py +0 -0
  294. {gw_certificate/api_if → gui_certificate}/__init__.py +0 -0
  295. {wiliot_certificate-4.4.3.dist-info → wiliot_certificate-4.5.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,198 @@
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
+ import traceback
12
+ import shutil
13
+ # Local imports
14
+ from certificate.wlt_types import *
15
+ from certificate.cert_defines import *
16
+ from certificate.cert_prints import *
17
+ import certificate.cert_utils as cert_utils
18
+ import certificate.cert_results as cert_results
19
+ import certificate.cert_gw_sim as cert_gw_sim
20
+ import certificate.cert_mqtt as cert_mqtt
21
+ import certificate.cert_common as cert_common
22
+
23
+ TEST_LIST_FW_UPDATE_FILE = "ut/fw_update_test_list.txt"
24
+
25
+ os.system('')
26
+
27
+ def filter_tests(test_list, run, drun):
28
+ test_lines = [l.strip() for l in open(os.path.join(BASE_DIR, test_list)).readlines() if l.strip() and not l.strip().startswith("#")]
29
+ if run:
30
+ test_lines = [tl for tl in test_lines if re.search(run, tl.strip().split()[0])]
31
+ if drun:
32
+ test_lines = [tl for tl in test_lines if not re.search(drun, tl.strip().split()[0])]
33
+ return test_lines
34
+
35
+
36
+ def skip_test_check(test, validation_schema):
37
+ skip_string = ""
38
+ if test.multi_brg and (not cert_utils.brg_flag(validation_schema) or not test.active_brg):
39
+ skip_string = f"Skipped {test.module_name} multi brg test because device under test isn't a bridge"
40
+ elif test.multi_brg and not test.brg1:
41
+ skip_string = f"Skipped {test.module_name} multi brg test because brg1 wasn't given"
42
+ # TODO - check if module is supported by the bridge in the validation schema
43
+ elif test.active_brg and not test.active_brg.is_sup_cap(test):
44
+ skip_string = f"Skipped {test.module_name} because {cert_utils.module2name(test.test_module)} module is not supported"
45
+ # TODO - check if module is supported by the bridge in the validation schema
46
+ elif test.active_brg and ag.MODULE_EXT_SENSORS not in test.active_brg.sup_caps and "signal_indicator" in test.name:
47
+ skip_string = f"Skipped signal indicator tests because they are not supported when external sensors module not supported"
48
+ elif test.data != DATA_SIMULATION and test.test_json[DATA_SIMULATION_ONLY_TEST]:
49
+ skip_string = f"Skipped {test.module_name} because it can run only with data simulation mode"
50
+ elif GW_ONLY_TEST in test.test_json and test.test_json[GW_ONLY_TEST] and test.dut_is_bridge():
51
+ skip_string = f"Skipped {test.module_name} because it can run only with Gateway or Combo devices"
52
+ elif BRIDGE_ONLY_TEST in test.test_json and test.test_json[BRIDGE_ONLY_TEST] and not test.dut_is_bridge():
53
+ skip_string = f"Skipped {test.module_name} because it can run only with Bridge devices without Gateway functionality"
54
+ if skip_string:
55
+ utPrint(f"{SEP}{skip_string}{SEP}", "WARNING")
56
+ test.reason = skip_string
57
+ test.rc = TEST_SKIPPED
58
+ return test
59
+
60
+ def load_and_validate_schema(validation_schema_path, start_time):
61
+ """
62
+ Loads and validates the validation schema JSON file.
63
+ Exits if it is invalid, missing, or missing required keys.
64
+ Also exits if neither cloud_connectivity_flag nor brg_flag is True.
65
+ Returns the loaded JSON dict.
66
+ """
67
+ try:
68
+ with open(validation_schema_path, "r", encoding="utf-8") as f:
69
+ data = json.load(f)
70
+ utPrint("The given validation schema is a valid JSON file", 'BLUE')
71
+ except json.JSONDecodeError as e:
72
+ error = f"The given validation schema is an invalid JSON file: {e}"
73
+ cert_utils.handle_error(error, start_time)
74
+ except FileNotFoundError:
75
+ error = f"The given validation schema file was not found!"
76
+ cert_utils.handle_error(error, start_time)
77
+ except Exception as e:
78
+ error = f"Unexpected error received trying to decode the given validation schema JSON file: {e}"
79
+ cert_utils.handle_error(error, start_time)
80
+ # Check for required fields
81
+ if "properties" not in data and "modules" not in data:
82
+ error = "The validation schema is missing both 'properties' and 'modules' keys!"
83
+ cert_utils.handle_error(error, start_time)
84
+ # Check for cloud_connectivity_flag or brg_flag
85
+ if not (cert_utils.cloud_connectivity_flag(data) or cert_utils.brg_flag(data)):
86
+ error = "The validation schema must support either cloud connectivity or bridge device. None found."
87
+ cert_utils.handle_error(error, start_time)
88
+ return data
89
+
90
+ def clean(args):
91
+ if args.clean:
92
+ print(os.getcwd())
93
+ for dir in glob.glob('**/cert_artifacts_*/', recursive=True):
94
+ print(f"Removing folder: {dir}")
95
+ shutil.rmtree(dir)
96
+
97
+ def main(args):
98
+ args.tester = cert_utils.get_tester_id(args.tester)
99
+ if ':' in args.dut:
100
+ args.dut, args.combo_ble_addr = args.dut.split(':')
101
+
102
+ utPrint(f"wiliot_certificate version: {CERT_VERSION}")
103
+ utPrint(str(args.__dict__))
104
+ os.makedirs(ARTIFACTS_DIR, exist_ok=True)
105
+ start_time = datetime.datetime.now()
106
+
107
+ # Clean
108
+ clean(args)
109
+
110
+ # Filter tests
111
+ test_list = TEST_LIST_FW_UPDATE_FILE if args.latest or args.rc else args.tl
112
+ test_lines = filter_tests(test_list=test_list, run=args.run, drun=args.drun)
113
+
114
+ # JSON validation schema basic validation
115
+ validation_schema = load_and_validate_schema(args.validation_schema, start_time)
116
+
117
+ # Init mqtt client for tester
118
+ tester_mqttc = cert_mqtt.mqttc_init(args.tester, args.custom_broker, data=args.data)
119
+
120
+ # Init mqtt client for device under test when it is cloud connectivity bridge
121
+ if cert_utils.cloud_connectivity_flag(validation_schema) and args.dut != args.tester:
122
+ dut_mqttc = cert_mqtt.mqttc_init(args.dut, args.custom_broker, data=args.data)
123
+ else:
124
+ # Use the same mqtt client of the tester if device under test is a bridge only
125
+ dut_mqttc = tester_mqttc
126
+
127
+ # Prepare tester
128
+ gw_sim_thread = None
129
+ if GW_SIM_PREFIX in args.tester:
130
+ # Run Gateway Simulator in separate thread
131
+ gw_sim_thread = threading.Thread(target=cert_gw_sim.gw_sim_run, daemon=True, kwargs={'port':args.port, 'gw_id': args.tester,
132
+ 'custom_broker':args.custom_broker,
133
+ 'analyze_interference':args.analyze_interference})
134
+ gw_sim_thread.start()
135
+ sleep_time = (len(cert_gw_sim.CHANNELS_TO_ANALYZE) * 30) + 15 if args.analyze_interference else 10
136
+ time.sleep(sleep_time)
137
+ tester = cert_utils.prep_tester(args, tester_mqttc, start_time, gw_sim_thread)
138
+
139
+ # Prepare device under test
140
+ dut = cert_utils.prep_dut(args, tester, validation_schema, dut_mqttc, start_time, upload_wait_time=args.agg)
141
+
142
+ # Prepare second bridge (brg1) if given
143
+ brg1 = None
144
+ if args.brg1:
145
+ brg1 = cert_utils.ut_prep_brg(args, start_time, tester, args.brg1)
146
+
147
+ # Collecting the tests
148
+ tests = []
149
+ for tl in test_lines:
150
+ test = cert_utils.WltTest(tl, tester, dut, brg1=brg1, exit_on_param_failure=args.exit_on_param_failure,
151
+ latest=args.latest, release_candidate=args.rc, sterile_run=args.sterile_run, data=args.data)
152
+ tests += [test]
153
+
154
+ # Running the tests
155
+ utPrint(SEP)
156
+ 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]))
157
+
158
+ failures, skipped = 0, 0
159
+ exit_on_test_failure = args.exit_on_test_failure
160
+ i = 0
161
+
162
+ for i, test in enumerate(tests):
163
+ test = skip_test_check(test, validation_schema)
164
+ if test.rc == TEST_SKIPPED:
165
+ for phase in test.phases:
166
+ phase.rc = TEST_SKIPPED
167
+ skipped += 1
168
+ else:
169
+ try:
170
+ test_module_name = cert_utils.load_module(f'{test.module_name}.py', f'{test.dir}/{test.module_name}.py')
171
+ test = test_module_name.run(test)
172
+ except Exception as e:
173
+ traceback.print_exc()
174
+ test.add_phase_reason(RESTORE_CONFIG, f"Exception occurred: {e!r}")
175
+ test.rc = TEST_FAILED
176
+ finally:
177
+ test.update_overall_rc()
178
+ if test.rc == TEST_FAILED:
179
+ failures += 1
180
+ if "versions_test" in test.module_name and f"EXITING CERTIFICATE" in test.reason:
181
+ exit_on_test_failure = True
182
+ print(f"Test Duration: {test.duration}")
183
+ print(tabulate.tabulate([[i+1, i+1-(failures+skipped), skipped, failures, len(tests)]],
184
+ headers=["FINISHED", "PASSED", "SKIPPED", "FAILED", "TOTAL"], tablefmt="pretty"))
185
+ wait_time_n_print(2)
186
+ if exit_on_test_failure and test.rc == TEST_FAILED:
187
+ break
188
+
189
+ # Print results
190
+ cert_results.generate_results_files(test.dut, test.tester, html=True, pdf=True, failures=failures, skipped=skipped, start_time=start_time, tests=tests, non_cert_run=args.non_cert_run)
191
+ if not pipeline_running():
192
+ webbrowser.open('file://' + os.path.realpath(os.path.join(ARTIFACTS_DIR, UT_RESULT_FILE_PDF)))
193
+
194
+ if failures:
195
+ sys.exit(-1)
196
+
197
+ if __name__ == '__main__':
198
+ main()
@@ -0,0 +1,79 @@
1
+ import sys
2
+ import os
3
+ sys.path.insert(0, os.path.abspath(".."))
4
+ import argparse
5
+ from certificate.cert_defines import DATA_SIMULATION, GW_SIM_PREFIX
6
+ from certificate.cert_mqtt import EMQX
7
+ import certificate.certificate as certificate
8
+ TEST_LIST_DEFAULT_FILE = "certificate_test_list.txt"
9
+
10
+ def parse_dict_arg(arg):
11
+ """Parse key=value pairs type arguments"""
12
+ d = {}
13
+ for pair in arg.split(","):
14
+ if "=" not in arg:
15
+ raise argparse.ArgumentTypeError('Use "KEY1=VALUE1,KEY2=VALUE2..." format')
16
+ k, v = pair.split("=")
17
+ d[k] = v
18
+ return d
19
+ class CertificateCLI:
20
+ """Certificate CLI."""
21
+ def __init__(self):
22
+ self.parser = argparse.ArgumentParser(
23
+ prog='wlt-certificate',
24
+ description='Certificate - CLI Tool to test Wiliot Devices',
25
+ epilog=
26
+ "run examples:\n"
27
+ " Run command example with COM PORT connection:\n"
28
+ " wlt-cert-cli --gw SIM --brg <XXXXXXXXXXXX> --port <COM_PORT>\n"
29
+ " Run command example with remote GW connection:\n"
30
+ " wlt-cert-cli --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX>\n"
31
+ " Run command example for running datapath module tests only:\n"
32
+ " wlt-cert-cli --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --run datapath\n"
33
+ " Run command example with sanity test list:\n"
34
+ " wlt-cert-cli --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --tl certificate_sanity_test_list.txt\n"
35
+ " Run command example with COM PORT connection for bridge with cloud connectivity:\n"
36
+ " wlt-cert-cli --gw SIM --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt --port <COM_PORT>\n"
37
+ " Run command example with remote GW connection for bridge with cloud connectivity:\n"
38
+ " wlt-cert-cli --gw <YYYYYYYYYYYY> --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt\n",
39
+ formatter_class=argparse.RawDescriptionHelpFormatter
40
+ )
41
+ self.parser.add_argument('--validation_schema', '-vs', required=True, help='Validation schema json file path to use for the run')
42
+ self.parser.add_argument('--dut', required=True, help="Tested device ID. When DUT is a combo device, use <Gateway_ID>:<BLE_MAC>")
43
+ self.parser.add_argument('--combo_ble_addr', default="", help="Combo device BLE MAC address" + argparse.SUPPRESS)
44
+ self.parser.add_argument('--tester', default=GW_SIM_PREFIX, help='Tester id to run on the test, SIM prefix is default and used for COM tester')
45
+ self.parser.add_argument('--port', '-p', default='', help='UART PORT connection to use for the run, if not provided last available port is used')
46
+ self.parser.add_argument('--custom_broker', '-cb', required=True, help='Choose custom MQTT broker configuration json file to use for the run,' \
47
+ ' for explanation of the format see https://community.wiliot.com/customers/s/article/Wiliot-Gateway-Certification')
48
+ self.parser.add_argument('--clean', default=False, action='store_true', help='Clean old logs before running the tests')
49
+ self.parser.add_argument('--tl', default=TEST_LIST_DEFAULT_FILE, type=str, help='Test list file to use ' + argparse.SUPPRESS)
50
+ self.parser.add_argument('--run', type=str, help='String to filter tests to run ' + argparse.SUPPRESS)
51
+ self.parser.add_argument('--drun', type=str, help='String to filter tests not to run ' + argparse.SUPPRESS)
52
+ self.parser.add_argument('--exit_on_test_failure', default=False, action='store_true', help='Stop running the tests if a test failed ' + argparse.SUPPRESS)
53
+ 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 \
54
+ tests from continuing iteration over all possibilities in case of failure ' + argparse.SUPPRESS)
55
+ self.parser.add_argument('--analyze_interference', '-ai', default=False, action='store_true', help='Analyze interference before tests start \
56
+ (relevant only for Gateway Simulator)')
57
+ self.parser.add_argument('--unsterile_run', '-ur', default=False, action='store_true',
58
+ help="Set unsterile run mode for the run if there are pixels or energizing devices nearby")
59
+ self.parser.add_argument("--overwrite_defaults", '-od', type=parse_dict_arg, help='Manually overwrite default defines for the bridge (key1=value1,key2=value2...)')
60
+ self.parser.add_argument('--agg', type=int, help='Aggregation time [seconds] the Uplink stages adds to wait before processing results', default=0)
61
+ self.parser.add_argument('--non_cert_run', default=False, action='store_true', help='Mark this as a non-certifying run ' + argparse.SUPPRESS)
62
+
63
+ def parse_args(self, args=None):
64
+ """Parse arguments and return them."""
65
+ return self.parser.parse_args(args)
66
+
67
+ def main():
68
+ cli = CertificateCLI()
69
+ args = cli.parse_args()
70
+ # Set extra args to defaults
71
+ args.data = DATA_SIMULATION
72
+ args.brg1 = None
73
+ args.latest = False
74
+ args.rc = False
75
+ args.sterile_run = not args.unsterile_run
76
+ certificate.main(args)
77
+
78
+ if __name__ == '__main__':
79
+ main()
@@ -0,0 +1,74 @@
1
+ # The certificate should run for every bridge change
2
+ # The setup will include 1 tested device + 1 tester connected with UART or remote GW
3
+ # Run command example with COM PORT connection:
4
+ # python certificate_cli.py --tester SIM --dut <XXXXXXXXXXXX> --tl certificate_eth_test_list.txt --port <COM_PORT> -vs <path_to_validation_schema_file>
5
+ # Run command example with remote GW connection:
6
+ # python certificate_cli.py --tester <GWYYYYYYYYYYYY> --dut <XXXXXXXXXXXX> --tl certificate_eth_test_list.txt -vs <path_to_validation_schema_file>
7
+
8
+ # ------------- edge_mgmt -------------
9
+ edge_mgmt/periodic_msgs_test
10
+ edge_mgmt/action_gw_hb_test
11
+ edge_mgmt/action_blink_test
12
+ edge_mgmt/action_send_hb_test
13
+ edge_mgmt/action_get_battery_sensor_test
14
+ edge_mgmt/action_get_pof_data_test
15
+ edge_mgmt/action_get_module_test
16
+ edge_mgmt/action_reboot_test
17
+ edge_mgmt/action_restore_defaults_test
18
+
19
+ # ------------- energy2400 -------------
20
+ energy2400/pattern_test ENERGY_PATTERN_2_4_NO_ENERGIZING ENERGY_PATTERN_2_4_CHANNEL_37 ENERGY_PATTERN_2_4_CHANNEL_38 ENERGY_PATTERN_2_4_CHANNEL_39 ENERGY_PATTERN_2_4_FREQ_2450 ENERGY_PATTERN_2_4_FREQ_2454
21
+ energy2400/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_MINUS_23 OUTPUT_POWER_2_4_MAX_MINUS_22 OUTPUT_POWER_2_4_MAX_MINUS_20 OUTPUT_POWER_2_4_MAX_MINUS_19 OUTPUT_POWER_2_4_MAX_MINUS_18 OUTPUT_POWER_2_4_MAX_MINUS_16 OUTPUT_POWER_2_4_MAX_MINUS_15 OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_12 OUTPUT_POWER_2_4_MAX_MINUS_11 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_8 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_4 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2 OUTPUT_POWER_2_4_MAX
22
+ energy2400/duty_cycle_test 1 25 50 75
23
+ energy2400/signal_indicator_test rssi_threshold rx tx_eu_pattern disable_rx disable_tx rx_tx
24
+ energy2400/signal_indicator_ble5_test rssi_threshold rx tx disable_rx disable_tx rx_tx
25
+
26
+ # ------------- energy_sub1g -------------
27
+ energy_sub1g/pattern_test SUB1G_ENERGY_PATTERN_NO_ENERGIZING SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000 SUB1G_ENERGY_PATTERN_FCC_HOPPING SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500 SUB1G_ENERGY_PATTERN_NZ_HOPPING
28
+ energy_sub1g/duty_cycle_test 15 20 40 0
29
+
30
+ # ------------- datapath -------------
31
+ datapath/aging_test low_pacer high_pacer
32
+ datapath/rssi_threshold_test -80 -65 -10
33
+ datapath/pattern_test DATAPATH_PATTERN_38_38_39 DATAPATH_PATTERN_EU_PATTERN DATAPATH_PATTERN_EXTENDED_ADV DATAPATH_PATTERN_EXTENDED_ADV_38_39 DATAPATH_PATTERN_EXTENDED_ADV_CH_10
34
+ datapath/tx_repetition_test 2 4
35
+ datapath/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_MINUS_23 OUTPUT_POWER_2_4_MAX_MINUS_22 OUTPUT_POWER_2_4_MAX_MINUS_20 OUTPUT_POWER_2_4_MAX_MINUS_19 OUTPUT_POWER_2_4_MAX_MINUS_18 OUTPUT_POWER_2_4_MAX_MINUS_16 OUTPUT_POWER_2_4_MAX_MINUS_15 OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_12 OUTPUT_POWER_2_4_MAX_MINUS_11 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_8 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_4 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2 OUTPUT_POWER_2_4_MAX
36
+ datapath/pacer_interval_test 5 15 30 60
37
+ datapath/event_test rssi_event new_tag_event_seconds new_tag_event_minutes temp_event tx_rate_event
38
+ datapath/event_ble5_test rssi_event new_tag_event_seconds new_tag_event_minutes temp_event tx_rate_event
39
+ datapath/pacer_interval_ble5_test 5 15 30 60
40
+ datapath/pkt_filter_test PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT PKT_FILTER_DISABLE_FORWARDING PKT_FILTER_TEMP_PKT PKT_FILTER_ADVANCED_PKT PKT_FILTER_TEMP_AND_ADVANCED_PKTS PKT_FILTER_TEMP_ADVANCED_AND_DEBUG_PKTS
41
+ datapath/pkt_filter_gen3_test PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT PKT_FILTER_DISABLE_FORWARDING PKT_FILTER_TEMP_PKT PKT_FILTER_ADVANCED_PKT PKT_FILTER_TEMP_AND_ADVANCED_PKTS
42
+ datapath/pkt_filter_ble5_test PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT PKT_FILTER_DISABLE_FORWARDING PKT_FILTER_TEMP_PKT PKT_FILTER_ADVANCED_PKT PKT_FILTER_TEMP_AND_ADVANCED_PKTS
43
+ datapath/pkt_filter_ble5_chl21_test PKT_FILTER_TEMP_AND_ADVANCED_PKTS
44
+ datapath/pkt_filter_brg2gw_ext_adv_test RX_CHANNEL_39 RX_CHANNEL_38 RX_CHANNEL_37 RX_CHANNEL_10_500K
45
+ datapath/rx_channel_test RX_CHANNEL_37 RX_CHANNEL_38 RX_CHANNEL_39 RX_CHANNEL_10_500K RX_CHANNEL_HOPPING_37_10
46
+ datapath/rx_channel_hopping_test
47
+ datapath/rx_rate_gen2_test mid_values diff_pacer min_value max_value diff_rate
48
+ datapath/rx_rate_gen3_test mid_values diff_pacer min_value max_value diff_rate
49
+ datapath/stress_test rep3 rep2 rep1
50
+ datapath/stress_gen3_test rep3 rep2 rep1
51
+ datapath/num_of_tags_test 5000
52
+
53
+ # ------------- pwr_mgmt -------------
54
+ pwr_mgmt/pwr_mgmt_test
55
+
56
+ # ------------- calibration -------------
57
+ calibration/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_MINUS_23 OUTPUT_POWER_2_4_MAX_MINUS_22 OUTPUT_POWER_2_4_MAX_MINUS_20 OUTPUT_POWER_2_4_MAX_MINUS_19 OUTPUT_POWER_2_4_MAX_MINUS_18 OUTPUT_POWER_2_4_MAX_MINUS_16 OUTPUT_POWER_2_4_MAX_MINUS_15 OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_12 OUTPUT_POWER_2_4_MAX_MINUS_11 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_8 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_4 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2 OUTPUT_POWER_2_4_MAX
58
+ calibration/interval_test 10, 25, 50, 100, 255
59
+ calibration/pattern_test CALIBRATION_PATTERN_38_38_39 CALIBRATION_PATTERN_STANDARD CALIBRATION_PATTERN_EU_PATTERN CALIBRATION_PATTERN_DISABLE_BEACON
60
+
61
+ # ------------- sensors -------------
62
+ sensors/ext_sensor_test tag_data_only rssi_threshold snsr2_unified snsr0_no_scrmbl snsr1_scrmbl snsr0_no_scrmbl_snsr1_scrmbl_snsr2_scrmbl snsr0_no_scrmbl_snsr1_scrmbl_snsr2_unified
63
+
64
+ # ------------- cloud_connectivity -------------
65
+ cloud_connectivity/connection_test
66
+ cloud_connectivity/uplink_test mgmt_pkt pixels_pkt sensor_pkt
67
+ cloud_connectivity/downlink_test
68
+ cloud_connectivity/uplink_ext_adv_test
69
+ cloud_connectivity/reboot_test
70
+ cloud_connectivity/stress_test 20 40 60 80 100 120 140 160 180 200 222 250 285 333
71
+ cloud_connectivity/ext_adv_stress_test 20 40 60 80 100 120 140 160 180 200
72
+ cloud_connectivity/channel_scan_behaviour_test
73
+ cloud_connectivity/acl_test deny allow
74
+ cloud_connectivity/acl_ext_adv_test deny allow
@@ -0,0 +1,65 @@
1
+ # The certificate should run for every bridge change
2
+ # The setup will include 1 tested device + 1 tester connected with UART or remote GW
3
+ # Run command example with COM PORT connection:
4
+ # python certificate_cli.py --tester SIM --dut <XXXXXXXXXXXX> --tl certificate_sanity_test_list.txt --port <COM_PORT> -vs <path_to_validation_schema_file>
5
+ # Run command example with remote GW connection:
6
+ # python certificate_cli.py --tester <GWYYYYYYYYYYYY> --dut <XXXXXXXXXXXX> --tl certificate_sanity_test_list.txt -vs <path_to_validation_schema_file>
7
+
8
+ # ------------- edge_mgmt -------------
9
+ edge_mgmt/periodic_msgs_test
10
+ edge_mgmt/action_gw_hb_test
11
+ edge_mgmt/action_blink_test
12
+ edge_mgmt/action_send_hb_test
13
+ edge_mgmt/action_get_battery_sensor_test
14
+ edge_mgmt/action_get_pof_data_test
15
+ edge_mgmt/action_get_module_test
16
+ edge_mgmt/action_reboot_test
17
+ edge_mgmt/action_restore_defaults_test
18
+
19
+ # ------------- energy2400 -------------
20
+ energy2400/pattern_test ENERGY_PATTERN_2_4_CHANNEL_37 ENERGY_PATTERN_2_4_CHANNEL_39 ENERGY_PATTERN_2_4_FREQ_2454
21
+ energy2400/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2
22
+ energy2400/duty_cycle_test 1 50 75
23
+ energy2400/signal_indicator_test rx_tx
24
+ energy2400/signal_indicator_ble5_test rx_tx
25
+
26
+ # ------------- energy_sub1g -------------
27
+ energy_sub1g/pattern_test SUB1G_ENERGY_PATTERN_NO_ENERGIZING SUB1G_ENERGY_PATTERN_FCC_HOPPING SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500 SUB1G_ENERGY_PATTERN_NZ_HOPPING
28
+ energy_sub1g/duty_cycle_test 15 20 40 0
29
+
30
+ # ------------- datapath -------------
31
+ datapath/aging_test low_pacer
32
+ datapath/rssi_threshold_test -80
33
+ datapath/pattern_test DATAPATH_PATTERN_38_38_39 DATAPATH_PATTERN_EU_PATTERN DATAPATH_PATTERN_EXTENDED_ADV DATAPATH_PATTERN_EXTENDED_ADV_38_39
34
+ datapath/tx_repetition_test 4
35
+ datapath/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2
36
+ datapath/event_test new_tag_event_seconds temp_event
37
+ datapath/event_ble5_test new_tag_event_seconds
38
+ datapath/pkt_filter_ble5_test PKT_FILTER_TEMP_PKT
39
+ datapath/pkt_filter_gen3_test PKT_FILTER_TEMP_PKT
40
+ datapath/pkt_filter_ble5_chl21_test PKT_FILTER_TEMP_AND_ADVANCED_PKTS
41
+ datapath/pkt_filter_brg2gw_ext_adv_test RX_CHANNEL_38
42
+ datapath/rx_channel_test RX_CHANNEL_38 RX_CHANNEL_10_500K RX_CHANNEL_HOPPING_37_10
43
+ datapath/rx_rate_gen2_test min_value
44
+ datapath/num_of_tags_test 500
45
+
46
+ # ------------- pwr_mgmt -------------
47
+ pwr_mgmt/pwr_mgmt_test
48
+
49
+ # ------------- calibration -------------
50
+ calibration/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2
51
+ calibration/interval_test 25 50
52
+ calibration/pattern_test CALIBRATION_PATTERN_38_38_39
53
+
54
+ # ------------- sensors -------------
55
+ sensors/ext_sensor_test snsr0_no_scrmbl_snsr1_scrmbl_snsr2_scrmbl
56
+
57
+ # ------------- cloud_connectivity -------------
58
+ cloud_connectivity/uplink_test mgmt_pkt pixels_pkt
59
+ cloud_connectivity/downlink_test
60
+ cloud_connectivity/uplink_ext_adv_test
61
+ cloud_connectivity/reboot_test
62
+ cloud_connectivity/stress_test 100 222
63
+ cloud_connectivity/ext_adv_stress_test 20 100
64
+ cloud_connectivity/acl_test deny
65
+ cloud_connectivity/acl_ext_adv_test allow
@@ -0,0 +1,75 @@
1
+ # The certificate should run for every bridge change
2
+ # The setup will include 1 tested device + 1 tester connected with UART or remote GW
3
+ # Run command example with COM PORT connection:
4
+ # python certificate_cli.py --tester SIM --dut <XXXXXXXXXXXX> --port <COM_PORT> -vs <path_to_validation_schema_file>
5
+ # Run command example with remote GW connection:
6
+ # python certificate_cli.py --tester <GWYYYYYYYYYYYY> --dut <XXXXXXXXXXXX> -vs <path_to_validation_schema_file>
7
+
8
+ # ------------- edge_mgmt -------------
9
+ edge_mgmt/periodic_msgs_test
10
+ edge_mgmt/action_gw_hb_test
11
+ edge_mgmt/action_blink_test
12
+ edge_mgmt/action_send_hb_test
13
+ edge_mgmt/action_get_battery_sensor_test
14
+ edge_mgmt/action_get_pof_data_test
15
+ edge_mgmt/action_get_module_test
16
+ edge_mgmt/action_reboot_test
17
+ edge_mgmt/action_restore_defaults_test
18
+
19
+ # ------------- energy2400 -------------
20
+ energy2400/pattern_test ENERGY_PATTERN_2_4_NO_ENERGIZING ENERGY_PATTERN_2_4_CHANNEL_37 ENERGY_PATTERN_2_4_CHANNEL_38 ENERGY_PATTERN_2_4_CHANNEL_39 ENERGY_PATTERN_2_4_FREQ_2450 ENERGY_PATTERN_2_4_FREQ_2454
21
+ energy2400/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_MINUS_23 OUTPUT_POWER_2_4_MAX_MINUS_22 OUTPUT_POWER_2_4_MAX_MINUS_20 OUTPUT_POWER_2_4_MAX_MINUS_19 OUTPUT_POWER_2_4_MAX_MINUS_18 OUTPUT_POWER_2_4_MAX_MINUS_16 OUTPUT_POWER_2_4_MAX_MINUS_15 OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_12 OUTPUT_POWER_2_4_MAX_MINUS_11 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_8 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_4 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2 OUTPUT_POWER_2_4_MAX
22
+ energy2400/duty_cycle_test 1 25 50 75
23
+ energy2400/signal_indicator_test rssi_threshold rx tx_eu_pattern disable_rx disable_tx rx_tx
24
+ energy2400/signal_indicator_ble5_test rssi_threshold rx tx disable_rx disable_tx rx_tx
25
+ #energy2400/signal_indicator_ext_adv_test rssi_threshold brg0_tx_brg1_rx brg0_rxtx_brg1_rxtx
26
+
27
+ # ------------- energy_sub1g -------------
28
+ energy_sub1g/pattern_test SUB1G_ENERGY_PATTERN_NO_ENERGIZING SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000 SUB1G_ENERGY_PATTERN_FCC_HOPPING SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500 SUB1G_ENERGY_PATTERN_NZ_HOPPING
29
+ energy_sub1g/duty_cycle_test 15 20 40 0
30
+
31
+ # ------------- datapath -------------
32
+ datapath/aging_test low_pacer high_pacer
33
+ datapath/rssi_threshold_test -80 -65 -10
34
+ datapath/pattern_test DATAPATH_PATTERN_38_38_39 DATAPATH_PATTERN_EU_PATTERN DATAPATH_PATTERN_EXTENDED_ADV DATAPATH_PATTERN_EXTENDED_ADV_38_39 DATAPATH_PATTERN_EXTENDED_ADV_CH_10
35
+ datapath/tx_repetition_test 2 4
36
+ datapath/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_MINUS_23 OUTPUT_POWER_2_4_MAX_MINUS_22 OUTPUT_POWER_2_4_MAX_MINUS_20 OUTPUT_POWER_2_4_MAX_MINUS_19 OUTPUT_POWER_2_4_MAX_MINUS_18 OUTPUT_POWER_2_4_MAX_MINUS_16 OUTPUT_POWER_2_4_MAX_MINUS_15 OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_12 OUTPUT_POWER_2_4_MAX_MINUS_11 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_8 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_4 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2 OUTPUT_POWER_2_4_MAX
37
+ datapath/pacer_interval_test 5 15 30 60
38
+ datapath/event_test rssi_event new_tag_event_seconds new_tag_event_minutes temp_event tx_rate_event
39
+ datapath/event_ble5_test rssi_event new_tag_event_seconds new_tag_event_minutes temp_event tx_rate_event
40
+ datapath/pacer_interval_ble5_test 5 15 30 60
41
+ datapath/pkt_filter_test PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT PKT_FILTER_DISABLE_FORWARDING PKT_FILTER_TEMP_PKT PKT_FILTER_ADVANCED_PKT PKT_FILTER_TEMP_AND_ADVANCED_PKTS PKT_FILTER_TEMP_ADVANCED_AND_DEBUG_PKTS
42
+ datapath/pkt_filter_gen3_test PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT PKT_FILTER_DISABLE_FORWARDING PKT_FILTER_TEMP_PKT PKT_FILTER_ADVANCED_PKT PKT_FILTER_TEMP_AND_ADVANCED_PKTS
43
+ datapath/pkt_filter_ble5_test PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT PKT_FILTER_DISABLE_FORWARDING PKT_FILTER_TEMP_PKT PKT_FILTER_ADVANCED_PKT PKT_FILTER_TEMP_AND_ADVANCED_PKTS
44
+ datapath/pkt_filter_ble5_chl21_test PKT_FILTER_TEMP_AND_ADVANCED_PKTS
45
+ datapath/pkt_filter_brg2gw_ext_adv_test RX_CHANNEL_39 RX_CHANNEL_38 RX_CHANNEL_37 RX_CHANNEL_10_500K
46
+ datapath/rx_channel_test RX_CHANNEL_37 RX_CHANNEL_38 RX_CHANNEL_39 RX_CHANNEL_10_500K RX_CHANNEL_HOPPING_37_10
47
+ datapath/rx_channel_hopping_test
48
+ datapath/rx_rate_gen2_test mid_values diff_pacer min_value max_value diff_rate
49
+ datapath/rx_rate_gen3_test mid_values diff_pacer min_value max_value diff_rate
50
+ datapath/stress_test rep3 rep2 rep1
51
+ datapath/stress_gen3_test rep3 rep2 rep1
52
+ datapath/num_of_tags_test 5000
53
+
54
+ # ------------- pwr_mgmt -------------
55
+ pwr_mgmt/pwr_mgmt_test
56
+
57
+ # ------------- calibration -------------
58
+ calibration/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_MINUS_23 OUTPUT_POWER_2_4_MAX_MINUS_22 OUTPUT_POWER_2_4_MAX_MINUS_20 OUTPUT_POWER_2_4_MAX_MINUS_19 OUTPUT_POWER_2_4_MAX_MINUS_18 OUTPUT_POWER_2_4_MAX_MINUS_16 OUTPUT_POWER_2_4_MAX_MINUS_15 OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_MINUS_12 OUTPUT_POWER_2_4_MAX_MINUS_11 OUTPUT_POWER_2_4_MAX_MINUS_10 OUTPUT_POWER_2_4_MAX_MINUS_8 OUTPUT_POWER_2_4_MAX_MINUS_7 OUTPUT_POWER_2_4_MAX_MINUS_6 OUTPUT_POWER_2_4_MAX_MINUS_4 OUTPUT_POWER_2_4_MAX_MINUS_3 OUTPUT_POWER_2_4_MAX_MINUS_2 OUTPUT_POWER_2_4_MAX
59
+ calibration/interval_test 10, 25, 50, 100, 255
60
+ calibration/pattern_test CALIBRATION_PATTERN_38_38_39 CALIBRATION_PATTERN_STANDARD CALIBRATION_PATTERN_EU_PATTERN CALIBRATION_PATTERN_DISABLE_BEACON
61
+
62
+ # ------------- sensors -------------
63
+ sensors/ext_sensor_test tag_data_only rssi_threshold snsr2_unified snsr0_no_scrmbl snsr1_scrmbl snsr0_no_scrmbl_snsr1_scrmbl_snsr2_scrmbl snsr0_no_scrmbl_snsr1_scrmbl_snsr2_unified
64
+
65
+ # ------------- cloud_connectivity -------------
66
+ cloud_connectivity/uplink_test mgmt_pkt pixels_pkt sensor_pkt geolocation
67
+ cloud_connectivity/downlink_test
68
+ cloud_connectivity/uplink_ext_adv_test
69
+ cloud_connectivity/reboot_test
70
+ cloud_connectivity/stress_test 20 40 60 80 100 120 140 160 180 200 222 250 285 333
71
+ cloud_connectivity/ext_adv_stress_test 20 40 60 80 100 120 140 160 180 200
72
+ cloud_connectivity/channel_scan_behaviour_test
73
+ cloud_connectivity/acl_test deny allow
74
+ cloud_connectivity/acl_ext_adv_test deny allow
75
+ cloud_connectivity/brg_ota_test
@@ -9,6 +9,6 @@
9
9
  "mandatory": 0,
10
10
  "multiBridgeTest": 0,
11
11
  "gwOnlyTest": 0,
12
- "internalBridge": 1,
13
- "allSupportedValues": [1, 25, 50, 100, 255]
12
+ "dataSimOnlyTest": 0,
13
+ "allSupportedValues": [10, 25, 50, 100, 255]
14
14
  }
@@ -1,8 +1,9 @@
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
1
+ from certificate.cert_prints import *
2
+ from certificate.cert_defines import *
3
+ from certificate.wlt_types import *
4
+ import certificate.cert_mqtt as cert_mqtt
5
+ import certificate.cert_common as cert_common
6
+ import certificate.cert_config as cert_config
6
7
 
7
8
 
8
9
  def run(test):
@@ -16,7 +17,7 @@ def run(test):
16
17
  for param in test.params:
17
18
  test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=calib_module)[0]
18
19
  # param epilog
19
- generate_log_file(test, param.name)
20
+ cert_mqtt.generate_log_file(test, param.name)
20
21
  field_functionality_pass_fail_print(test, fields[0], value=param.name)
21
22
  test.set_phase_rc(param.name, test.rc)
22
23
  test.add_phase_reason(param.name, test.reason)
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "Output Power",
3
+ "module": "Calibration",
4
+ "purpose": "Test configuration for all supported calibration output power values",
5
+ "documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Calibration-Module",
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
+ "dataSimOnlyTest": 0,
15
+ "allSupportedValues": ["OUTPUT_POWER_2_4_MAX", "OUTPUT_POWER_2_4_MAX_MINUS_2", "OUTPUT_POWER_2_4_MAX_MINUS_3",
16
+ "OUTPUT_POWER_2_4_MAX_MINUS_4", "OUTPUT_POWER_2_4_MAX_MINUS_6", "OUTPUT_POWER_2_4_MAX_MINUS_7",
17
+ "OUTPUT_POWER_2_4_MAX_MINUS_8", "OUTPUT_POWER_2_4_MAX_MINUS_10", "OUTPUT_POWER_2_4_MAX_MINUS_11",
18
+ "OUTPUT_POWER_2_4_MAX_MINUS_12", "OUTPUT_POWER_2_4_MAX_MINUS_14", "OUTPUT_POWER_2_4_MAX_MINUS_15",
19
+ "OUTPUT_POWER_2_4_MAX_MINUS_16", "OUTPUT_POWER_2_4_MAX_MINUS_18", "OUTPUT_POWER_2_4_MAX_MINUS_19",
20
+ "OUTPUT_POWER_2_4_MAX_MINUS_20", "OUTPUT_POWER_2_4_MAX_MINUS_22", "OUTPUT_POWER_2_4_MAX_MINUS_23",
21
+ "OUTPUT_POWER_2_4_MAX_MINUS_26"]
22
+ }
@@ -0,0 +1,39 @@
1
+ from certificate.cert_prints import *
2
+ from certificate.cert_defines import *
3
+ from certificate.wlt_types import *
4
+ import certificate.cert_mqtt as cert_mqtt
5
+ import certificate.cert_common as cert_common
6
+ import certificate.cert_config as cert_config
7
+
8
+
9
+ def run(test):
10
+
11
+ fields = [BRG_OUTPUT_POWER]
12
+ calib_module = test.active_brg.calibration
13
+
14
+ test = cert_common.test_prolog(test)
15
+ if test.rc == TEST_FAILED:
16
+ return cert_common.test_epilog(test)
17
+
18
+ for param in test.params:
19
+ if not cert_common.output_power_supported(test.active_brg.board_type, param.value):
20
+ # Skip this parameter if its value isn't supported by the board
21
+ test.rc = TEST_SKIPPED
22
+ cert_mqtt.generate_log_file(test, param.name)
23
+ field_functionality_pass_fail_print(test, fields[0], value=param.name)
24
+ test.set_phase_rc(param.name, test.rc)
25
+ test.add_phase_reason(param.name, test.reason)
26
+ test.reset_result() # reset result and continue to next param
27
+ continue
28
+
29
+ test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=calib_module)[0]
30
+ cert_mqtt.generate_log_file(test, param.name)
31
+ field_functionality_pass_fail_print(test, fields[0], value=param.name)
32
+ test.set_phase_rc(param.name, test.rc)
33
+ test.add_phase_reason(param.name, test.reason)
34
+ if test.rc == TEST_FAILED:
35
+ if test.exit_on_param_failure:
36
+ break # break the whole for loop and keep the test as failed
37
+ test.reset_result() # reset result and continue to next param
38
+
39
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[calib_module])
@@ -11,6 +11,6 @@
11
11
  "mandatory": 0,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
- "internalBridge": 1,
14
+ "dataSimOnlyTest": 0,
15
15
  "allSupportedValues": ["CALIBRATION_PATTERN_STANDARD", "CALIBRATION_PATTERN_38_38_39", "CALIBRATION_PATTERN_EU_PATTERN", "CALIBRATION_PATTERN_DISABLE_BEACON"]
16
16
  }