cosmos 3.2.1 → 3.3.0

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 (364) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +195 -0
  3. data/README.md +3 -3
  4. data/data/crc.txt +52 -52
  5. data/lib/cosmos.rb +1 -1
  6. data/lib/cosmos/core_ext/time.rb +11 -9
  7. data/lib/cosmos/gui/choosers/telemetry_chooser.rb +0 -2
  8. data/lib/cosmos/gui/dialogs/about_dialog.rb +2 -2
  9. data/lib/cosmos/gui/dialogs/exception_dialog.rb +2 -2
  10. data/lib/cosmos/gui/dialogs/progress_dialog.rb +11 -5
  11. data/lib/cosmos/gui/dialogs/splash.rb +32 -10
  12. data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +1 -1
  13. data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +2 -2
  14. data/lib/cosmos/gui/qt.rb +22 -22
  15. data/lib/cosmos/io/json_drb.rb +4 -4
  16. data/lib/cosmos/io/json_rpc.rb +21 -21
  17. data/lib/cosmos/packet_logs/packet_log_writer.rb +18 -20
  18. data/lib/cosmos/packets/commands.rb +8 -6
  19. data/lib/cosmos/packets/limits.rb +3 -2
  20. data/lib/cosmos/packets/packet.rb +14 -11
  21. data/lib/cosmos/packets/parsers/limits_parser.rb +1 -1
  22. data/lib/cosmos/packets/parsers/macro_parser.rb +4 -4
  23. data/lib/cosmos/packets/parsers/state_parser.rb +1 -1
  24. data/lib/cosmos/packets/structure.rb +2 -2
  25. data/lib/cosmos/packets/telemetry.rb +5 -4
  26. data/lib/cosmos/script/script.rb +6 -6
  27. data/lib/cosmos/streams/tcpip_socket_stream.rb +2 -1
  28. data/lib/cosmos/streams/template_stream_protocol.rb +1 -1
  29. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +1 -1
  30. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +5 -8
  31. data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +4 -3
  32. data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +9 -3
  33. data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +15 -11
  34. data/lib/cosmos/tools/data_viewer/data_viewer.rb +1 -1
  35. data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +2 -2
  36. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +2 -2
  37. data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +0 -2
  38. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +1 -1
  39. data/lib/cosmos/tools/replay/replay.rb +2 -2
  40. data/lib/cosmos/tools/script_runner/script_audit.rb +1 -1
  41. data/lib/cosmos/tools/script_runner/script_runner.rb +1 -1
  42. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +3 -7
  43. data/lib/cosmos/tools/table_manager/table_config.rb +1 -1
  44. data/lib/cosmos/tools/test_runner/results_writer.rb +1 -1
  45. data/lib/cosmos/tools/test_runner/test_runner.rb +2 -2
  46. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +2 -1
  47. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +1 -1
  48. data/lib/cosmos/tools/tlm_grapher/data_object_adders/xy_data_object_adder.rb +1 -0
  49. data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +1 -0
  50. data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +1 -0
  51. data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +3 -3
  52. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +1 -3
  53. data/lib/cosmos/top_level.rb +2 -6
  54. data/lib/cosmos/utilities/ruby_lex_utils.rb +1 -1
  55. data/lib/cosmos/version.rb +5 -5
  56. data/lib/cosmos/win32/win32_main.rb +11 -7
  57. data/spec/ccsds/ccsds_packet_spec.rb +28 -28
  58. data/spec/ccsds/ccsds_parser_spec.rb +27 -27
  59. data/spec/config/config_parser_spec.rb +88 -88
  60. data/spec/conversions/conversion_spec.rb +3 -3
  61. data/spec/conversions/generic_conversion_spec.rb +9 -9
  62. data/spec/conversions/new_packet_log_conversion_spec.rb +4 -4
  63. data/spec/conversions/polynomial_conversion_spec.rb +7 -7
  64. data/spec/conversions/processor_conversion_spec.rb +9 -9
  65. data/spec/conversions/received_count_conversion_spec.rb +7 -7
  66. data/spec/conversions/received_time_formatted_conversion_spec.rb +9 -9
  67. data/spec/conversions/received_time_seconds_conversion_spec.rb +9 -9
  68. data/spec/conversions/segmented_polynomial_conversion_spec.rb +11 -11
  69. data/spec/conversions/unix_time_formatted_conversion_spec.rb +13 -13
  70. data/spec/conversions/unix_time_seconds_conversion_spec.rb +13 -13
  71. data/spec/core_ext/array_spec.rb +76 -76
  72. data/spec/core_ext/class_spec.rb +3 -3
  73. data/spec/core_ext/cosmos_io_spec.rb +16 -16
  74. data/spec/core_ext/exception_spec.rb +19 -19
  75. data/spec/core_ext/file_spec.rb +16 -16
  76. data/spec/core_ext/hash_spec.rb +3 -3
  77. data/spec/core_ext/io_spec.rb +2 -2
  78. data/spec/core_ext/kernel_spec.rb +2 -2
  79. data/spec/core_ext/math_spec.rb +43 -43
  80. data/spec/core_ext/matrix_spec.rb +22 -22
  81. data/spec/core_ext/objectspace_spec.rb +6 -6
  82. data/spec/core_ext/range_spec.rb +2 -2
  83. data/spec/core_ext/socket_spec.rb +4 -4
  84. data/spec/core_ext/string_spec.rb +67 -67
  85. data/spec/core_ext/stringio_spec.rb +2 -2
  86. data/spec/core_ext/time_spec.rb +82 -82
  87. data/spec/gui/line_graph/line_clip_spec.rb +34 -34
  88. data/spec/interfaces/interface_spec.rb +46 -46
  89. data/spec/interfaces/linc_interface_spec.rb +26 -26
  90. data/spec/interfaces/serial_interface_spec.rb +16 -16
  91. data/spec/interfaces/simulated_target_interface_spec.rb +21 -21
  92. data/spec/interfaces/stream_interface_spec.rb +22 -22
  93. data/spec/interfaces/tcpip_client_interface_spec.rb +14 -14
  94. data/spec/interfaces/tcpip_server_interface_spec.rb +41 -41
  95. data/spec/interfaces/udp_interface_spec.rb +46 -46
  96. data/spec/io/buffered_file_spec.rb +50 -50
  97. data/spec/io/io_multiplexer_spec.rb +9 -9
  98. data/spec/io/json_drb_object_spec.rb +7 -7
  99. data/spec/io/json_drb_spec.rb +55 -55
  100. data/spec/io/json_rpc_spec.rb +68 -68
  101. data/spec/io/raw_logger_pair_spec.rb +28 -28
  102. data/spec/io/raw_logger_spec.rb +22 -22
  103. data/spec/io/serial_driver_spec.rb +3 -3
  104. data/spec/io/stderr_spec.rb +2 -2
  105. data/spec/io/stdout_spec.rb +2 -2
  106. data/spec/io/tcpip_server_spec.rb +62 -62
  107. data/spec/io/udp_sockets_spec.rb +19 -19
  108. data/spec/io/win32_serial_driver_spec.rb +10 -10
  109. data/spec/packet_logs/meta_packet_log_writer_spec.rb +32 -32
  110. data/spec/packet_logs/packet_log_reader_spec.rb +138 -138
  111. data/spec/packet_logs/packet_log_writer_pair_spec.rb +3 -3
  112. data/spec/packet_logs/packet_log_writer_spec.rb +26 -26
  113. data/spec/packets/binary_accessor_spec.rb +672 -672
  114. data/spec/packets/commands_spec.rb +123 -123
  115. data/spec/packets/limits_response_spec.rb +1 -1
  116. data/spec/packets/limits_spec.rb +69 -69
  117. data/spec/packets/packet_config_spec.rb +93 -93
  118. data/spec/packets/packet_item_limits_spec.rb +46 -46
  119. data/spec/packets/packet_item_spec.rb +108 -108
  120. data/spec/packets/packet_spec.rb +364 -348
  121. data/spec/packets/parsers/format_string_parser_spec.rb +13 -13
  122. data/spec/packets/parsers/limits_parser_spec.rb +8 -8
  123. data/spec/packets/parsers/limits_response_parser_spec.rb +9 -9
  124. data/spec/packets/parsers/macro_parser_spec.rb +34 -6
  125. data/spec/packets/parsers/packet_parser_spec.rb +6 -6
  126. data/spec/packets/parsers/processor_parser_spec.rb +7 -7
  127. data/spec/packets/parsers/state_parser_spec.rb +23 -23
  128. data/spec/packets/structure_item_spec.rb +62 -62
  129. data/spec/packets/structure_spec.rb +183 -183
  130. data/spec/packets/telemetry_spec.rb +174 -174
  131. data/spec/processors/new_packet_log_processor_spec.rb +4 -4
  132. data/spec/processors/processor_spec.rb +9 -9
  133. data/spec/processors/statistics_processor_spec.rb +21 -21
  134. data/spec/processors/watermark_processor_spec.rb +12 -12
  135. data/spec/script/script_spec.rb +158 -158
  136. data/spec/spec_helper.rb +44 -13
  137. data/spec/streams/burst_stream_protocol_spec.rb +8 -8
  138. data/spec/streams/fixed_stream_protocol_spec.rb +26 -26
  139. data/spec/streams/length_stream_protocol_spec.rb +27 -27
  140. data/spec/streams/preidentified_stream_protocol_spec.rb +25 -25
  141. data/spec/streams/serial_stream_spec.rb +19 -19
  142. data/spec/streams/stream_protocol_spec.rb +52 -52
  143. data/spec/streams/stream_spec.rb +1 -1
  144. data/spec/streams/tcpip_client_stream_spec.rb +7 -7
  145. data/spec/streams/tcpip_socket_stream_spec.rb +84 -49
  146. data/spec/streams/template_stream_protocol_spec.rb +17 -17
  147. data/spec/streams/terminated_stream_protocol_spec.rb +19 -19
  148. data/spec/system/system_spec.rb +95 -95
  149. data/spec/system/target_spec.rb +32 -32
  150. data/spec/tools/cmd_tlm_server/api_spec.rb +386 -386
  151. data/spec/tools/cmd_tlm_server/background_task_spec.rb +3 -3
  152. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +8 -8
  153. data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +57 -57
  154. data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +85 -85
  155. data/spec/tools/cmd_tlm_server/commanding_spec.rb +11 -11
  156. data/spec/tools/cmd_tlm_server/connections_spec.rb +23 -23
  157. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +57 -57
  158. data/spec/tools/cmd_tlm_server/interfaces_spec.rb +32 -32
  159. data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +17 -17
  160. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +15 -15
  161. data/spec/tools/cmd_tlm_server/routers_spec.rb +36 -36
  162. data/spec/top_level/top_level_spec.rb +60 -60
  163. data/spec/utilities/crc_spec.rb +6 -6
  164. data/spec/utilities/csv_spec.rb +13 -13
  165. data/spec/utilities/logger_spec.rb +20 -20
  166. data/spec/utilities/message_log_spec.rb +13 -13
  167. data/spec/utilities/quaternion_spec.rb +30 -30
  168. data/spec/utilities/ruby_lex_utils_spec.rb +14 -14
  169. data/test/benchmarks/binary_accessor_benchmark.rb +14 -0
  170. data/test/benchmarks/gsub_benchmark.rb +114 -0
  171. data/test/performance/PACKETS.bat +1 -0
  172. data/test/performance/Rakefile +77 -0
  173. data/test/performance/THREADS.bat +1 -0
  174. data/test/performance/config/data/attitude.bin +0 -0
  175. data/test/performance/config/data/crc.txt +206 -0
  176. data/test/performance/config/data/diamond.STL +58 -0
  177. data/test/performance/config/data/groundoff.gif +0 -0
  178. data/test/performance/config/data/groundon.gif +0 -0
  179. data/test/performance/config/data/hselectoff.gif +0 -0
  180. data/test/performance/config/data/hselecton.gif +0 -0
  181. data/test/performance/config/data/hswitchoff.gif +0 -0
  182. data/test/performance/config/data/hswitchon.gif +0 -0
  183. data/test/performance/config/data/meta_init.txt +4 -0
  184. data/test/performance/config/data/position.bin +0 -0
  185. data/test/performance/config/data/poweroff.gif +0 -0
  186. data/test/performance/config/data/poweron.gif +0 -0
  187. data/test/performance/config/data/satellite.gif +0 -0
  188. data/test/performance/config/data/tada.wav +0 -0
  189. data/test/performance/config/data/vswitchoff.gif +0 -0
  190. data/test/performance/config/data/vswitchon.gif +0 -0
  191. data/test/performance/config/system/system_packets.txt +39 -0
  192. data/test/performance/config/system/system_threads.txt +59 -0
  193. data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +41 -0
  194. data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
  195. data/test/performance/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
  196. data/test/performance/config/targets/COSMOS/screens/limits_change.txt +20 -0
  197. data/test/performance/config/targets/COSMOS/screens/version.txt +19 -0
  198. data/test/performance/config/targets/COSMOS/target.txt +11 -0
  199. data/test/performance/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt +17 -0
  200. data/test/performance/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt +18 -0
  201. data/test/performance/config/targets/EXAMPLE/cmd_tlm_server.txt +6 -0
  202. data/test/performance/config/targets/EXAMPLE/lib/example_interface.rb +22 -0
  203. data/test/performance/config/targets/EXAMPLE/target.txt +7 -0
  204. data/test/performance/config/targets/SYSTEM/screens/status.txt +12 -0
  205. data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_packets.txt +34 -0
  206. data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_threads.txt +68 -0
  207. data/test/performance/config/tools/data_viewer/data_viewer.txt +11 -0
  208. data/test/performance/config/tools/handbook_creator/default_toc.xsl +59 -0
  209. data/test/performance/config/tools/handbook_creator/handbook_creator.txt +66 -0
  210. data/test/performance/config/tools/handbook_creator/templates/command_packets.html.erb +86 -0
  211. data/test/performance/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
  212. data/test/performance/config/tools/handbook_creator/templates/footer.html.erb +9 -0
  213. data/test/performance/config/tools/handbook_creator/templates/header.html.erb +25 -0
  214. data/test/performance/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
  215. data/test/performance/config/tools/handbook_creator/templates/nav.html.erb +27 -0
  216. data/test/performance/config/tools/handbook_creator/templates/overview.html.erb +1 -0
  217. data/test/performance/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
  218. data/test/performance/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
  219. data/test/performance/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
  220. data/test/performance/config/tools/handbook_creator/templates/telemetry_packets.html.erb +80 -0
  221. data/test/performance/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
  222. data/test/performance/config/tools/handbook_creator/templates/title.html.erb +1 -0
  223. data/test/performance/config/tools/launcher/launcher_packets.txt +29 -0
  224. data/test/performance/config/tools/launcher/launcher_threads.txt +70 -0
  225. data/test/performance/config/tools/limits_monitor/README.txt +1 -0
  226. data/test/performance/config/tools/opengl_builder/README.txt +1 -0
  227. data/test/performance/config/tools/script_runner/script_runner.txt +3 -0
  228. data/test/performance/config/tools/table_manager/ConfigTables_def.txt +8 -0
  229. data/test/performance/config/tools/table_manager/ExampleTableDefinition.txt +24 -0
  230. data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +25 -0
  231. data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +25 -0
  232. data/test/performance/config/tools/table_manager/PPSSelectionTable_def.txt +8 -0
  233. data/test/performance/config/tools/table_manager/TLMMonitoringTable_def.txt +248 -0
  234. data/test/performance/config/tools/test_runner/test_runner.txt +17 -0
  235. data/test/performance/config/tools/tlm_extractor/tlm_extractor.txt +13 -0
  236. data/test/performance/config/tools/tlm_extractor/tlm_extractor2.txt +2 -0
  237. data/test/performance/config/tools/tlm_extractor/tlm_extractor3.txt +2 -0
  238. data/test/performance/config/tools/tlm_extractor/tlm_extractor4.txt +2 -0
  239. data/test/performance/config/tools/tlm_grapher/README.txt +1 -0
  240. data/test/performance/config/tools/tlm_viewer/tlm_viewer.txt +41 -0
  241. data/test/performance/lib/example_background_task.rb +57 -0
  242. data/test/performance/lib/example_target.rb +120 -0
  243. data/test/performance/lib/scpi_target.rb +74 -0
  244. data/test/performance/lib/user_version.rb +3 -0
  245. data/test/performance/outputs/handbooks/README.txt +1 -0
  246. data/test/performance/outputs/logs/README.txt +1 -0
  247. data/test/performance/outputs/saved_config/README.txt +1 -0
  248. data/test/performance/outputs/tables/README.txt +1 -0
  249. data/test/performance/outputs/tmp/README.txt +1 -0
  250. data/test/performance/procedures/checks.rb +11 -0
  251. data/test/performance/procedures/clear_util.rb +7 -0
  252. data/test/performance/procedures/collect.rb +18 -0
  253. data/test/performance/procedures/collect_util.rb +14 -0
  254. data/test/performance/procedures/cosmos_api_test.rb +293 -0
  255. data/test/performance/procedures/disconnect.rb +29 -0
  256. data/test/performance/procedures/example_test.rb +182 -0
  257. data/test/performance/procedures/plot_test.rb +8 -0
  258. data/test/performance/procedures/procedure.rb +3 -0
  259. data/test/performance/procedures/run_example_test.rb +3 -0
  260. data/test/performance/procedures/test.rb +51 -0
  261. data/test/performance/tools/CmdExtractor +14 -0
  262. data/test/performance/tools/CmdExtractor.bat +59 -0
  263. data/test/performance/tools/CmdSender +14 -0
  264. data/test/performance/tools/CmdSender.bat +59 -0
  265. data/test/performance/tools/CmdTlmServer +16 -0
  266. data/test/performance/tools/CmdTlmServer.bat +59 -0
  267. data/test/performance/tools/CmdTlmServerMemProf +20 -0
  268. data/test/performance/tools/CmdTlmServerMemProf.bat +59 -0
  269. data/test/performance/tools/DataViewer +14 -0
  270. data/test/performance/tools/DataViewer.bat +59 -0
  271. data/test/performance/tools/ExampleTarget +14 -0
  272. data/test/performance/tools/ExampleTarget.bat +59 -0
  273. data/test/performance/tools/HandbookCreator +14 -0
  274. data/test/performance/tools/HandbookCreator.bat +61 -0
  275. data/test/performance/tools/Launcher +14 -0
  276. data/test/performance/tools/Launcher.bat +59 -0
  277. data/test/performance/tools/LimitsMonitor +14 -0
  278. data/test/performance/tools/LimitsMonitor.bat +59 -0
  279. data/test/performance/tools/OpenGLBuilder +14 -0
  280. data/test/performance/tools/OpenGLBuilder.bat +59 -0
  281. data/test/performance/tools/PacketViewer +14 -0
  282. data/test/performance/tools/PacketViewer.bat +59 -0
  283. data/test/performance/tools/Replay +14 -0
  284. data/test/performance/tools/Replay.bat +59 -0
  285. data/test/performance/tools/ScpiTarget +14 -0
  286. data/test/performance/tools/ScpiTarget.bat +59 -0
  287. data/test/performance/tools/ScriptRunner +14 -0
  288. data/test/performance/tools/ScriptRunner.bat +59 -0
  289. data/test/performance/tools/TableManager +14 -0
  290. data/test/performance/tools/TableManager.bat +59 -0
  291. data/test/performance/tools/TestRunner +14 -0
  292. data/test/performance/tools/TestRunner.bat +59 -0
  293. data/test/performance/tools/TlmExtractor +14 -0
  294. data/test/performance/tools/TlmExtractor.bat +59 -0
  295. data/test/performance/tools/TlmGrapher +14 -0
  296. data/test/performance/tools/TlmGrapher.bat +59 -0
  297. data/test/performance/tools/TlmViewer +14 -0
  298. data/test/performance/tools/TlmViewer.bat +59 -0
  299. data/test/performance/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
  300. data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +15 -0
  301. data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +6 -0
  302. data/test/performance/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
  303. data/test/performance/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
  304. data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +15 -0
  305. data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/main.sh +6 -0
  306. data/test/performance/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
  307. data/test/performance/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
  308. data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +15 -0
  309. data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +6 -0
  310. data/test/performance/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
  311. data/test/performance/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
  312. data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +15 -0
  313. data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/main.sh +6 -0
  314. data/test/performance/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
  315. data/test/performance/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
  316. data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +15 -0
  317. data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +6 -0
  318. data/test/performance/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
  319. data/test/performance/tools/mac/Launcher.app/Contents/Info.plist +38 -0
  320. data/test/performance/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +15 -0
  321. data/test/performance/tools/mac/Launcher.app/Contents/MacOS/main.sh +6 -0
  322. data/test/performance/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
  323. data/test/performance/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
  324. data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +15 -0
  325. data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +6 -0
  326. data/test/performance/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
  327. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
  328. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +15 -0
  329. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +6 -0
  330. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
  331. data/test/performance/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
  332. data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +15 -0
  333. data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +6 -0
  334. data/test/performance/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
  335. data/test/performance/tools/mac/Replay.app/Contents/Info.plist +38 -0
  336. data/test/performance/tools/mac/Replay.app/Contents/MacOS/Replay.rb +15 -0
  337. data/test/performance/tools/mac/Replay.app/Contents/MacOS/main.sh +6 -0
  338. data/test/performance/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
  339. data/test/performance/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
  340. data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +15 -0
  341. data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +6 -0
  342. data/test/performance/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
  343. data/test/performance/tools/mac/TableManager.app/Contents/Info.plist +38 -0
  344. data/test/performance/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +15 -0
  345. data/test/performance/tools/mac/TableManager.app/Contents/MacOS/main.sh +6 -0
  346. data/test/performance/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
  347. data/test/performance/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
  348. data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +15 -0
  349. data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/main.sh +6 -0
  350. data/test/performance/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
  351. data/test/performance/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
  352. data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +15 -0
  353. data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +6 -0
  354. data/test/performance/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
  355. data/test/performance/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
  356. data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +15 -0
  357. data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +6 -0
  358. data/test/performance/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
  359. data/test/performance/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
  360. data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +15 -0
  361. data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +6 -0
  362. data/test/performance/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
  363. data/test/performance/userpath.txt +1 -0
  364. metadata +197 -2
