cosmos 4.1.1-java → 4.2.0-java

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 (336) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/.travis.yml +2 -0
  4. data/.yardopts +1 -0
  5. data/Gemfile +1 -0
  6. data/Manifest.txt +130 -0
  7. data/autohotkey/tools/ConfigEditorAHK +19 -0
  8. data/autohotkey/tools/cmd_extractor.ahk +4 -4
  9. data/autohotkey/tools/cmd_sequence.ahk +9 -5
  10. data/autohotkey/tools/config_editor.ahk +197 -0
  11. data/autohotkey/tools/packet_viewer.ahk +12 -6
  12. data/autohotkey/tools/replay.ahk +29 -29
  13. data/autohotkey/tools/script_runner.ahk +10 -2
  14. data/autohotkey/tools/tlm_extractor.ahk +7 -8
  15. data/autohotkey/tools/tlm_grapher.ahk +21 -9
  16. data/bin/dart_import +2 -0
  17. data/cosmos.gemspec +18 -16
  18. data/data/config/cmd_tlm_server.yaml +9 -0
  19. data/data/config/interface_modifiers.yaml +17 -0
  20. data/data/config/item_modifiers.yaml +3 -3
  21. data/data/crc.txt +184 -90
  22. data/data/dart.png +0 -0
  23. data/demo/Gemfile +1 -0
  24. data/demo/Rakefile +4 -0
  25. data/demo/config/dart/Gemfile +54 -0
  26. data/demo/config/data/crc.txt +28 -21
  27. data/demo/config/system/system.txt +3 -0
  28. data/demo/config/system/system2.txt +3 -0
  29. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +3 -3
  30. data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +1 -1
  31. data/demo/config/targets/INST/lib/sim_inst.rb +1 -1
  32. data/demo/config/targets/INST/screens/adcs.txt +2 -1
  33. data/demo/config/targets/INST/screens/array.txt +1 -1
  34. data/demo/config/targets/INST/screens/block.txt +1 -1
  35. data/demo/config/targets/INST/screens/commanding.txt +7 -2
  36. data/demo/config/targets/INST/screens/graphs.txt +1 -1
  37. data/demo/config/targets/INST/screens/ground.txt +1 -1
  38. data/demo/config/targets/INST/screens/hs.txt +2 -1
  39. data/demo/config/targets/INST/screens/latest.txt +1 -1
  40. data/demo/config/targets/INST/screens/limits.txt +1 -1
  41. data/demo/config/targets/INST/screens/other.txt +1 -1
  42. data/demo/config/targets/INST/screens/tabs.txt +1 -1
  43. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +2 -2
  44. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +3 -1
  45. data/demo/config/tools/launcher/launcher.txt +3 -2
  46. data/demo/tools/Dart +16 -0
  47. data/demo/tools/Dart.bat +9 -0
  48. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +0 -0
  49. data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +0 -0
  50. data/install/Gemfile +1 -0
  51. data/install/Rakefile +4 -0
  52. data/install/config/dart/Gemfile +54 -0
  53. data/install/config/data/crc.txt +6 -3
  54. data/install/config/system/system.txt +3 -0
  55. data/install/config/tools/launcher/launcher.txt +3 -2
  56. data/install/tools/Dart +16 -0
  57. data/install/tools/Dart.bat +9 -0
  58. data/install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +0 -0
  59. data/install/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +0 -0
  60. data/lib/cosmos/core_ext/time.rb +8 -8
  61. data/lib/cosmos/dart/.rspec +1 -0
  62. data/lib/cosmos/dart/Gemfile +69 -0
  63. data/lib/cosmos/dart/Rakefile +7 -0
  64. data/lib/cosmos/dart/app/assets/config/manifest.js +4 -0
  65. data/lib/cosmos/dart/app/assets/images/.keep +0 -0
  66. data/lib/cosmos/dart/app/assets/javascripts/application.js +13 -0
  67. data/lib/cosmos/dart/app/assets/javascripts/cable.js +13 -0
  68. data/lib/cosmos/dart/app/assets/stylesheets/application.css.scss +15 -0
  69. data/lib/cosmos/dart/app/channels/application_cable/channel.rb +4 -0
  70. data/lib/cosmos/dart/app/channels/application_cable/connection.rb +4 -0
  71. data/lib/cosmos/dart/app/controllers/application_controller.rb +3 -0
  72. data/lib/cosmos/dart/app/helpers/application_helper.rb +2 -0
  73. data/lib/cosmos/dart/app/jobs/application_job.rb +2 -0
  74. data/lib/cosmos/dart/app/mailers/application_mailer.rb +4 -0
  75. data/lib/cosmos/dart/app/models/application_record.rb +3 -0
  76. data/lib/cosmos/dart/app/models/item.rb +6 -0
  77. data/lib/cosmos/dart/app/models/item_to_decom_table_mapping.rb +9 -0
  78. data/lib/cosmos/dart/app/models/packet.rb +4 -0
  79. data/lib/cosmos/dart/app/models/packet_config.rb +7 -0
  80. data/lib/cosmos/dart/app/models/packet_log.rb +3 -0
  81. data/lib/cosmos/dart/app/models/packet_log_entry.rb +41 -0
  82. data/lib/cosmos/dart/app/models/system_config.rb +2 -0
  83. data/lib/cosmos/dart/app/models/target.rb +4 -0
  84. data/lib/cosmos/dart/app/views/layouts/application.html.erb +14 -0
  85. data/lib/cosmos/dart/app/views/layouts/mailer.html.erb +13 -0
  86. data/lib/cosmos/dart/app/views/layouts/mailer.text.erb +1 -0
  87. data/lib/cosmos/dart/bin/bundle +3 -0
  88. data/lib/cosmos/dart/bin/rails +4 -0
  89. data/lib/cosmos/dart/bin/rake +4 -0
  90. data/lib/cosmos/dart/bin/setup +34 -0
  91. data/lib/cosmos/dart/bin/update +29 -0
  92. data/lib/cosmos/dart/config.ru +5 -0
  93. data/lib/cosmos/dart/config/application.rb +29 -0
  94. data/lib/cosmos/dart/config/boot.rb +3 -0
  95. data/lib/cosmos/dart/config/cable.yml +9 -0
  96. data/lib/cosmos/dart/config/database.yml +23 -0
  97. data/lib/cosmos/dart/config/environment.rb +5 -0
  98. data/lib/cosmos/dart/config/environments/development.rb +62 -0
  99. data/lib/cosmos/dart/config/environments/production.rb +84 -0
  100. data/lib/cosmos/dart/config/environments/test.rb +42 -0
  101. data/lib/cosmos/dart/config/initializers/application_controller_renderer.rb +6 -0
  102. data/lib/cosmos/dart/config/initializers/assets.rb +12 -0
  103. data/lib/cosmos/dart/config/initializers/backtrace_silencers.rb +7 -0
  104. data/lib/cosmos/dart/config/initializers/cookies_serializer.rb +5 -0
  105. data/lib/cosmos/dart/config/initializers/filter_parameter_logging.rb +4 -0
  106. data/lib/cosmos/dart/config/initializers/inflections.rb +16 -0
  107. data/lib/cosmos/dart/config/initializers/mime_types.rb +4 -0
  108. data/lib/cosmos/dart/config/initializers/new_framework_defaults.rb +25 -0
  109. data/lib/cosmos/dart/config/initializers/session_store.rb +3 -0
  110. data/lib/cosmos/dart/config/initializers/wrap_parameters.rb +14 -0
  111. data/lib/cosmos/dart/config/locales/en.yml +23 -0
  112. data/lib/cosmos/dart/config/puma.rb +47 -0
  113. data/lib/cosmos/dart/config/routes.rb +3 -0
  114. data/lib/cosmos/dart/config/secrets.yml +22 -0
  115. data/lib/cosmos/dart/db/migrate/20170406172907_create_targets.rb +8 -0
  116. data/lib/cosmos/dart/db/migrate/20170406172927_create_packets.rb +10 -0
  117. data/lib/cosmos/dart/db/migrate/20170406172937_create_packet_logs.rb +9 -0
  118. data/lib/cosmos/dart/db/migrate/20170406172943_create_packet_log_entries.rb +16 -0
  119. data/lib/cosmos/dart/db/migrate/20170406183500_change_packet_log_entries_primary_key.rb +5 -0
  120. data/lib/cosmos/dart/db/migrate/20170407153618_add_unique_requirements.rb +7 -0
  121. data/lib/cosmos/dart/db/migrate/20170511155447_add_meta_id_to_packet_log_entries.rb +6 -0
  122. data/lib/cosmos/dart/db/migrate/20170523185056_rename_received_time_and_add_is_tlm_to_packet_log_entries.rb +7 -0
  123. data/lib/cosmos/dart/db/migrate/20170525201157_create_items.rb +10 -0
  124. data/lib/cosmos/dart/db/migrate/20170525201315_create_system_configs.rb +9 -0
  125. data/lib/cosmos/dart/db/migrate/20170525201624_create_packet_configs.rb +11 -0
  126. data/lib/cosmos/dart/db/migrate/20170525201745_create_item_to_decom_table_mappings.rb +12 -0
  127. data/lib/cosmos/dart/db/migrate/20170525201939_create_decom_tables.rb +12 -0
  128. data/lib/cosmos/dart/db/migrate/20170525202051_add_decom_state_to_packet_log_entry.rb +5 -0
  129. data/lib/cosmos/dart/db/migrate/20170913160409_update_items.rb +6 -0
  130. data/lib/cosmos/dart/db/migrate/20170913160558_update_item_to_decom_table_mapping.rb +11 -0
  131. data/lib/cosmos/dart/db/migrate/20170913160916_udpate_decom_table.rb +6 -0
  132. data/lib/cosmos/dart/db/migrate/20170913212026_add_ready_to_packet_configs.rb +5 -0
  133. data/lib/cosmos/dart/db/migrate/20170913223556_modify_tables.rb +9 -0
  134. data/lib/cosmos/dart/db/migrate/20170914215744_modify_mapping_table.rb +6 -0
  135. data/lib/cosmos/dart/db/migrate/20170919201433_add_system_config_id_to_packet_config.rb +11 -0
  136. data/lib/cosmos/dart/db/migrate/20170919210307_add_max_table_index_to_packet_configs.rb +5 -0
  137. data/lib/cosmos/dart/db/migrate/20171215225546_add_ready_to_packet_log_entries.rb +5 -0
  138. data/lib/cosmos/dart/db/migrate/20180116214338_add_index_for_ple_ready_to_packet_log_entries.rb +5 -0
  139. data/lib/cosmos/dart/db/schema.rb +103 -0
  140. data/lib/cosmos/dart/db/seeds.rb +7 -0
  141. data/lib/cosmos/dart/examples/dart_decom_client.rb +45 -0
  142. data/lib/cosmos/dart/examples/dart_stream_client.rb +93 -0
  143. data/lib/cosmos/dart/lib/dart_common.rb +749 -0
  144. data/lib/cosmos/dart/lib/dart_database_cleaner.rb +172 -0
  145. data/lib/cosmos/dart/lib/dart_decom_query.rb +184 -0
  146. data/lib/cosmos/dart/lib/dart_decommutator.rb +235 -0
  147. data/lib/cosmos/dart/lib/dart_importer.rb +154 -0
  148. data/lib/cosmos/dart/lib/dart_logging.rb +50 -0
  149. data/lib/cosmos/dart/lib/dart_packet_log_writer.rb +139 -0
  150. data/lib/cosmos/dart/lib/dart_reducer_manager.rb +85 -0
  151. data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +263 -0
  152. data/lib/cosmos/dart/lib/dart_tcpip_server_interface.rb +142 -0
  153. data/lib/cosmos/dart/processes/dart.rb +145 -0
  154. data/lib/cosmos/dart/processes/dart_decom_server.rb +39 -0
  155. data/lib/cosmos/dart/processes/dart_import.rb +63 -0
  156. data/lib/cosmos/dart/processes/dart_ingester.rb +92 -0
  157. data/lib/cosmos/dart/processes/dart_reducer.rb +27 -0
  158. data/lib/cosmos/dart/processes/dart_stream_server.rb +31 -0
  159. data/lib/cosmos/dart/processes/dart_worker.rb +37 -0
  160. data/lib/cosmos/dart/spec/dart/dart_common_spec.rb +333 -0
  161. data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +455 -0
  162. data/lib/cosmos/dart/spec/dart/dart_decom_query_spec.rb +153 -0
  163. data/lib/cosmos/dart/spec/dart/dart_decommutator_spec.rb +336 -0
  164. data/lib/cosmos/dart/spec/dart/dart_importer_spec.rb +83 -0
  165. data/lib/cosmos/dart/spec/dart/dart_logging_spec.rb +30 -0
  166. data/lib/cosmos/dart/spec/dart/dart_packet_log_writer_spec.rb +149 -0
  167. data/lib/cosmos/dart/spec/dart/dart_reducer_manager_spec.rb +289 -0
  168. data/lib/cosmos/dart/spec/dart/dart_tcpip_server_interface_spec.rb +241 -0
  169. data/lib/cosmos/dart/spec/rails_helper.rb +60 -0
  170. data/lib/cosmos/dart/spec/spec_helper.rb +139 -0
  171. data/lib/cosmos/gui/dialogs/about_dialog.rb +1 -1
  172. data/lib/cosmos/gui/dialogs/dart_dialog.rb +60 -0
  173. data/lib/cosmos/gui/dialogs/legal_dialog.rb +1 -0
  174. data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +0 -3
  175. data/lib/cosmos/gui/qt.rb +10 -1
  176. data/lib/cosmos/gui/text/completion.rb +10 -9
  177. data/lib/cosmos/gui/text/completion_text_edit.rb +16 -14
  178. data/lib/cosmos/gui/text/ruby_editor.rb +2 -2
  179. data/lib/cosmos/gui/widgets/dart_frame.rb +142 -0
  180. data/lib/cosmos/gui/widgets/dart_meta_frame.rb +119 -0
  181. data/lib/cosmos/gui/widgets/packet_log_frame.rb +42 -12
  182. data/lib/cosmos/interfaces/interface.rb +1 -2
  183. data/lib/cosmos/interfaces/protocols/crc_protocol.rb +26 -8
  184. data/lib/cosmos/interfaces/protocols/fixed_protocol.rb +8 -2
  185. data/lib/cosmos/interfaces/protocols/protocol.rb +2 -1
  186. data/lib/cosmos/interfaces/protocols/template_protocol.rb +1 -1
  187. data/lib/cosmos/interfaces/stream_interface.rb +1 -0
  188. data/lib/cosmos/interfaces/tcpip_server_interface.rb +2 -3
  189. data/lib/cosmos/io/json_drb_object.rb +1 -1
  190. data/lib/cosmos/io/json_rpc.rb +2 -1
  191. data/lib/cosmos/io/win32_serial_driver.rb +2 -9
  192. data/lib/cosmos/packet_logs/packet_log_writer.rb +1 -1
  193. data/lib/cosmos/packets/packet.rb +22 -12
  194. data/lib/cosmos/packets/packet_config.rb +2 -1
  195. data/lib/cosmos/packets/packet_item.rb +26 -24
  196. data/lib/cosmos/packets/parsers/macro_parser.rb +5 -2
  197. data/lib/cosmos/packets/parsers/packet_item_parser.rb +35 -17
  198. data/lib/cosmos/packets/parsers/packet_parser.rb +3 -10
  199. data/lib/cosmos/packets/parsers/xtce_converter.rb +21 -35
  200. data/lib/cosmos/packets/parsers/xtce_parser.rb +54 -46
  201. data/lib/cosmos/packets/structure.rb +10 -2
  202. data/lib/cosmos/packets/structure_item.rb +22 -8
  203. data/lib/cosmos/processors/statistics_processor.rb +2 -0
  204. data/lib/cosmos/script/api_shared.rb +13 -12
  205. data/lib/cosmos/script/cmd_tlm_server.rb +4 -0
  206. data/lib/cosmos/script/commands.rb +3 -15
  207. data/lib/cosmos/script/script.rb +69 -23
  208. data/lib/cosmos/streams/tcpip_client_stream.rb +2 -2
  209. data/lib/cosmos/system/system.rb +42 -25
  210. data/lib/cosmos/system/target.rb +6 -2
  211. data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +177 -36
  212. data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +3 -2
  213. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +34 -8
  214. data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +80 -25
  215. data/lib/cosmos/tools/cmd_tlm_server/api.rb +19 -4
  216. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +15 -14
  217. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +15 -9
  218. data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +1 -9
  219. data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -6
  220. data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +1 -3
  221. data/lib/cosmos/tools/cmd_tlm_server/gui/replay_tab.rb +84 -7
  222. data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +0 -1
  223. data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +1 -5
  224. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +3 -2
  225. data/lib/cosmos/tools/cmd_tlm_server/replay_backend.rb +159 -27
  226. data/lib/cosmos/tools/cmd_tlm_server/routers.rb +1 -1
  227. data/lib/cosmos/tools/config_editor/config_editor.rb +17 -52
  228. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +0 -5
  229. data/lib/cosmos/tools/data_viewer/data_viewer.rb +111 -0
  230. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +31 -18
  231. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +12 -3
  232. data/lib/cosmos/tools/script_runner/script_runner.rb +27 -14
  233. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +104 -37
  234. data/lib/cosmos/tools/table_manager/table_config.rb +1 -1
  235. data/lib/cosmos/tools/table_manager/table_item_parser.rb +4 -2
  236. data/lib/cosmos/tools/table_manager/table_manager.rb +0 -5
  237. data/lib/cosmos/tools/table_manager/table_manager_core.rb +0 -1
  238. data/lib/cosmos/tools/test_runner/test.rb +1 -3
  239. data/lib/cosmos/tools/test_runner/test_runner.rb +26 -15
  240. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +290 -137
  241. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +122 -25
  242. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +67 -0
  243. data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +28 -0
  244. data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +36 -0
  245. data/lib/cosmos/tools/tlm_grapher/data_objects/data_object.rb +42 -3
  246. data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +88 -14
  247. data/lib/cosmos/tools/tlm_grapher/data_objects/linegraph_data_object.rb +2 -5
  248. data/lib/cosmos/tools/tlm_grapher/data_objects/singlexy_data_object.rb +2 -6
  249. data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +74 -18
  250. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +3 -7
  251. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +159 -0
  252. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb +49 -2
  253. data/lib/cosmos/tools/tlm_viewer/screen.rb +3 -0
  254. data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +0 -2
  255. data/lib/cosmos/tools/tlm_viewer/widgets.rb +1 -0
  256. data/lib/cosmos/tools/tlm_viewer/widgets/backgroundbutton_widget.rb +54 -0
  257. data/lib/cosmos/tools/tlm_viewer/widgets/button_widget.rb +5 -5
  258. data/lib/cosmos/top_level.rb +1 -0
  259. data/lib/cosmos/utilities/crc.rb +3 -0
  260. data/lib/cosmos/utilities/csv.rb +1 -0
  261. data/lib/cosmos/utilities/message_log.rb +2 -1
  262. data/lib/cosmos/utilities/simulated_target.rb +8 -8
  263. data/lib/cosmos/version.rb +5 -5
  264. data/lib/cosmos/win32/win32.rb +4 -10
  265. data/run_gui_tests.bat +2 -1
  266. data/spec/config/config_parser_spec.rb +4 -4
  267. data/spec/core_ext/array_spec.rb +1 -1
  268. data/spec/core_ext/exception_spec.rb +12 -12
  269. data/spec/core_ext/file_spec.rb +6 -6
  270. data/spec/core_ext/hash_spec.rb +1 -1
  271. data/spec/core_ext/socket_spec.rb +2 -2
  272. data/spec/core_ext/string_spec.rb +13 -13
  273. data/spec/core_ext/time_spec.rb +0 -2
  274. data/spec/gui/utilities/script_module_gui_spec.rb +3 -3
  275. data/spec/install/config/targets/INST/cmd_tlm/inst_tlm.txt +6 -6
  276. data/spec/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +4 -0
  277. data/spec/interfaces/cmd_tlm_server_interface_spec.rb +6 -2
  278. data/spec/interfaces/interface_spec.rb +0 -1
  279. data/spec/interfaces/linc_interface_spec.rb +0 -5
  280. data/spec/interfaces/protocols/crc_protocol_spec.rb +201 -85
  281. data/spec/interfaces/protocols/fixed_protocol_spec.rb +33 -9
  282. data/spec/interfaces/protocols/length_protocol_spec.rb +1 -1
  283. data/spec/interfaces/protocols/override_protocol_spec.rb +6 -2
  284. data/spec/interfaces/protocols/preidentified_protocol_spec.rb +1 -5
  285. data/spec/interfaces/protocols/template_protocol_spec.rb +0 -1
  286. data/spec/interfaces/simulated_target_interface_spec.rb +5 -5
  287. data/spec/interfaces/udp_interface_spec.rb +2 -4
  288. data/spec/io/buffered_file_spec.rb +8 -12
  289. data/spec/io/json_drb_spec.rb +9 -9
  290. data/spec/io/json_rpc_spec.rb +4 -4
  291. data/spec/io/raw_logger_spec.rb +4 -3
  292. data/spec/packet_logs/packet_log_reader_spec.rb +3 -6
  293. data/spec/packet_logs/packet_log_writer_spec.rb +4 -4
  294. data/spec/packets/binary_accessor_spec.rb +5 -8
  295. data/spec/packets/commands_spec.rb +2 -2
  296. data/spec/packets/limits_spec.rb +2 -2
  297. data/spec/packets/packet_config_spec.rb +12 -0
  298. data/spec/packets/packet_item_limits_spec.rb +1 -1
  299. data/spec/packets/packet_item_spec.rb +9 -9
  300. data/spec/packets/packet_spec.rb +15 -5
  301. data/spec/packets/parsers/packet_item_parser_spec.rb +27 -0
  302. data/spec/packets/parsers/xtce_parser_spec.rb +27 -30
  303. data/spec/packets/structure_spec.rb +2 -1
  304. data/spec/packets/telemetry_spec.rb +3 -5
  305. data/spec/processors/statistics_processor_spec.rb +35 -0
  306. data/spec/script/cmd_tlm_server_spec.rb +4 -21
  307. data/spec/script/commands_disconnect_spec.rb +46 -58
  308. data/spec/script/commands_spec.rb +40 -61
  309. data/spec/script/limits_spec.rb +1 -21
  310. data/spec/script/script_spec.rb +32 -41
  311. data/spec/script/scripting_spec.rb +166 -185
  312. data/spec/script/telemetry_spec.rb +10 -5
  313. data/spec/script/tools_spec.rb +2 -24
  314. data/spec/spec_helper.rb +11 -5
  315. data/spec/system/system_spec.rb +17 -12
  316. data/spec/tools/cmd_tlm_server/api_spec.rb +21 -10
  317. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +15 -16
  318. data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +0 -1
  319. data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +16 -27
  320. data/spec/tools/cmd_tlm_server/commanding_spec.rb +2 -6
  321. data/spec/tools/cmd_tlm_server/connections_spec.rb +0 -4
  322. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +13 -13
  323. data/spec/tools/cmd_tlm_server/interfaces_spec.rb +5 -9
  324. data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +11 -3
  325. data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +0 -4
  326. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +5 -5
  327. data/spec/tools/cmd_tlm_server/routers_spec.rb +5 -9
  328. data/spec/tools/table_manager/table_config_spec.rb +0 -1
  329. data/spec/tools/table_manager/tablemanager_core_spec.rb +23 -23
  330. data/spec/tools/tlm_viewer/tlm_viewer_config_spec.rb +6 -4
  331. data/spec/top_level/top_level_spec.rb +9 -9
  332. data/spec/utilities/csv_spec.rb +2 -12
  333. data/spec/utilities/logger_spec.rb +6 -6
  334. data/spec/utilities/message_log_spec.rb +3 -11
  335. data/tasks/gemfile_stats.rake +2 -2
  336. metadata +167 -60
