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,9 +131,11 @@ module Cosmos
150
131
  expect(interfaces).to include("INST_INT")
151
132
  expect(cmd_logging).to eql true
152
133
  expect(cmd_q_size).to be >= 0
134
+ expect(cmd_filename).to be nil # No commands yet so nil
153
135
  expect(cmd_file_size).to be >= 0
154
136
  expect(tlm_logging).to eql true
155
137
  expect(tlm_q_size).to be >= 0
138
+ expect(tlm_filename).to be nil # No telemetry yet so nil
156
139
  expect(tlm_file_size).to be >= 0
157
140
  end
158
141
  end
@@ -188,7 +171,7 @@ module Cosmos
188
171
  start_new_server_message_log
189
172
  sleep 0.1
190
173
  filename = get_server_message_log_filename
191
- expect(filename).to match /server_messages.txt/
174
+ expect(filename).to match(/server_messages.txt/)
192
175
  end
193
176
  end
194
177
 
@@ -10,28 +10,20 @@
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
18
  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
19
  System.class_eval('@@instance = nil')
28
20
  require 'cosmos/script'
29
- set_cmd_tlm_disconnect(true)
21
+ set_disconnected_targets(['INST'])
30
22
  end
31
23
 
32
24
  after(:all) do
25
+ clear_disconnected_targets()
33
26
  clean_config()
34
- FileUtils.rm_rf File.join(Cosmos::USERPATH,'config','tools')
35
27
  end
36
28
 
37
29
  describe "require cosmos/script.rb" do
@@ -54,10 +46,10 @@ module Cosmos
54
46
  it "sends a command" do
55
47
  capture_io do |stdout|
56
48
  cmd("INST ABORT")
57
- expect(stdout.string).to match /cmd\(\"INST ABORT\"\)/ #"
49
+ expect(stdout.string).to match(/cmd\(\"INST ABORT\"\)/) #"
58
50
  stdout.rewind
59
51
  cmd("INST", "ABORT")
60
- expect(stdout.string).to match /cmd\(\"INST ABORT\"\)/ #"
52
+ expect(stdout.string).to match(/cmd\(\"INST ABORT\"\)/) #"
61
53
  end
62
54
  end
63
55
 
@@ -70,16 +62,16 @@ module Cosmos
70
62
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
71
63
  cmd("INST COLLECT with TYPE SPECIAL")
72
64
 
73
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ # "
74
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
75
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
76
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
65
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) # "
66
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
67
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
68
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
77
69
  stdout.rewind
78
70
 
79
71
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
80
72
  expect(self).to receive(:gets) { 'y' } # Stop running script
81
73
  cmd("INST COLLECT with TYPE SPECIAL")
82
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
74
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
83
75
  end
84
76
  end
85
77
  end
@@ -94,16 +86,16 @@ module Cosmos
94
86
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
95
87
  cmd_no_range_check("INST COLLECT with TYPE SPECIAL")
96
88
 
97
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ # "
98
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
99
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
100
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
89
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) # "
90
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
91
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
92
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
101
93
  stdout.rewind
102
94
 
103
95
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
104
96
  expect(self).to receive(:gets) { 'y' } # Stop running script
105
97
  cmd_no_range_check("INST COLLECT with TYPE SPECIAL")
106
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
98
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
107
99
  end
108
100
  end
109
101
  end
@@ -117,10 +109,10 @@ module Cosmos
117
109
  capture_io do |stdout|
118
110
  cmd_no_hazardous_check("INST COLLECT with TYPE SPECIAL")
119
111
 
120
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ # "
121
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
122
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
123
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
112
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) # "
113
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
114
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
115
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
124
116
  end
125
117
  end
126
118
  end
@@ -130,10 +122,10 @@ module Cosmos
130
122
  capture_io do |stdout|
131
123
  cmd_no_checks("INST COLLECT with TYPE SPECIAL, DURATION 20")
132
124
 
133
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ # "
134
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
135
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
136
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
125
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) # "
126
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
127
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
128
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
137
129
  end
138
130
  end
139
131
  end
@@ -142,7 +134,7 @@ module Cosmos
142
134
  it "sends a command" do
143
135
  capture_io do |stdout|
144
136
  cmd_raw("INST ABORT")
145
- expect(stdout.string).to match /cmd_raw\(\"INST ABORT\"\)/ # "
137
+ expect(stdout.string).to match(/cmd_raw\(\"INST ABORT\"\)/) # "
146
138
  end
147
139
  end
148
140
 
@@ -155,16 +147,16 @@ module Cosmos
155
147
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
156
148
  cmd_raw("INST COLLECT with TYPE 1")
157
149
 
158
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ # "
159
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
160
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
161
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
150
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) # "
151
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
152
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
153
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
162
154
  stdout.rewind
163
155
 
164
156
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
165
157
  expect(self).to receive(:gets) { 'y' } # Stop running script
166
158
  cmd_raw("INST COLLECT with TYPE 1")
167
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
159
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
168
160
  end
169
161
  end
170
162
  end
@@ -179,16 +171,16 @@ module Cosmos
179
171
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
180
172
  cmd_raw_no_range_check("INST COLLECT with TYPE 1")
181
173
 
182
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ # "
183
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
184
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
185
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
174
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) # "
175
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
176
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
177
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
186
178
  stdout.rewind
187
179
 
188
180
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
189
181
  expect(self).to receive(:gets) { 'y' } # Stop running script
190
182
  cmd_raw_no_range_check("INST COLLECT with TYPE 1")
191
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
183
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
192
184
  end
193
185
  end
194
186
  end
@@ -201,10 +193,10 @@ module Cosmos
201
193
  it "sends a hazardous command without prompting" do
202
194
  capture_io do |stdout|
203
195
  cmd_raw_no_hazardous_check("INST COLLECT with TYPE 1")
204
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ #"
205
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
206
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
207
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
196
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) #"
197
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
198
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
199
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
208
200
  end
209
201
  end
210
202
  end
@@ -213,30 +205,27 @@ module Cosmos
213
205
  it "sends an out of range hazardous command without prompting" do
214
206
  capture_io do |stdout|
215
207
  cmd_raw_no_checks("INST COLLECT with TYPE 1, DURATION 20")
216
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ #"
217
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
218
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
219
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
208
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) #"
209
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
210
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
211
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
220
212
  end
221
213
  end
222
214
  end
223
215
 
224
216
  describe "send_raw" do
225
- it "sends data to the write_raw interface method" do
226
- expect_any_instance_of(Interface).to receive(:write_raw).with('\x00')
227
- send_raw('INST_INT', '\x00')
217
+ it "uses the JsonDRbObject and is not disconnected" do
218
+ expect { send_raw('INST_INT', '\x00') }.to raise_error(DRb::DRbConnError)
228
219
  end
229
220
  end
230
221
 
231
222
  describe "send_raw_file" do
232
- it "sends file data to the write_raw interface method" do
223
+ it "uses the JsonDRbObject and is not disconnected" do
233
224
  file = File.open('raw_test_file.bin','wb')
234
225
  file.write '\x00\x01\x02\x03'
235
226
  file.close
236
227
 
237
- expect_any_instance_of(Interface).to receive(:write_raw).with('\x00\x01\x02\x03')
238
-
239
- send_raw_file('INST_INT', 'raw_test_file.bin')
228
+ expect { send_raw_file('INST_INT', 'raw_test_file.bin') }.to raise_error(DRb::DRbConnError)
240
229
 
241
230
  File.delete('raw_test_file.bin')
242
231
  end
@@ -267,4 +256,3 @@ module Cosmos
267
256
 
268
257
  end
269
258
  end
270
-
@@ -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)
@@ -72,10 +53,10 @@ module Cosmos
72
53
  it "sends a command" do