@@ -16,30 +16,30 @@ module Cosmos
16
16
  describe UdpWriteSocket do
17
17
 
18
18
  describe "initialize" do
19
- it "should create a socket" do
19
+ it "creates a socket" do
20
20
  udp = UdpWriteSocket.new('127.0.0.1', 8888)
21
- udp.peeraddr[2].should eql '127.0.0.1'
22
- udp.peeraddr[1].should eql 8888
21
+ expect(udp.peeraddr[2]).to eql '127.0.0.1'
22
+ expect(udp.peeraddr[1]).to eql 8888
23
23
  udp.close
24
24
  udp = UdpWriteSocket.new('224.0.1.1', 8888, 7777, '127.0.0.1', 3)
25
- udp.local_address.ip_port.should eql 7777
26
- udp.getsockopt(Socket::IPPROTO_IP, Socket::IP_MULTICAST_TTL).int.should eql 3
27
- IPAddr.new_ntoh(udp.getsockopt(Socket::IPPROTO_IP, Socket::IP_MULTICAST_IF).data).to_s.should eql "127.0.0.1"
25
+ expect(udp.local_address.ip_port).to eql 7777
26
+ expect(udp.getsockopt(Socket::IPPROTO_IP, Socket::IP_MULTICAST_TTL).int).to eql 3
27
+ expect(IPAddr.new_ntoh(udp.getsockopt(Socket::IPPROTO_IP, Socket::IP_MULTICAST_IF).data).to_s).to eql "127.0.0.1"
28
28
  udp.close