@@ -10,30 +10,11 @@
10
10
 
11
11
  require 'spec_helper'
12
12
  require 'cosmos'
13
- require 'cosmos/script/script'
13
+ require 'cosmos/script'
14
14
  require 'tempfile'
15
15
 
16
16
  module Cosmos
17
-
18
17
  describe Script do
19
-
20
- before(:all) do
21
- cts = File.join(Cosmos::USERPATH,'config','tools','cmd_tlm_server','cmd_tlm_server.txt')
22
- FileUtils.mkdir_p(File.dirname(cts))
23
- File.open(cts,'w') do |file|
24
- file.puts 'INTERFACE INST_INT interface.rb'
25
- file.puts 'TARGET INST'
26
- end
27
- System.class_eval('@@instance = nil')
28
-
29
- require 'cosmos/script'
30
- end
31
-
32
- after(:all) do
33
- clean_config()
34
- FileUtils.rm_rf File.join(Cosmos::USERPATH,'config','tools')
35
- end
36
-
37
18
  before(:each) do
38
19
  allow_any_instance_of(Interface).to receive(:connected?).and_return(true)
39
20
  allow_any_instance_of(Interface).to receive(:disconnect)
@@ -150,4 +131,3 @@ module Cosmos
150
131
 
151
132
  end