73
54
  capture_io do |stdout|
74
55
  cmd("INST ABORT")
75
- expect(stdout.string).to match /cmd\(\"INST ABORT\"\)/ #"
56
+ expect(stdout.string).to match(/cmd\(\"INST ABORT\"\)/) #"
76
57
  stdout.rewind
77
58
  cmd("INST", "ABORT")
78
- expect(stdout.string).to match /cmd\(\"INST ABORT\"\)/ #"
59
+ expect(stdout.string).to match(/cmd\(\"INST ABORT\"\)/) #"
79
60
  end
80
61
  end
81
62
 
@@ -88,16 +69,16 @@ module Cosmos
88
69
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
89
70
  cmd("INST COLLECT with TYPE SPECIAL")
90
71
 
91
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ #"
92
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
93
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
94
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
72
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) #"
73
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
74
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
75
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
95
76
  stdout.rewind
96
77
 
97
78
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
98
79
  expect(self).to receive(:gets) { 'y' } # Stop running script
99
80
  cmd("INST COLLECT with TYPE SPECIAL")
100
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
81
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
101
82
  end
102
83
  end
103
84
  end
@@ -112,16 +93,16 @@ module Cosmos
112
93
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
113
94
  cmd_no_range_check("INST COLLECT with TYPE SPECIAL")
114
95
 
115
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ #"
116
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
117
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
118
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
96
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) #"
97
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
98
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
99
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
119
100
  stdout.rewind
120
101
 
121
102
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
122
103
  expect(self).to receive(:gets) { 'y' } # Stop running script
123
104
  cmd_no_range_check("INST COLLECT with TYPE SPECIAL")
124
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
105
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
125
106
  end
126
107
  end
127
108
  end
@@ -135,10 +116,10 @@ module Cosmos
135
116
  capture_io do |stdout|
136
117
  cmd_no_hazardous_check("INST COLLECT with TYPE SPECIAL")
137
118
 
138
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ #"
139
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
140
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
141
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
119
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) #"
120
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
121
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
122
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
142
123
  end
143
124
  end
144
125
  end
@@ -148,10 +129,10 @@ module Cosmos
148
129
  capture_io do |stdout|
149
130
  cmd_no_checks("INST COLLECT with TYPE SPECIAL, DURATION 20")
150
131
 
151
- expect(stdout.string).to match /cmd\(\"INST COLLECT/ #"
152
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
153
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
154
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
132
+ expect(stdout.string).to match(/cmd\(\"INST COLLECT/) #"
133
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
134
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
135
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
155
136
  end
156
137
  end
157
138
  end
@@ -160,7 +141,7 @@ module Cosmos
160
141
  it "sends a command" do
161
142
  capture_io do |stdout|
162
143
  cmd_raw("INST ABORT")
163
- expect(stdout.string).to match /cmd_raw\(\"INST ABORT\"\)/ #"
144
+ expect(stdout.string).to match(/cmd_raw\(\"INST ABORT\"\)/) #"
164
145
  end
165
146
  end
166
147
 
@@ -173,16 +154,16 @@ module Cosmos
173
154
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
174
155
  cmd_raw("INST COLLECT with TYPE 1")
175
156
 
176
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ #"
177
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
178
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
179
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
157
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) #"
158
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
159
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
160
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
180
161
  stdout.rewind
181
162
 
182
163
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
183
164
  expect(self).to receive(:gets) { 'y' } # Stop running script
184
165
  cmd_raw("INST COLLECT with TYPE 1")
185
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
166
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
186
167
  end
187
168
  end
188
169
  end
@@ -197,16 +178,16 @@ module Cosmos
197
178
  expect(self).to receive(:gets) { 'y' } # Send hazardous command
198
179
  cmd_raw_no_range_check("INST COLLECT with TYPE 1")
199
180
 
200
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ #"
201
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
202
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
203
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring hazardous warnings"
181
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) #"
182
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
183
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
184
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring hazardous warnings")
204
185
  stdout.rewind
205
186
 
206
187
  expect(self).to receive(:gets) { 'n' } # Don't send hazardous
207
188
  expect(self).to receive(:gets) { 'y' } # Stop running script
208
189
  cmd_raw_no_range_check("INST COLLECT with TYPE 1")
209
- expect(stdout.string).to match "Warning: Command INST COLLECT is Hazardous"
190
+ expect(stdout.string).to match("Warning: Command INST COLLECT is Hazardous")
210
191
  end
211
192
  end
212
193
  end
@@ -219,10 +200,10 @@ module Cosmos
219
200
  it "sends a hazardous command without prompting" do
220
201
  capture_io do |stdout|
221
202
  cmd_raw_no_hazardous_check("INST COLLECT with TYPE 1")
222
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ #"
223
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
224
- expect(stdout.string).to_not match "Command INST COLLECT being sent ignoring range checks"
225
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
203
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) #"
204
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
205
+ expect(stdout.string).to_not match("Command INST COLLECT being sent ignoring range checks")
206
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
226
207
  end
227
208
  end
228
209
  end
@@ -231,10 +212,10 @@ module Cosmos
231
212
  it "sends an out of range hazardous command without prompting" do
232
213
  capture_io do |stdout|
233
214
  cmd_raw_no_checks("INST COLLECT with TYPE 1, DURATION 20")
234
- expect(stdout.string).to match /cmd_raw\(\"INST COLLECT/ #"
235
- expect(stdout.string).to_not match "Warning: Command INST COLLECT is Hazardous"
236
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring range checks"
237
- expect(stdout.string).to match "Command INST COLLECT being sent ignoring hazardous warnings"
215
+ expect(stdout.string).to match(/cmd_raw\(\"INST COLLECT/) #"
216
+ expect(stdout.string).to_not match("Warning: Command INST COLLECT is Hazardous")
217
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring range checks")
218
+ expect(stdout.string).to match("Command INST COLLECT being sent ignoring hazardous warnings")
238
219
  end
239
220
  end
240
221
  end
@@ -272,7 +253,6 @@ module Cosmos
272
253
  describe "get_cmd_param_list" do
273
254
  it "returns all the parameters for a command" do
274
255
  list = get_cmd_param_list("INST", "COLLECT")
275
- #puts list
276
256
  expect(list).to include(["TYPE", 0, {"NORMAL"=>0, "SPECIAL"=>1}, "Collect type", nil, nil, true, "UINT"])
277
257
  end
278
258
  end
@@ -301,4 +281,3 @@ module Cosmos
301
281
 
302
282
  end
303
283
  end
304
-