29
29
  end
30
30
  end
31
31
 
32
32
  describe "write" do
33
- it "should write data" do
33
+ it "writes data" do
34
34
  udp_read = UdpReadSocket.new(8888)
35
35
  udp_write = UdpWriteSocket.new('127.0.0.1', 8888)
36
36
  udp_write.write("\x01\x02",2.0)
37
- udp_read.read.should eql "\x01\x02"
37
+ expect(udp_read.read).to eql "\x01\x02"
38
38
  udp_read.close
39
39
  udp_write.close
40
40
  end
41
41
 
42
- it "should handle timeouts" do
42
+ it "handles timeouts" do
43
43
  allow_any_instance_of(UDPSocket).to receive(:write_nonblock) { raise Errno::EWOULDBLOCK }
44
44
  expect(IO).to receive(:select).at_least(:once).and_return([], nil)
45
45
  udp_write = UdpWriteSocket.new('127.0.0.1', 8888)
@@ -49,9 +49,9 @@ module Cosmos
49
49
  end
50
50
 
51
51
  describe "multicast" do
52
- it "should determine if a host is multicast" do
53
- UdpWriteSocket.multicast?('127.0.0.1').should be_falsey
54
- UdpWriteSocket.multicast?('224.0.1.1').should be_truthy
52
+ it "determines if a host is multicast" do
53
+ expect(UdpWriteSocket.multicast?('127.0.0.1')).to be_falsey
54
+ expect(UdpWriteSocket.multicast?('224.0.1.1')).to be_truthy
55
55
  end