152
133
  end
153
-
@@ -13,24 +13,7 @@ require 'cosmos/script'
13
13
  require 'tempfile'
14
14
 
15
15
  module Cosmos
16
-
17
16
  describe Script do
18
-
19
- before(:all) do
20
- cts = File.join(Cosmos::USERPATH,'config','tools','cmd_tlm_server','cmd_tlm_server.txt')
21
- FileUtils.mkdir_p(File.dirname(cts))
22
- File.open(cts,'w') do |file|
23
- file.puts 'INTERFACE INST_INT interface.rb'
24
- file.puts 'TARGET INST'
25
- end
26
- System.class_eval('@@instance = nil')
27
- end
28
-
29
- after(:all) do
30
- clean_config()
31
- FileUtils.rm_rf File.join(Cosmos::USERPATH,'config','tools')
32
- end
33
-
34
17
  describe "require cosmos/script.rb" do
35
18
  it "should require cosmos/script/script" do
36
19
  save = $0
@@ -54,37 +37,45 @@ module Cosmos
54
37
  end
55
38
  end
56
39
 
57
- describe "shutdown_cmd_tlm" do
58
- it "should call shutdown on the server" do
59
- set_cmd_tlm_disconnect(false)
60
- expect($cmd_tlm_server).to receive(:shutdown)
40
+ describe "set_disconnected_targets, get_disconnected_targets, clear_disconnected_targets" do
41
+ it "should set, get, and clear disconnected targets" do
42
+ set_disconnected_targets(['INST'])
43
+ expect($disconnected_targets).to include('INST')
44
+ expect(get_disconnected_targets()).to eq ['INST']
45
+ clear_disconnected_targets()
46
+ expect(get_disconnected_targets()).to be_nil
61
47
  shutdown_cmd_tlm()
