cosmos 3.2.1 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
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