56
56
  end
57
57
 
@@ -60,28 +60,28 @@ module Cosmos
60
60
  describe UdpReadSocket do
61
61
 
62
62
  describe "initialize" do
63
- it "should create a socket" do
63
+ it "creates a socket" do
64
64
  udp = UdpReadSocket.new(8888)
65
- udp.local_address.ip_address.should eql '0.0.0.0'
66
- udp.local_address.ip_port.should eql 8888
65
+ expect(udp.local_address.ip_address).to eql '0.0.0.0'
66
+ expect(udp.local_address.ip_port).to eql 8888
67
67
  udp.close
68
68
  udp = UdpReadSocket.new(8888, '224.0.1.1')
69
- IPAddr.new_ntoh(udp.getsockopt(Socket::IPPROTO_IP, Socket::IP_MULTICAST_IF).data).to_s.should eql "0.0.0.0"
69
+ expect(IPAddr.new_ntoh(udp.getsockopt(Socket::IPPROTO_IP, Socket::IP_MULTICAST_IF).data).to_s).to eql "0.0.0.0"
70
70
  udp.close
71
71
  end
72
72
  end
73
73
 
74
74
  describe "read" do
75
- it "should read data" do
75
+ it "reads data" do
76
76
  udp_read = UdpReadSocket.new(8888)
77
77
  udp_write = UdpWriteSocket.new('127.0.0.1', 8888)
78
78
  udp_write.write("\x01\x02",2.0)
79
- udp_read.read.should eql "\x01\x02"
79
+ expect(udp_read.read).to eql "\x01\x02"
80
80
  udp_read.close
81
81
  udp_write.close
82
82
  end
83
83
 
84
- it "should handle timeouts" do
84
+ it "handles timeouts" do
85
85
  allow_any_instance_of(UDPSocket).to receive(:recvfrom_nonblock) { raise Errno::EWOULDBLOCK }
86
86
  expect(IO).to receive(:select).at_least(:once).and_return([], nil)
87
87
  udp_read = UdpReadSocket.new(8889)
@@ -24,18 +24,18 @@ module Cosmos
24
24
  end
25
25
 
26
26
  describe "instance" do
27
- it "should enforce the baud rate to a known value" do
27
+ it "enforces the baud rate to a known value" do
28
28
  expect { Win32SerialDriver.new('COM1',10,:NONE) }.to raise_error(ArgumentError, "Invalid baud rate: 10")
29
29
  end
30
30
 
31
- it "should support even, odd, or no parity" do
31
+ it "supports even, odd, or no parity" do
32
32
  expect { Win32SerialDriver.new('COM1',9600,:EVEN) }.to_not raise_error
33
33
  expect { Win32SerialDriver.new('COM1',9600,:ODD) }.to_not raise_error
34
34
  expect { Win32SerialDriver.new('COM1',9600,:NONE) }.to_not raise_error
35
35
  expect { Win32SerialDriver.new('COM1',9600,:BLAH) }.to raise_error(ArgumentError, "Invalid parity: BLAH")
36
36
  end
37
37
 
38
- it "should support 1 or 2 stop bits" do
38
+ it "supports 1 or 2 stop bits" do
39
39
  expect { Win32SerialDriver.new('COM1',9600,:NONE,1) }.to_not raise_error
40
40
  expect { Win32SerialDriver.new('COM1',9600,:NONE,2) }.to_not raise_error
41
41
  expect { Win32SerialDriver.new('COM1',9600,:NONE,3) }.to raise_error(ArgumentError, "Invalid stop bits: 3")
@@ -43,23 +43,23 @@ module Cosmos
43
43
  end
44
44
 
45
45
  describe "close, closed?" do
46
- it "should close the handle" do
46
+ it "closes the handle" do
47
47
  expect(Win32).to receive(:close_handle)
48
48
  driver = Win32SerialDriver.new('COM1',9600)
49
- driver.closed?.should be_falsey
49
+ expect(driver.closed?).to be_falsey
50
50
  driver.close
51
- driver.closed?.should be_truthy
51
+ expect(driver.closed?).to be_truthy
52
52
  end
53
53
  end
54
54
 
55
55
  describe "write" do
56
- it "should handle write errors" do
56
+ it "handles write errors" do
57
57
  expect(Win32).to receive(:write_file).and_return 0
58
58
  driver = Win32SerialDriver.new('COM1',9600)
59
59
  expect { driver.write('\x00') }.to raise_error("Error writing to comm port")
60
60
  end
61
61
 
62
- it "should use the write timeout" do
62
+ it "uses the write timeout" do
63
63
  expect(Win32).to receive(:write_file) do
64
64
  sleep 2
65
65
  1
@@ -73,10 +73,10 @@ module Cosmos
73
73
  it "return the data read" do
74
74
  expect(Win32).to receive(:read_file) { '\x00' }
75
75
  driver = Win32SerialDriver.new('COM1',9600,:NONE,1,1,nil,0.01,1)
76
- driver.read.should eql '\x00'
76
+ expect(driver.read).to eql '\x00'
77
77
  end
78
78
 
79
- it "should use the read timeout" do
79
+ it "uses the read timeout" do
80
80
  allow(Win32).to receive(:read_file) { '' }
81
81
  driver = Win32SerialDriver.new('COM1',9600,:NONE,1,1,1.0,0.5,10)
82
82
  expect { driver.read }.to raise_error(Timeout::Error)
@@ -26,7 +26,7 @@ module Cosmos
26
26
  clean_config()
27
27
  end
28
28
 
29
- it "should create a command log writer" do
29
+ it "creates a command log writer" do
30
30
  meta_packet = System.commands.packet('META', 'DATA')
31
31
  meta_packet.write('VERSION', 'Great Version')
32
32
  meta_packet.write('NUMBER', 5)
@@ -44,19 +44,19 @@ module Cosmos
44
44
  count = 0
45
45
  reader.each(filename) do |packet|
46
46
  if count == 0
47
- packet.target_name.should eql('META')
48
- packet.packet_name.should eql('DATA')
49
- packet.read('VERSION').should eql('Great Version')
50
- packet.read('NUMBER').should eql(5)
47
+ expect(packet.target_name).to eql('META')
48
+ expect(packet.packet_name).to eql('DATA')
49
+ expect(packet.read('VERSION')).to eql('Great Version')
50
+ expect(packet.read('NUMBER')).to eql(5)
51
51
  else