62
48
  end
63
49
 
64
- it "should not call shutdown in disconnect mode" do
65
- set_cmd_tlm_disconnect(true)
66
- expect($cmd_tlm_server).to_not receive(:shutdown)
67
- shutdown_cmd_tlm()
68
- set_cmd_tlm_disconnect(false)
69
- end
70
- end
50
+ it "should handle any type of request when disconnected" do
51
+ initialize_script_module()
52
+ set_disconnected_targets(['INST'])
53
+ # Try some simple cmd, tlm requests which route to the disconnected
54
+ disconnected = $cmd_tlm_server.instance_variable_get(:@disconnected)
55
+ expect(disconnected).to receive(:cmd).and_call_original
56
+ cmd("INST ABORT")
57
+ expect(disconnected).to receive(:tlm).and_call_original
58
+ tlm("INST HEALTH_STATUS TEMP1")
59
+ # SYSTEM isn't disconnected so these should not go to disconnected
60
+ expect(disconnected).not_to receive(:cmd)
61
+ expect { cmd("SYSTEM STARTLOGGING with LABEL 'TEST'") }.to raise_error(DRb::DRbConnError)
62
+ expect(disconnected).not_to receive(:tlm)
63
+ expect { tlm("SYSTEM META COSMOS_VERSION") }.to raise_error(DRb::DRbConnError)
71
64
 