52
- packet.target_name.should eql('INST')
53
- packet.packet_name.should eql('ABORT')
52
+ expect(packet.target_name).to eql('INST')
53
+ expect(packet.packet_name).to eql('ABORT')
54
54
  end
55
55
  count += 1
56
56
  end
57
57
  end
58
58
 
59
- it "should create a telemetry log writer" do
59
+ it "creates a telemetry log writer" do
60
60
  meta_packet = System.telemetry.packet('META', 'DATA')
61
61
  meta_packet.write('VERSION', 'Good Version')
62
62
  meta_packet.write('NUMBER', 3)
@@ -76,20 +76,20 @@ module Cosmos
76
76
  count = 0
77
77
  reader.each(filename) do |packet|
78
78
  if count == 0 or count == 2
79
- packet.target_name.should eql('META')
80
- packet.packet_name.should eql('DATA')
81
- packet.read('VERSION').should eql('Good Version')
82
- packet.read('NUMBER').should eql(3)
79
+ expect(packet.target_name).to eql('META')
80
+ expect(packet.packet_name).to eql('DATA')
81
+ expect(packet.read('VERSION')).to eql('Good Version')
82
+ expect(packet.read('NUMBER')).to eql(3)
83
83
  else
84
- packet.target_name.should eql('INST')
85
- packet.packet_name.should eql('ADCS')
84
+ expect(packet.target_name).to eql('INST')
85
+ expect(packet.packet_name).to eql('ADCS')
86
86
  end
87
87
  count += 1
88
88
  end
89
- count.should eql 3
89
+ expect(count).to eql 3
90
90
  end
91
91
 
92
- it "should not log metadata packets if configured not to" do
92
+ it "does not log metadata packets if configured not to" do
93
93
  meta_packet = System.telemetry.packet('META', 'DATA')
94
94
  meta_packet.write('VERSION', 'Good Version')
95
95
  meta_packet.write('NUMBER', 1)
@@ -110,20 +110,20 @@ module Cosmos
110
110
  count = 0
111
111
  reader.each(filename) do |packet|
112
112
  if count == 0
113
- packet.target_name.should eql('META')
114
- packet.packet_name.should eql('DATA')
115
- packet.read('VERSION').should eql('Good Version')
116
- packet.read('NUMBER').should eql(1)
113
+ expect(packet.target_name).to eql('META')
114
+ expect(packet.packet_name).to eql('DATA')
115
+ expect(packet.read('VERSION')).to eql('Good Version')
116
+ expect(packet.read('NUMBER')).to eql(1)
117
117
  else
118
- packet.target_name.should eql('INST')
119
- packet.packet_name.should eql('ADCS')
118
+ expect(packet.target_name).to eql('INST')
119
+ expect(packet.packet_name).to eql('ADCS')
120
120
  end
121
121
  count += 1
122
122
  end
123
- count.should eql(2)
123
+ expect(count).to eql(2)
124
124
  end
125
125
 
126
- it "should initialize the meta packet if configured to" do
126
+ it "initializes the meta packet if configured to" do
127
127
  tf = Tempfile.new('unittest')
128
128
  tf.puts("VERSION 'Ok Version'")
129
129
  tf.puts("NUMBER 11")
@@ -148,21 +148,21 @@ module Cosmos
148
148
  count = 0
149
149
  reader.each(filename) do |packet|
150
150
  if count == 0
151
- packet.target_name.should eql('META')
152
- packet.packet_name.should eql('DATA')
153
- packet.read('VERSION').should eql('Ok Version')
154
- packet.read('NUMBER').should eql(11)
151
+ expect(packet.target_name).to eql('META')
152
+ expect(packet.packet_name).to eql('DATA')
153
+ expect(packet.read('VERSION')).to eql('Ok Version')
154
+ expect(packet.read('NUMBER')).to eql(11)
155
155
  else
156
- packet.target_name.should eql('INST')
157
- packet.packet_name.should eql('ADCS')
156
+ expect(packet.target_name).to eql('INST')
157
+ expect(packet.packet_name).to eql('ADCS')
158
158
  end
159
159
  count += 1
160
160
  end
161
- count.should eql(2)
161
+ expect(count).to eql(2)
162
162
  tf.unlink
163
163
  end
164
164
 
165
- it "should complain if the packet does not exist" do
165
+ it "complains if the packet does not exist" do
166
166
  expect {plw = MetaPacketLogWriter.new(:CMD,'INST','ADCS',nil,true,true)}.to raise_error(RuntimeError)
167
167
  expect {plw = MetaPacketLogWriter.new(:CMD,'INST','ABORT',nil,true,true)}.to raise_error(RuntimeError)
168
168
  end
@@ -70,15 +70,15 @@ module Cosmos
70
70
  end
71
71
 
72
72
  describe "initialize" do
73
- it "should create a command log writer" do
74
- @plr.log_type.should eql :TLM
75
- @plr.configuration_name.should be_nil
76
- @plr.hostname.should be_nil
73
+ it "creates a command log writer" do
74
+ expect(@plr.log_type).to eql :TLM
75
+ expect(@plr.configuration_name).to be_nil
76
+ expect(@plr.hostname).to be_nil
77
77
  end
78
78
  end
79
79
 
80
80
  describe "open" do
81
- it "should complain if the log file is too small" do
81
+ it "complains if the log file is too small" do
82
82
  tf = Tempfile.new('log_file')
83
83
  tf.puts "BLAH"
84
84
  tf.close
@@ -86,7 +86,7 @@ module Cosmos
86
86
  tf.unlink
87
87
  end
88
88
 
89
- it "should complain if the log does not have a COSMOS header" do
89
+ it "complains if the log does not have a COSMOS header" do
90
90
  pkt = System.telemetry.packet("COSMOS","VERSION").clone
91
91
  filename = File.join(@log_path,'test.bin')
92
92
  File.open(filename,'wb') do |file|
@@ -98,7 +98,7 @@ module Cosmos
98
98
  expect { @plr.open(filename) }.to raise_error(/file header not found/)
99
99
  end
100
100
 
101
- it "should complain if the log is not CMD or TLM" do
101
+ it "complains if the log is not CMD or TLM" do
102
102
  pkt = System.telemetry.packet("COSMOS","VERSION").clone
103
103
  filename = File.join(@log_path,'test.bin')
104
104
  File.open(filename,'wb') do |file|
@@ -110,7 +110,7 @@ module Cosmos
110
110
  expect { @plr.open(filename) }.to raise_error("Unknown log type BOT")
111
111
  end
112
112
 
113
- it "should open COSMOS1 log files" do
113
+ it "opens COSMOS1 log files" do
114
114
  pkt = System.telemetry.packet("COSMOS","VERSION").clone
115
115
  filename = File.join(@log_path,'test.bin')
116
116
  File.open(filename,'wb') do |file|
@@ -127,278 +127,278 @@ module Cosmos
127
127
  end
128
128
  @plr.open(filename)
129
129
  pkt1 = @plr.read
130
- pkt1.target_name.should eql 'TGT1'
131
- pkt1.packet_name.should eql 'PKT1'
130
+ expect(pkt1.target_name).to eql 'TGT1'
131
+ expect(pkt1.packet_name).to eql 'PKT1'
132
132
  pkt2 = @plr.read
133
- pkt2.target_name.should eql 'TGT2'
134
- pkt2.packet_name.should eql 'PKT2'
133
+ expect(pkt2.target_name).to eql 'TGT2'
134
+ expect(pkt2.packet_name).to eql 'PKT2'
135
135
  pkt3 = @plr.read
136
- pkt3.target_name.should eql 'TGT3'
137
- pkt3.packet_name.should eql 'PKT3'
136
+ expect(pkt3.target_name).to eql 'TGT3'
137
+ expect(pkt3.packet_name).to eql 'PKT3'
138
138
  @plr.close
139
139
  end
140
140
  end
141
141
 
142
142
  describe "packet_offsets and read_at_offset" do
143
- it "should return packet offsets CTS-20, CTS-22" do
143
+ it "returns packet offsets CTS-20, CTS-22" do
144
144
  packet_offsets = @plr.packet_offsets(Dir[File.join(@log_path,"*cmd.bin")][0])
145
- @plr.log_type.should eql :CMD
146
- @plr.configuration_name.should_not be_nil
147
- @plr.hostname.should eql Socket.gethostname
145
+ expect(@plr.log_type).to eql :CMD
146
+ expect(@plr.configuration_name).not_to be_nil
147
+ expect(@plr.hostname).to eql Socket.gethostname
148
148
  header_length = 8 + 1 + 6 + 1 + 12 + 4
149
- packet_offsets.should eql [PacketLogReader::COSMOS2_HEADER_LENGTH, PacketLogReader::COSMOS2_HEADER_LENGTH + header_length + @cmd_packet_length, PacketLogReader::COSMOS2_HEADER_LENGTH + (header_length + @cmd_packet_length) * 2]
149
+ expect(packet_offsets).to eql [PacketLogReader::COSMOS2_HEADER_LENGTH, PacketLogReader::COSMOS2_HEADER_LENGTH + header_length + @cmd_packet_length, PacketLogReader::COSMOS2_HEADER_LENGTH + (header_length + @cmd_packet_length) * 2]
150
150
 
151
151
  @plr.open(Dir[File.join(@log_path,"*cmd.bin")][0])
152
152
  pkt = @plr.read_at_offset(packet_offsets[1])
153
- pkt.target_name.should eql "COSMOS"
154
- pkt.packet_name.should eql "STARTLOGGING"
155
- pkt.received_time.should eql Time.new(2020,1,31,12,30,16)
153
+ expect(pkt.target_name).to eql "COSMOS"
154
+ expect(pkt.packet_name).to eql "STARTLOGGING"
155
+ expect(pkt.received_time).to eql Time.new(2020,1,31,12,30,16)
156
156
  @plr.close
157
157
  end
158
158
 
159
- it "should return telemetry packet information" do
159
+ it "returns telemetry packet information" do
160
160
  packet_offsets = @plr.packet_offsets(Dir[File.join(@log_path,"*tlm.bin")][0])
161
- @plr.log_type.should eql :TLM
162
- @plr.configuration_name.should_not be_nil
163
- @plr.hostname.should eql Socket.gethostname
161
+ expect(@plr.log_type).to eql :TLM
162
+ expect(@plr.configuration_name).not_to be_nil
163
+ expect(@plr.hostname).to eql Socket.gethostname
164
164
  header_length = 8 + 1 + 6 + 1 + 7 + 4
165
- packet_offsets.should eql [PacketLogReader::COSMOS2_HEADER_LENGTH, PacketLogReader::COSMOS2_HEADER_LENGTH + header_length + @tlm_packet_length, PacketLogReader::COSMOS2_HEADER_LENGTH + (header_length + @tlm_packet_length) * 2]
165
+ expect(packet_offsets).to eql [PacketLogReader::COSMOS2_HEADER_LENGTH, PacketLogReader::COSMOS2_HEADER_LENGTH + header_length + @tlm_packet_length, PacketLogReader::COSMOS2_HEADER_LENGTH + (header_length + @tlm_packet_length) * 2]
166
166
 
167
167
  @plr.open(Dir[File.join(@log_path,"*tlm.bin")][0])
168
168
  pkt = @plr.read_at_offset(packet_offsets[1])
169
- pkt.target_name.should eql "COSMOS"
170
- pkt.packet_name.should eql "VERSION"
171
- pkt.received_time.should eql Time.new(2020,2,1,12,30,16)
169
+ expect(pkt.target_name).to eql "COSMOS"
170
+ expect(pkt.packet_name).to eql "VERSION"
171
+ expect(pkt.received_time).to eql Time.new(2020,2,1,12,30,16)
172
172
  @plr.close
173
173
  end
174
174
  end
175
175
 
176
176
  describe "each" do
177
- it "should return packets" do
177
+ it "returns packets" do
178
178
  index = 0
179
179
  bytes_read = 208
180
180
  @plr.each(Dir[File.join(@log_path,"*cmd.bin")][0]) do |packet|
181
- packet.target_name.should eql @cmd_packets[index].target_name
182
- packet.packet_name.should eql @cmd_packets[index].packet_name
183
- packet.received_time.should eql @cmd_packets[index].received_time
184
- packet.read('LABEL').should eql @cmd_packets[index].read('LABEL')
185
- @plr.bytes_read.should eql bytes_read
181
+ expect(packet.target_name).to eql @cmd_packets[index].target_name
182
+ expect(packet.packet_name).to eql @cmd_packets[index].packet_name
183
+ expect(packet.received_time).to eql @cmd_packets[index].received_time
184
+ expect(packet.read('LABEL')).to eql @cmd_packets[index].read('LABEL')
185
+ expect(@plr.bytes_read).to eql bytes_read
186
186
  bytes_read += 80
187
187
  index += 1
188
188
  end
189
189
  index = 0
190
190
  bytes_read = 276
191
191
  @plr.each(Dir[File.join(@log_path,"*tlm.bin")][0]) do |packet|
192
- packet.target_name.should eql @tlm_packets[index].target_name
193
- packet.packet_name.should eql @tlm_packets[index].packet_name
194
- packet.received_time.should eql @tlm_packets[index].received_time
195
- packet.read('COSMOS').should eql @tlm_packets[index].read('COSMOS')
196
- @plr.bytes_read.should eql bytes_read
192
+ expect(packet.target_name).to eql @tlm_packets[index].target_name
193
+ expect(packet.packet_name).to eql @tlm_packets[index].packet_name
194
+ expect(packet.received_time).to eql @tlm_packets[index].received_time
195
+ expect(packet.read('COSMOS')).to eql @tlm_packets[index].read('COSMOS')
196
+ expect(@plr.bytes_read).to eql bytes_read
197
197
  bytes_read += 148
198
198
  index += 1
199
199
  end
200
200
  end
201
201
 
202
- it "should optionally not identify and define packets" do
202
+ it "optionallies not identify and define packets" do
203
203
  index = 0
204
204
  @plr.each(Dir[File.join(@log_path,"*cmd.bin")][0], false) do |packet|
205
- packet.target_name.should eql @cmd_packets[index].target_name
206
- packet.packet_name.should eql @cmd_packets[index].packet_name
207
- packet.received_time.should eql @cmd_packets[index].received_time
205
+ expect(packet.target_name).to eql @cmd_packets[index].target_name
206
+ expect(packet.packet_name).to eql @cmd_packets[index].packet_name
207
+ expect(packet.received_time).to eql @cmd_packets[index].received_time
208
208
  expect { packet.read('LABEL') }.to raise_error(/does not exist/)
209
209
  index += 1
210
210
  end
211
211
  index = 0
212
212
  @plr.each(Dir[File.join(@log_path,"*tlm.bin")][0], false) do |packet|
213
- packet.target_name.should eql @tlm_packets[index].target_name
214
- packet.packet_name.should eql @tlm_packets[index].packet_name
215
- packet.received_time.should eql @tlm_packets[index].received_time
213
+ expect(packet.target_name).to eql @tlm_packets[index].target_name
214
+ expect(packet.packet_name).to eql @tlm_packets[index].packet_name
215
+ expect(packet.received_time).to eql @tlm_packets[index].received_time
216
216
  expect { packet.read('COSMOS') }.to raise_error(/does not exist/)
217
217
  index += 1
218
218
  end
219
219
  end
220
220
 
221
- it "should return all packets if the start time is before all" do
221
+ it "returns all packets if the start time is before all" do
222
222
  time = Time.new(2000,1,31,12,30,16)
223
223
  index = 0
224
224
  @plr.each(Dir[File.join(@log_path,"*cmd.bin")][0], true, time) do |packet|
225
- packet.target_name.should eql @cmd_packets[index].target_name
226
- packet.packet_name.should eql @cmd_packets[index].packet_name
227
- packet.received_time.should eql @cmd_packets[index].received_time
228
- packet.read('LABEL').should eql @cmd_packets[index].read('LABEL')
225
+ expect(packet.target_name).to eql @cmd_packets[index].target_name
226
+ expect(packet.packet_name).to eql @cmd_packets[index].packet_name
227
+ expect(packet.received_time).to eql @cmd_packets[index].received_time
228
+ expect(packet.read('LABEL')).to eql @cmd_packets[index].read('LABEL')
229
229
  index += 1