72
- describe "script_disconnect" do
73
- it "should disconnect from the server" do
74
- expect($cmd_tlm_server).to receive(:disconnect)
75
- script_disconnect()
76
- end
77
- end
65
+ # The rest should pass through to the JsonDRbObject
66
+ cosmos_script_sleep(0.1)
67
+ expect { get_limits_groups() }.to raise_error(DRb::DRbConnError)
68
+ expect { set_limits_set("DEFAULT") }.to raise_error(DRb::DRbConnError)
69
+ ignore = []
70
+ ignore << %w(INST HEALTH_STATUS TEMP1)
71
+ ignore << %w(INST HEALTH_STATUS TEMP2)
72
+ ignore << %w(INST HEALTH_STATUS GROUND2STATUS)
73
+ expect { get_overall_limits_state(ignore) }.to raise_error(DRb::DRbConnError)
78
74
 
79
- describe "set_cmd_tlm_disconnect and get_cmd_tlm_disconnect" do
80
- it "set and get the disconnect status" do
81
- set_cmd_tlm_disconnect(true)
82
- expect(get_cmd_tlm_disconnect()).to be true
83
- set_cmd_tlm_disconnect(false)
84
- expect(get_cmd_tlm_disconnect()).to be false
75
+ clear_disconnected_targets()
76
+ shutdown_cmd_tlm()
85
77
  end
86
78
  end
87
79
 
88
80
  end
89
81
  end
90
-
@@ -10,30 +10,11 @@
10
10
 
11
11
  require 'spec_helper'
12
12
  require 'cosmos'
13
- require 'cosmos/script/script'
13
+ require 'cosmos/script'
14
14
  require 'tempfile'
15
15
 
16
16
  module Cosmos
17
-
18
17
  describe Script do
19
-
20
- before(:all) do
21
- cts = File.join(Cosmos::USERPATH,'config','tools','cmd_tlm_server','cmd_tlm_server.txt')
22
- FileUtils.mkdir_p(File.dirname(cts))
23
- File.open(cts,'w') do |file|
24
- file.puts 'INTERFACE INST_INT interface.rb'
25
- file.puts 'TARGET INST'
26
- end
27
- System.class_eval('@@instance = nil')
28
-
29
- require 'cosmos/script'
30
- end
31
-
32
- after(:all) do
33
- clean_config()
34
- FileUtils.rm_rf File.join(Cosmos::USERPATH,'config','tools')
35
- end
36
-
37
18
  before(:each) do
38
19
  allow_any_instance_of(Interface).to receive(:connected?).and_return(true)
39
20
  allow_any_instance_of(Interface).to receive(:disconnect)
@@ -149,31 +130,31 @@ module Cosmos
149
130
  it "checks a telemetry item vs a condition" do
150
131
  capture_io do |stdout|
151
132
  check("INST HEALTH_STATUS TEMP1 == -100")