230
230
  end
231
- index.should eql 3
231
+ expect(index).to eql 3
232
232
  end
233
233
 
234
- it "should return no packets if the start time is after all" do
234
+ it "returns no packets if the start time is after all" do
235
235
  time = Time.new(2030,2,1,12,30,16)
236
236
  index = 0
237
237
  @plr.each(Dir[File.join(@log_path,"*tlm.bin")][0], true, time) do |packet|
238
238
  index += 1
239
239
  end
240
- index.should eql 0
240
+ expect(index).to eql 0
241
241
  end
242
242
 
243
- it "should return all packets after a start time" do
243
+ it "returns all packets after a start time" do
244
244
  time = Time.new(2020,1,31,12,30,16)
245
245
  index = 0
246
246
  @plr.each(Dir[File.join(@log_path,"*cmd.bin")][0], true, time) do |packet|
247
- packet.target_name.should eql @cmd_packets[index+1].target_name
248
- packet.packet_name.should eql @cmd_packets[index+1].packet_name
249
- packet.received_time.should eql @cmd_packets[index+1].received_time
250
- packet.read('LABEL').should eql @cmd_packets[index+1].read('LABEL')
247
+ expect(packet.target_name).to eql @cmd_packets[index+1].target_name
248
+ expect(packet.packet_name).to eql @cmd_packets[index+1].packet_name
249
+ expect(packet.received_time).to eql @cmd_packets[index+1].received_time
250
+ expect(packet.read('LABEL')).to eql @cmd_packets[index+1].read('LABEL')
251
251
  index += 1
252
252
  end
253
- index.should eql 2
253
+ expect(index).to eql 2
254
254
 
255
255
  time = Time.new(2020,2,1,12,30,16)
256
256
  index = 0
257
257
  @plr.each(Dir[File.join(@log_path,"*tlm.bin")][0], true, time) do |packet|
258
- packet.target_name.should eql @tlm_packets[index+1].target_name
259
- packet.packet_name.should eql @tlm_packets[index+1].packet_name
260
- packet.received_time.should eql @tlm_packets[index+1].received_time
261
- packet.read('COSMOS').should eql @tlm_packets[index+1].read('COSMOS')
258
+ expect(packet.target_name).to eql @tlm_packets[index+1].target_name
259
+ expect(packet.packet_name).to eql @tlm_packets[index+1].packet_name
260
+ expect(packet.received_time).to eql @tlm_packets[index+1].received_time
261
+ expect(packet.read('COSMOS')).to eql @tlm_packets[index+1].read('COSMOS')
262
262
  index += 1
263
263
  end
264
- index.should eql 2
264
+ expect(index).to eql 2
265
265
  end
266
266
 
267
- it "should return no packets if the end time is before all" do
267
+ it "returns no packets if the end time is before all" do
268
268
  time = Time.new(2000,1,31,12,30,16)
269
269
  index = 0
270
270
  @plr.each(Dir[File.join(@log_path,"*tlm.bin")][0], true, nil, time) do |packet|
271
271
  index += 1
272
272
  end
273
- index.should eql 0
273
+ expect(index).to eql 0
274
274
  end
275
275
 
276
- it "should return all packets if the end time is after all" do
276
+ it "returns all packets if the end time is after all" do
277
277
  time = Time.new(2030,2,1,12,30,16)
278
278
  index = 0
279
279
  @plr.each(Dir[File.join(@log_path,"*cmd.bin")][0], true, nil, time) do |packet|
280
- packet.target_name.should eql @cmd_packets[index].target_name
281
- packet.packet_name.should eql @cmd_packets[index].packet_name
282
- packet.received_time.should eql @cmd_packets[index].received_time
283
- packet.read('LABEL').should eql @cmd_packets[index].read('LABEL')
280
+ expect(packet.target_name).to eql @cmd_packets[index].target_name
281
+ expect(packet.packet_name).to eql @cmd_packets[index].packet_name
282
+ expect(packet.received_time).to eql @cmd_packets[index].received_time
283
+ expect(packet.read('LABEL')).to eql @cmd_packets[index].read('LABEL')
284
284
  index += 1
285
285
  end
286
- index.should eql 3
286
+ expect(index).to eql 3
287
287
  end
288
288
 
289
- it "should return all packets before an end time" do
289
+ it "returns all packets before an end time" do
290
290
  time = Time.new(2020,1,31,12,30,16)
291
291
  index = 0
292
292
  @plr.each(Dir[File.join(@log_path,"*cmd.bin")][0], true, nil, time) do |packet|
293
- packet.target_name.should eql @cmd_packets[index].target_name
294
- packet.packet_name.should eql @cmd_packets[index].packet_name
295
- packet.received_time.should eql @cmd_packets[index].received_time
296
- packet.read('LABEL').should eql @cmd_packets[index].read('LABEL')
293
+ expect(packet.target_name).to eql @cmd_packets[index].target_name
294
+ expect(packet.packet_name).to eql @cmd_packets[index].packet_name
295
+ expect(packet.received_time).to eql @cmd_packets[index].received_time
296
+ expect(packet.read('LABEL')).to eql @cmd_packets[index].read('LABEL')
297
297
  index += 1
298
298
  end
299
- index.should eql 2
299
+ expect(index).to eql 2
300
300
 
301
301
  time = Time.new(2020,2,1,12,30,16)
302
302
  index = 0
303
303
  @plr.each(Dir[File.join(@log_path,"*tlm.bin")][0], true, nil, time) do |packet|
304
- packet.target_name.should eql @tlm_packets[index].target_name
305
- packet.packet_name.should eql @tlm_packets[index].packet_name
306
- packet.received_time.should eql @tlm_packets[index].received_time
307
- packet.read('COSMOS').should eql @tlm_packets[index].read('COSMOS')
304
+ expect(packet.target_name).to eql @tlm_packets[index].target_name
305
+ expect(packet.packet_name).to eql @tlm_packets[index].packet_name
306
+ expect(packet.received_time).to eql @tlm_packets[index].received_time
307
+ expect(packet.read('COSMOS')).to eql @tlm_packets[index].read('COSMOS')
308
308
  index += 1
309
309
  end
310
- index.should eql 2
310
+ expect(index).to eql 2
311
311
  end
312
312
  end
313
313
 
314
314
  describe "first" do
315
- it "should return the first command packet and retain the file position" do
315
+ it "returns the first command packet and retain the file position" do
316
316
  @plr.open(Dir[File.join(@log_path,"*cmd.bin")][0])
317
317
  pkt1 = @plr.read
318
- pkt1.target_name.should eql @cmd_packets[0].target_name
319
- pkt1.packet_name.should eql @cmd_packets[0].packet_name
320
- pkt1.received_time.should eql @cmd_packets[0].received_time
321
- pkt1.read('LABEL').should eql @cmd_packets[0].read('LABEL')
318
+ expect(pkt1.target_name).to eql @cmd_packets[0].target_name
319
+ expect(pkt1.packet_name).to eql @cmd_packets[0].packet_name
320
+ expect(pkt1.received_time).to eql @cmd_packets[0].received_time
321
+ expect(pkt1.read('LABEL')).to eql @cmd_packets[0].read('LABEL')
322
322
 
323
323
  first = @plr.first
324
- first.target_name.should eql @cmd_packets[0].target_name
325
- first.packet_name.should eql @cmd_packets[0].packet_name
326
- first.received_time.should eql @cmd_packets[0].received_time
327
- first.read('LABEL').should eql @cmd_packets[0].read('LABEL')
324
+ expect(first.target_name).to eql @cmd_packets[0].target_name
325
+ expect(first.packet_name).to eql @cmd_packets[0].packet_name
326
+ expect(first.received_time).to eql @cmd_packets[0].received_time
327
+ expect(first.read('LABEL')).to eql @cmd_packets[0].read('LABEL')
328
328
 