152
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == -100 success"
133
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == -100 success")
153
134
  stdout.rewind
154
135
 
155
136
  check("INST","HEALTH_STATUS","TEMP1","== -100")
156
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == -100 success"
137
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == -100 success")
157
138
  stdout.rewind
158
139
 
159
140
  check_formatted("INST HEALTH_STATUS TEMP1 == '-100.000'")
160
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == '-100.000' success"
141
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == '-100.000' success")
161
142
  stdout.rewind
162
143
 
163
144
  check_formatted("INST","HEALTH_STATUS","TEMP1","== '-100.000'")
164
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == '-100.000' success"
145
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == '-100.000' success")
165
146
  stdout.rewind
166
147
 
167
148
  check_with_units("INST HEALTH_STATUS TEMP1 == '-100.000 C'")
168
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == '-100.000 C' success"
149
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == '-100.000 C' success")
169
150
  stdout.rewind
170
151
 
171
152
  check_with_units("INST","HEALTH_STATUS","TEMP1","== '-100.000 C'")
172
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == '-100.000 C' success"
153
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == '-100.000 C' success")
173
154
  stdout.rewind
174
155
 
175
156
  check_raw("INST HEALTH_STATUS TEMP1")
176
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == 0"
157
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == 0")
177
158
  end
178
159
 
179
160
  check("INST HEALTH_STATUS TEMP1 < 0")
@@ -190,18 +171,18 @@ module Cosmos
190
171
  it "checks a telemetry item vs tolerance" do
191
172
  capture_io do |stdout|
192
173
  check_tolerance("INST HEALTH_STATUS TEMP1", -100.0, 1)
193
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within range"
174
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within range")
194
175
  stdout.rewind
195
176
 
196
177
  check_tolerance("INST", "HEALTH_STATUS", "TEMP1", -100.0, 1)
197
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within range"
178
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within range")
198
179
  stdout.rewind
199
180
 
200
181
  expect { check_tolerance("INST HEALTH_STATUS TEMP1", -200.0, 1) }.to raise_error(CheckError, /CHECK: INST HEALTH_STATUS TEMP1 failed to be within range/)
201
182
  stdout.rewind
202
183
 
203
184
  check_tolerance_raw("INST HEALTH_STATUS TEMP1", 0, 1)
204
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within range"
185
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within range")
205
186
  stdout.rewind
206
187
 
207
188
  expect { check_tolerance_raw("INST HEALTH_STATUS TEMP1", 100, 1) }.to raise_error(CheckError, /CHECK: INST HEALTH_STATUS TEMP1 failed to be within range/)
@@ -212,18 +193,18 @@ module Cosmos
212
193
  it "handles a negative tolerance" do
213
194
  capture_io do |stdout|
214
195
  check_tolerance("INST HEALTH_STATUS TEMP1", -100.0, -1)
215
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within range"
196
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within range")
216
197
  stdout.rewind
217
198
 
218
199
  check_tolerance("INST", "HEALTH_STATUS", "TEMP1", -100.0, -1)
219
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within range"
200
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within range")
220
201
  stdout.rewind
221
202
 
222
203
  expect { check_tolerance("INST HEALTH_STATUS TEMP1", -200.0, -1) }.to raise_error(CheckError, /CHECK: INST HEALTH_STATUS TEMP1 failed to be within range/)
223
204
  stdout.rewind
224
205
 
225
206
  check_tolerance_raw("INST HEALTH_STATUS TEMP1", 0, -1)
226
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within range"
207
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within range")
227
208
  stdout.rewind
228
209
 
229
210
  expect { check_tolerance_raw("INST HEALTH_STATUS TEMP1", 100, -1) }.to raise_error(CheckError, /CHECK: INST HEALTH_STATUS TEMP1 failed to be within range/)
@@ -234,59 +215,59 @@ module Cosmos
234
215
  it "handles array items" do
235
216
  capture_io do |stdout|
236
217
  check_tolerance("INST HEALTH_STATUS ARY2", 0.0, 0.1)
237
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
238
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
239
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
240
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
241
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
242
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
243
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
244
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
245
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
246
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
218
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
219
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
220
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
221
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
222
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
223
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
224
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
225
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
226
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
227
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
247
228
  stdout.rewind
248
229
 
249
230
  check_tolerance("INST", "HEALTH_STATUS", "ARY2", 0.0, 0.1)
250
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
251
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
252
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
253
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
254
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
255
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
256
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
257
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
258
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
259
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
231
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
232
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
233
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
234
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
235
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
236
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
237
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
238
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
239
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
240
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
260
241
  stdout.rewind
261
242
 
262
243
  exp_array = Array.new(10, 0.0)
263
244
  tol_array = Array.new(10, 0.1)
264
245
  check_tolerance("INST HEALTH_STATUS ARY2", exp_array, tol_array)
265
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
266
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
267
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
268
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
269
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
270
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
271
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
272
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
273
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
274
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
246
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
247
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
248
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
249
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
250
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
251
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
252
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
253
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
254
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
255
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
275
256
  stdout.rewind
276
257
 
277
258
  exp_array = Array.new(10, 0.0)
278
259
  tol_array = Array.new(10, 0.1)
279
260
  check_tolerance_raw("INST HEALTH_STATUS ARY2", exp_array, tol_array)
280
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
281
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
282
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
283
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
284
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
285
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
286
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
287
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
288
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
289
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
261
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
262
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
263
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
264
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
265
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
266
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
267
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
268
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
269
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
270
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
290
271
  stdout.rewind
291
272
 
292
273
  exp_array[0] = 0.11
@@ -318,7 +299,7 @@ module Cosmos
318
299
  it "checks an arbitrary expression" do
319
300
  capture_io do |stdout|
320
301
  check_expression("true == true")
321
- expect(stdout.string).to match "CHECK: true == true is TRUE"
302
+ expect(stdout.string).to match("CHECK: true == true is TRUE")
322
303
  end
323
304
 
324
305
  expect { check_expression("true == false") }.to raise_error(CheckError, "CHECK: true == false is FALSE")
@@ -335,14 +316,14 @@ module Cosmos
335
316
  expect(self).to receive(:gets) { "\n" }
336
317
  capture_io do |stdout|
337
318
  wait()
338
- expect(stdout.string).to match "WAIT: Indefinite for actual time"
319
+ expect(stdout.string).to match("WAIT: Indefinite for actual time")
339
320
  end