329
329
  pkt2 = @plr.read
330
- pkt2.target_name.should eql @cmd_packets[1].target_name
331
- pkt2.packet_name.should eql @cmd_packets[1].packet_name
332
- pkt2.received_time.should eql @cmd_packets[1].received_time
333
- pkt2.read('LABEL').should eql @cmd_packets[1].read('LABEL')
330
+ expect(pkt2.target_name).to eql @cmd_packets[1].target_name
331
+ expect(pkt2.packet_name).to eql @cmd_packets[1].packet_name
332
+ expect(pkt2.received_time).to eql @cmd_packets[1].received_time
333
+ expect(pkt2.read('LABEL')).to eql @cmd_packets[1].read('LABEL')
334
334
  @plr.close
335
335
  end
336
336
 
337
- it "should return the first telemetry packet and retain the file position" do
337
+ it "returns the first telemetry packet and retain the file position" do
338
338
  @plr.open(Dir[File.join(@log_path,"*tlm.bin")][0])
339
339
  pkt1 = @plr.read
340
- pkt1.target_name.should eql @tlm_packets[0].target_name
341
- pkt1.packet_name.should eql @tlm_packets[0].packet_name
342
- pkt1.received_time.should eql @tlm_packets[0].received_time
343
- pkt1.read('COSMOS').should eql @tlm_packets[0].read('COSMOS')
340
+ expect(pkt1.target_name).to eql @tlm_packets[0].target_name
341
+ expect(pkt1.packet_name).to eql @tlm_packets[0].packet_name
342
+ expect(pkt1.received_time).to eql @tlm_packets[0].received_time
343
+ expect(pkt1.read('COSMOS')).to eql @tlm_packets[0].read('COSMOS')
344
344
 
345
345
  first = @plr.first
346
- first.target_name.should eql @tlm_packets[0].target_name
347
- first.packet_name.should eql @tlm_packets[0].packet_name
348
- first.received_time.should eql @tlm_packets[0].received_time
349
- first.read('COSMOS').should eql @tlm_packets[0].read('COSMOS')
346
+ expect(first.target_name).to eql @tlm_packets[0].target_name
347
+ expect(first.packet_name).to eql @tlm_packets[0].packet_name
348
+ expect(first.received_time).to eql @tlm_packets[0].received_time
349
+ expect(first.read('COSMOS')).to eql @tlm_packets[0].read('COSMOS')
350
350
 
351
351
  pkt2 = @plr.read
352
- pkt2.target_name.should eql @tlm_packets[1].target_name
353
- pkt2.packet_name.should eql @tlm_packets[1].packet_name
354
- pkt2.received_time.should eql @tlm_packets[1].received_time
355
- pkt2.read('COSMOS').should eql @tlm_packets[1].read('COSMOS')
352
+ expect(pkt2.target_name).to eql @tlm_packets[1].target_name
353
+ expect(pkt2.packet_name).to eql @tlm_packets[1].packet_name
354
+ expect(pkt2.received_time).to eql @tlm_packets[1].received_time
355
+ expect(pkt2.read('COSMOS')).to eql @tlm_packets[1].read('COSMOS')
356
356
  @plr.close
357
357
  end
358
358
  end
359
359
 
360
360
  describe "last" do
361
- it "should return the last command packet and retain the file position" do
361
+ it "returns the last command packet and retain the file position" do
362
362
  @plr.open(Dir[File.join(@log_path,"*cmd.bin")][0])
363
363
  pkt1 = @plr.read
364
- pkt1.target_name.should eql @cmd_packets[0].target_name
365
- pkt1.packet_name.should eql @cmd_packets[0].packet_name
366
- pkt1.received_time.should eql @cmd_packets[0].received_time
367
- pkt1.read('LABEL').should eql @cmd_packets[0].read('LABEL')
364
+ expect(pkt1.target_name).to eql @cmd_packets[0].target_name
365
+ expect(pkt1.packet_name).to eql @cmd_packets[0].packet_name
366
+ expect(pkt1.received_time).to eql @cmd_packets[0].received_time
367
+ expect(pkt1.read('LABEL')).to eql @cmd_packets[0].read('LABEL')
368
368
 
369
369
  last = @plr.last
370
- last.target_name.should eql @cmd_packets[2].target_name
371
- last.packet_name.should eql @cmd_packets[2].packet_name
372
- last.received_time.should eql @cmd_packets[2].received_time
373
- last.read('LABEL').should eql @cmd_packets[2].read('LABEL')
370
+ expect(last.target_name).to eql @cmd_packets[2].target_name
371
+ expect(last.packet_name).to eql @cmd_packets[2].packet_name
372
+ expect(last.received_time).to eql @cmd_packets[2].received_time
373
+ expect(last.read('LABEL')).to eql @cmd_packets[2].read('LABEL')
374
374
 
375
375
  pkt2 = @plr.read
376
- pkt2.target_name.should eql @cmd_packets[1].target_name
377
- pkt2.packet_name.should eql @cmd_packets[1].packet_name
378
- pkt2.received_time.should eql @cmd_packets[1].received_time
379
- pkt2.read('LABEL').should eql @cmd_packets[1].read('LABEL')
376
+ expect(pkt2.target_name).to eql @cmd_packets[1].target_name
377
+ expect(pkt2.packet_name).to eql @cmd_packets[1].packet_name
378
+ expect(pkt2.received_time).to eql @cmd_packets[1].received_time
379
+ expect(pkt2.read('LABEL')).to eql @cmd_packets[1].read('LABEL')
380
380
  @plr.close
381
381
  end
382
382
 
383
- it "should return the last telemetry packet and retain the file position" do
383
+ it "returns the last telemetry packet and retain the file position" do
384
384
  @plr.open(Dir[File.join(@log_path,"*tlm.bin")][0])
385
385
  pkt1 = @plr.read
386
- pkt1.target_name.should eql @tlm_packets[0].target_name
387
- pkt1.packet_name.should eql @tlm_packets[0].packet_name
388
- pkt1.received_time.should eql @tlm_packets[0].received_time
389
- pkt1.read('COSMOS').should eql @tlm_packets[0].read('COSMOS')
386
+ expect(pkt1.target_name).to eql @tlm_packets[0].target_name
387
+ expect(pkt1.packet_name).to eql @tlm_packets[0].packet_name
388
+ expect(pkt1.received_time).to eql @tlm_packets[0].received_time
389
+ expect(pkt1.read('COSMOS')).to eql @tlm_packets[0].read('COSMOS')
390
390
 
391
391
  last = @plr.last
392
- last.target_name.should eql @tlm_packets[2].target_name
393
- last.packet_name.should eql @tlm_packets[2].packet_name
394
- last.received_time.should eql @tlm_packets[2].received_time
395
- last.read('COSMOS').should eql @tlm_packets[2].read('COSMOS')
392
+ expect(last.target_name).to eql @tlm_packets[2].target_name
393
+ expect(last.packet_name).to eql @tlm_packets[2].packet_name
394
+ expect(last.received_time).to eql @tlm_packets[2].received_time
395
+ expect(last.read('COSMOS')).to eql @tlm_packets[2].read('COSMOS')
396
396
 
397
397
  pkt2 = @plr.read
398
- pkt2.target_name.should eql @tlm_packets[1].target_name
399
- pkt2.packet_name.should eql @tlm_packets[1].packet_name
400
- pkt2.received_time.should eql @tlm_packets[1].received_time
401
- pkt2.read('COSMOS').should eql @tlm_packets[1].read('COSMOS')
398
+ expect(pkt2.target_name).to eql @tlm_packets[1].target_name
399
+ expect(pkt2.packet_name).to eql @tlm_packets[1].packet_name
400
+ expect(pkt2.received_time).to eql @tlm_packets[1].received_time
401
+ expect(pkt2.read('COSMOS')).to eql @tlm_packets[1].read('COSMOS')
402
402
  @plr.close
403
403
  end
404
404
  end