340
321
  end
341
322
 
342
323
  it "waits for a specified number of seconds" do
343
324
  capture_io do |stdout|
344
325
  wait(0.1)
345
- expect(stdout.string).to match "WAIT: 0.1 seconds with actual time"
326
+ expect(stdout.string).to match("WAIT: 0.1 seconds with actual time")
346
327
  end
347
328
  end
348
329
 
@@ -354,28 +335,28 @@ module Cosmos
354
335
  capture_io do |stdout|
355
336
  # Success
356
337
  wait("INST HEALTH_STATUS TEMP1 == -100.0", 5)
357
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 == -100.0"
338
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 == -100.0")
358
339
  stdout.rewind
359
340
  wait("INST HEALTH_STATUS TEMP1 == -100.0", 5, 0.1) # polling rate
360
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 == -100.0"
341
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 == -100.0")
361
342
  stdout.rewind
362
343
  wait("INST","HEALTH_STATUS","TEMP1","== -100.0", 5)
363
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 == -100.0"
344
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 == -100.0")
364
345
  stdout.rewind
365
346
  wait("INST","HEALTH_STATUS","TEMP1","== -100.0", 5, 0.1)
366
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 == -100.0"
347
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 == -100.0")
367
348
  stdout.rewind
368
349
  wait_raw("INST HEALTH_STATUS TEMP1 == 0", 5)
369
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 == 0"
350
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 == 0")
370
351
  stdout.rewind
371
352
  wait_tolerance("INST HEALTH_STATUS TEMP1", -100.0, 1, 5)
372
353
 
373
354
  # Failure
374
355
  wait("INST HEALTH_STATUS TEMP1 == -200.0", 0.1)
375
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 == -200.0 failed"
356
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 == -200.0 failed")
376
357
  stdout.rewind
377
358
  wait_raw("INST HEALTH_STATUS TEMP1 == 100", 0.1)
378
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 == 100 failed"
359
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 == 100 failed")
379
360
  stdout.rewind
380
361
  end
381
362
  end
@@ -390,27 +371,27 @@ module Cosmos
390
371
  capture_io do |stdout|
391
372
  # Success
392
373
  wait_tolerance("INST HEALTH_STATUS TEMP1", -100.0, 1, 5)
393
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 was within"
374
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 was within")
394
375
  stdout.rewind
395
376
  wait_tolerance("INST HEALTH_STATUS TEMP1", -100.0, 1, 5, 0.1)
396
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 was within"
377
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 was within")
397
378
  stdout.rewind
398
379
  wait_tolerance("INST","HEALTH_STATUS","TEMP1", -100.0, 1, 5)
399
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 was within"
380
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 was within")
400
381
  stdout.rewind
401
382
  wait_tolerance("INST","HEALTH_STATUS","TEMP1", -100.0, 1, 5, 0.1)
402
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 was within"
383
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 was within")
403
384
  stdout.rewind
404
385
  wait_tolerance_raw("INST HEALTH_STATUS TEMP1", 0, 1, 5)
405
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 was within"
386
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 was within")
406
387
  stdout.rewind
407
388
 
408
389
  # Failure
409
390
  wait_tolerance("INST HEALTH_STATUS TEMP1", -200.0, 1, 0.1)
410
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 failed to be within"
391
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 failed to be within")
411
392
  stdout.rewind
412
393
  wait_tolerance_raw("INST HEALTH_STATUS TEMP1", 100, 1, 0.1)
413
- expect(stdout.string).to match "WAIT: INST HEALTH_STATUS TEMP1 failed to be within"
394
+ expect(stdout.string).to match("WAIT: INST HEALTH_STATUS TEMP1 failed to be within")
414
395
  stdout.rewind
415
396
  end
416
397
  end
@@ -418,77 +399,77 @@ module Cosmos
418
399
  it "handles array items" do
419
400
  capture_io do |stdout|
420
401
  wait_tolerance("INST HEALTH_STATUS ARY2", 0.0, 0.1, 0.1)
421
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/
422
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/
423
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/
424
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/
425
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/
426
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/
427
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/
428
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/
429
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/
430
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/
402
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/)
403
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/)
404
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/)
405
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/)
406
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/)
407
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/)
408
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/)
409
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/)
410
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/)
411
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/)
431
412
  stdout.rewind
432
413
 
433
414
  wait_tolerance("INST", "HEALTH_STATUS", "ARY2", 0.0, 0.1, 0.1)
434
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/
435
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/
436
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/
437
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/
438
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/
439
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/
440
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/
441
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/
442
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/
443
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/
415
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/)
416
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/)
417
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/)
418
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/)
419
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/)
420
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/)
421
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/)
422
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/)
423
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/)
424
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/)
444
425
  stdout.rewind
445
426
 
446
427
  exp_array = Array.new(10, 0.0)
447
428
  tol_array = Array.new(10, 0.1)
448
429
  wait_tolerance("INST HEALTH_STATUS ARY2", exp_array, tol_array, 0.1)
449
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/
450
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/
451
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/
452
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/
453
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/
454
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/
455
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/
456
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/
457
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/
458
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/
430
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/)
431
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/)
432
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/)
433
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/)
434
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/)
435
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/)
436
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/)
437
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/)
438
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/)
439
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/)
459
440
  stdout.rewind
460
441
 
461
442
  exp_array = Array.new(10, 0.0)
462
443
  tol_array = Array.new(10, 0.1)
463
444
  wait_tolerance_raw("INST HEALTH_STATUS ARY2", exp_array, tol_array, 0.1)
464
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/
465
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/
466
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/
467
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/
468
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/
469
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/
470
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/
471
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/
472
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/
473
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/
445
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[0\] was within range/)
446
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[1\] was within range/)
447
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[2\] was within range/)
448
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[3\] was within range/)
449
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[4\] was within range/)
450
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[5\] was within range/)
451
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[6\] was within range/)
452
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[7\] was within range/)
453
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[8\] was within range/)
454
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[9\] was within range/)
474
455
  stdout.rewind
475
456
 
476
457
  exp_array[0] = 0.11
477
458
  wait_tolerance("INST HEALTH_STATUS ARY2", exp_array, tol_array, 0.1)
478
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[0\] failed to be within range/
459
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[0\] failed to be within range/)
479
460
  stdout.rewind
480
461
 
481
462
  exp_array[0] = 0.0
482
463
  exp_array[9] = 0.11
483
464
  wait_tolerance("INST HEALTH_STATUS ARY2", exp_array, tol_array, 0.1)
484
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[9\] failed to be within range/
465
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[9\] failed to be within range/)
485
466
  stdout.rewind
486
467
 
487
468
  exp_array = Array.new(10, 1)
488
469
  tol_array = Array.new(10, 1.1)
489
470
  tol_array[1] = 0.9
490
471
  wait_tolerance("INST HEALTH_STATUS ARY2", exp_array, tol_array, 0.1)
491
- expect(stdout.string).to match /WAIT: INST HEALTH_STATUS ARY2\[1\] failed to be within range/
472
+ expect(stdout.string).to match(/WAIT: INST HEALTH_STATUS ARY2\[1\] failed to be within range/)
492
473
  stdout.rewind
493
474
  end
494
475
  end
@@ -505,12 +486,12 @@ module Cosmos
505
486
  capture_io do |stdout|
506
487
  # Success
507
488
  wait_expression("true == true", 5)
508
- expect(stdout.string).to match "WAIT: true == true is TRUE"
489
+ expect(stdout.string).to match("WAIT: true == true is TRUE")
509
490
  stdout.rewind
510
491
 
511
492
  # Failure
512
493
  wait_expression("true == false", 0.1)
513
- expect(stdout.string).to match "WAIT: true == false is FALSE"
494
+ expect(stdout.string).to match("WAIT: true == false is FALSE")
514
495
  stdout.rewind
515
496
  end
516
497
  end
@@ -527,19 +508,19 @@ module Cosmos
527
508
  capture_io do |stdout|
528
509
  # Success
529
510
  wait_check("INST HEALTH_STATUS TEMP1 == -100.0", 5)
530
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == -100.0"
511
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == -100.0")
531
512
  stdout.rewind
532
513
  wait_check("INST HEALTH_STATUS TEMP1 == -100.0", 5, 0.1)
533
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == -100.0"
514
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == -100.0")
534
515
  stdout.rewind
535
516
  wait_check("INST","HEALTH_STATUS","TEMP1", "== -100.0", 5)
536
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == -100.0"
517
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == -100.0")
537
518
  stdout.rewind
538
519
  wait_check("INST","HEALTH_STATUS","TEMP1", "== -100.0", 5, 0.1)
539
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == -100.0"
520
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == -100.0")
540
521
  stdout.rewind
541
522
  wait_check_raw("INST HEALTH_STATUS TEMP1 == 0", 5)
542
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 == 0"
523
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 == 0")
543
524
  stdout.rewind
544
525
  end
545
526
 
@@ -558,16 +539,16 @@ module Cosmos
558
539
  capture_io do |stdout|
559
540
  # Success
560
541
  wait_check_tolerance("INST HEALTH_STATUS TEMP1", -100.0, 1, 5)
561
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within"
542
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within")
562
543
  stdout.rewind
563
544
  wait_check_tolerance("INST","HEALTH_STATUS","TEMP1", -100.0, 1, 5)
564
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within"
545
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within")
565
546
  stdout.rewind
566
547
  wait_check_tolerance("INST","HEALTH_STATUS","TEMP1", -100.0, 1, 5, 0.1)
567
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within"
548
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within")
568
549
  stdout.rewind
569
550
  wait_check_tolerance_raw("INST HEALTH_STATUS TEMP1", 0, 1, 5)
570
- expect(stdout.string).to match "CHECK: INST HEALTH_STATUS TEMP1 was within"
551
+ expect(stdout.string).to match("CHECK: INST HEALTH_STATUS TEMP1 was within")
571
552
  stdout.rewind
572
553
  end
573
554
 
@@ -581,59 +562,59 @@ module Cosmos
581
562
  it "handles array items" do
582
563
  capture_io do |stdout|
583
564
  wait_check_tolerance("INST HEALTH_STATUS ARY2", 0.0, 0.1, 0.1)
584
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
585
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
586
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
587
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
588
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
589
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
590
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
591
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
592
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
593
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
565
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
566
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
567
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
568
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
569
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
570
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
571
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
572
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
573
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
574
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
594
575
  stdout.rewind
595
576
 
596
577
  wait_check_tolerance("INST", "HEALTH_STATUS", "ARY2", 0.0, 0.1, 0.1)
597
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
598
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
599
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
600
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
601
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
602
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
603
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
604
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
605
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
606
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
578
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
579
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
580
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
581
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
582
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
583
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
584
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
585
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
586
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
587
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
607
588
  stdout.rewind
608
589
 
609
590
  exp_array = Array.new(10, 0.0)
610
591
  tol_array = Array.new(10, 0.1)
611
592
  wait_check_tolerance("INST HEALTH_STATUS ARY2", exp_array, tol_array, 0.1)
612
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
613
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
614
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
615
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
616
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
617
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
618
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
619
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
620
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
621
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
593
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
594
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
595
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
596
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
597
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
598
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
599
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
600
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
601
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
602
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
622
603
  stdout.rewind
623
604
 
624
605
  exp_array = Array.new(10, 0.0)
625
606
  tol_array = Array.new(10, 0.1)
626
607
  wait_check_tolerance("INST HEALTH_STATUS ARY2", exp_array, tol_array, 0.1)
627
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/
628
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/
629
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/
630
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/
631
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/
632
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/
633
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/
634
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/
635
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/
636
- expect(stdout.string).to match /CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/
608
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[0\] was within range/)
609
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[1\] was within range/)
610
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[2\] was within range/)
611
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[3\] was within range/)
612
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[4\] was within range/)
613
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[5\] was within range/)
614
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[6\] was within range/)
615
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[7\] was within range/)
616
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[8\] was within range/)
617
+ expect(stdout.string).to match(/CHECK: INST HEALTH_STATUS ARY2\[9\] was within range/)
637
618
  stdout.rewind
638
619
 
639
620
  exp_array[0] = 0.11
@@ -665,7 +646,7 @@ module Cosmos
665
646
  capture_io do |stdout|
666
647
  # Success
667
648
  wait_check_expression("true == true", 5)
668
- expect(stdout.string).to match "CHECK: true == true is TRUE"
649
+ expect(stdout.string).to match("CHECK: true == true is TRUE")
669
650
  stdout.rewind
670
651
  end
671
652