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
@@ -0,0 +1,29 @@
1
+ cmd("INST ABORT")
2
+ cmd_no_range_check("INST COLLECT with TYPE NORMAL, TEMP 100")
3
+ cmd_no_hazardous_check("INST CLEAR")
4
+ cmd_no_checks("INST COLLECT with TYPE SPECIAL, TEMP 100.0")
5
+ cmd_raw("INST ABORT")
6
+ cmd_raw_no_range_check("INST COLLECT with TYPE 0, TEMP 100")
7
+ cmd_raw_no_hazardous_check("INST CLEAR")
8
+ cmd_raw_no_checks("INST COLLECT with TYPE 1, TEMP 100.0")
9
+ check("INST ADCS BIASX == 100")
10
+ check_formatted("INST ADCS BIASX == 100")
11
+ check_with_units("INST ADCS BIASX == 100")
12
+ check_raw("INST ADCS BIASX == 100")
13
+ check_tolerance("INST ADCS BIASX", 5, 0.5)
14
+ check_tolerance_raw("INST ADCS BIASX", 5, 0.5)
15
+ check_expression("true == false")
16
+ wait
17
+ wait 5
18
+ wait("INST ADCS BIASX > 100", 5)
19
+ wait_raw("INST ADCS BIASX > 100", 5)
20
+ wait_tolerance("INST ADCS BIASX", 5, 0.5, 5)
21
+ wait_tolerance_raw("INST ADCS BIASX", 5, 0.5, 5)
22
+ wait_expression("true == false", 5)
23
+ wait_packet("INST","ADCS", 2, 5)
24
+ wait_check("INST ADCS BIASX == 100", 5)
25
+ wait_check_raw("INST ADCS BIASX == 100", 5)
26
+ wait_check_tolerance("INST ADCS BIASX", 5, 0.5, 5)
27
+ wait_check_tolerance_raw("INST ADCS BIASX", 5, 0.5, 5)
28
+ wait_check_expression("true == false", 5)
29
+ wait_check_packet("INST","ADCS", 2, 5)
@@ -0,0 +1,182 @@
1
+ load 'cosmos/tools/test_runner/test.rb'
2
+
3
+ # This Test demonstrates the usage of the setup and teardown methods
4
+ # as well as defining two tests. Notice that the setup and teardown
5
+ # methods must be called exactly that. Other test methods must start
6
+ # with 'test_' to be picked up by TestRunner.
7
+ class ExampleTest < Cosmos::Test
8
+ # Setup the test case by doing stuff
9
+ def setup
10
+ puts "Running ExampleTest setup"
11
+ wait(2)
12
+ end
13
+
14
+ # test_1 verifies requirement 1
15
+ def test_case_with_long_name_1
16
+ puts "Running test_1"
17
+ Cosmos::Test.puts "This test verifies requirement 1"
18
+ wait(2)
19
+ end
20
+
21
+ # test_2 verifies requirement 2
22
+ def test_2
23
+ puts "Running test_2"
24
+ Cosmos::Test.puts "This test verifies requirement 2"
25
+ if $manual
26
+ answer = ask "Are you sure?"
27
+ else
28
+ answer = 'y'
29
+ end
30
+ wait(2)
31
+ end
32
+
33
+ def test_3xx
34
+ wait 1
35
+ end
36
+
37
+ # Teardown the test case by doing other stuff
38
+ def teardown
39
+ puts "Running ExampleTest teardown"
40
+ wait(2)
41
+ end
42
+
43
+ def helper_method
44
+
45
+ end
46
+ end
47
+
48
+ # This is an ExampleTestSuite which only runs ExampleTest
49
+ class ExampleTestSuite < Cosmos::TestSuite
50
+ def initialize
51
+ super()
52
+ add_test('ExampleTest')
53
+ end
54
+ end
55
+
56
+ # ExampleTest2 runs test_3 and test_4.
57
+ class ExampleTest2 < Cosmos::Test
58
+ def setup
59
+ puts "Running ExampleTest2 setup"
60
+ wait(2)
61
+ end
62
+
63
+ # ExampleTest2::test_2 is different from ExampleTest::test_2
64
+ def test_2
65
+ puts "another test_1 "
66
+ raise "BAD"
67
+ puts "continuing past the exception"
68
+ wait 2
69
+ end
70
+
71
+ def test_3
72
+ puts "Running test_3"
73
+ raise SkipTestCase, "test_3 unimplemented"
74
+ wait(2)
75
+ end
76
+
77
+ def test_4
78
+ puts "Running test_4"
79
+ if non_existent
80
+ puts "can't get here"
81
+ else
82
+ puts "can't get here either"
83
+ end
84
+ wait(2)
85
+ end
86
+
87
+ def teardown
88
+ puts "Running ExampleTest2 teardown"
89
+ wait(2)
90
+ end
91
+ end
92
+
93
+ class ExampleTestSuite2 < Cosmos::TestSuite
94
+ def initialize
95
+ super()
96
+ add_test('ExampleTest2')
97
+ end
98
+ end
99
+
100
+ class ExampleTestSuite3 < Cosmos::TestSuite
101
+ # This setup applies to the entire test suite
102
+ def setup
103
+ puts "Running ExampleTestSuite3 setup"
104
+ wait(2)
105
+ end
106
+
107
+ def initialize
108
+ super()
109
+ add_test_setup('ExampleTest')
110
+ # This line raises a runtime error because ExampleTest3 has no setup method
111
+ #add_test_setup('ExampleTest3')
112
+ # This line raises a runtime error because ExampleTest3 has no test_50 method
113
+ #add_test_case('ExampleTest3', 'test_50')
114
+ add_test('ExampleTest')
115
+ add_test('ExampleTest2')
116
+ add_test_teardown('ExampleTest')
117
+ end
118
+
119
+ # This teardown applies to the entire test suite
120
+ def teardown
121
+ puts "Running ExampleTestSuite3 teardown"
122
+ wait(2)
123
+ end
124
+ end
125
+
126
+ class ExampleTest3 < Cosmos::Test
127
+ def test_5
128
+ puts "Running test_5"
129
+ puts "\000\001\002"
130
+ check_expression("false == true")
131
+ wait(2)
132
+ end
133
+
134
+ def test_6
135
+ puts "Running test_6"
136
+ wait(2)
137
+ end
138
+ end
139
+
140
+ class ExampleTestSuite4 < Cosmos::TestSuite
141
+ # This setup applies to the entire test suite
142
+ def setup
143
+ puts "Running ExampleTestSuite4 setup"
144
+ wait(2)
145
+ end
146
+
147
+ def initialize
148
+ super()
149
+ add_test_setup('ExampleTest')
150
+ add_test_case('ExampleTest', 'test_2')
151
+ add_test_case('ExampleTest', 'test_3xx')
152
+ add_test_teardown('ExampleTest')
153
+ end
154
+
155
+ # This teardown applies to the entire test suite
156
+ def teardown
157
+ puts "Running ExampleTestSuite4 teardown"
158
+ wait(2)
159
+ end
160
+ end
161
+
162
+ class ExampleTestSuite5 < Cosmos::TestSuite
163
+ def initialize
164
+ super()
165
+ add_test_teardown('ExampleTest')
166
+ end
167
+
168
+ # This teardown applies to the entire test suite
169
+ def teardown
170
+ puts "Running ExampleTestSuite5 teardown"
171
+ wait(2)
172
+ end
173
+ end
174
+
175
+ class EmptyTestSuite < Cosmos::TestSuite
176
+ def initialize
177
+ super()
178
+ end
179
+ end
180
+
181
+ class EmptyTest < Cosmos::Test
182
+ end
@@ -0,0 +1,8 @@
1
+ load 'cosmos/gui/line_graph/line_graph_script.rb'
2
+
3
+ x = [0.0, 1.0, 2.0, 3.0, 4.0]
4
+ y1 = [10.5, 9.6, 7.7, 6.8, 7.4]
5
+ y2 = [10.2, 9.1, 7.3, 6.5, 7.8]
6
+
7
+ plot(x, y1)
8
+ plot(x, y1, y2)
@@ -0,0 +1,3 @@
1
+ loop do
2
+ (9970..9999).each {|target| cmd("#{target} START") }
3
+ end
@@ -0,0 +1,3 @@
1
+ load_utility 'example_test.rb'
2
+
3
+ ExampleTest3.new.run { |result| puts "#{result.test}:#{result.test_case}:#{result.result}" }
@@ -0,0 +1,51 @@
1
+ puts "1"
2
+ puts "2"
3
+ puts "3"
4
+ puts "4"
5
+ puts "5"
6
+ puts "6"
7
+ puts "7"
8
+ puts "8"
9
+ puts "9"
10
+ puts "10"
11
+
12
+ play_wav_file(File.join(Cosmos::USERPATH,'config','data','tada.wav'))
13
+ value = ask('Enter the value')
14
+
15
+ cmd("INST CLEAR")
16
+
17
+ 5.times do |index|
18
+ puts index
19
+ end
20
+
21
+ if false
22
+ puts false
23
+ else
24
+ puts true
25
+ end
26
+
27
+ wait_expression('false', 10)
28
+ wait(10)
29
+
30
+ a = [10,
31
+ 11,
32
+ 12,
33
+ 13,
34
+ 14,
35
+ 15]
36
+
37
+ { :X1 => 1,
38
+ :X2 => 2
39
+ }.each {|x, y| puts x}
40
+
41
+
42
+ puts "brown cow"
43
+ yep
44
+ puts "howdy"
45
+
46
+ if (yep)
47
+ puts "uh oh"
48
+ end
49
+
50
+ puts "done"
51
+
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ascii-8bit
3
+
4
+ # Copyright 2014 Ball Aerospace & Technologies Corp.
5
+ # All Rights Reserved.
6
+ #
7
+ # This program is free software; you can modify and/or redistribute it
8
+ # under the terms of the GNU General Public License
9
+ # as published by the Free Software Foundation; version 3 with
10
+ # attribution addendums as found in the LICENSE.txt
11
+
12
+ require 'cosmos'
13
+ require 'cosmos/tools/cmd_extractor/cmd_extractor'
14
+ Cosmos::CmdExtractor.run
@@ -0,0 +1,59 @@
1
+ @ECHO OFF
2
+
3
+ SET RUBYEXE=rubyw.exe
4
+
5
+ SET "DESTINATION_DIR=%~dp0..\..\"
6
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby" GOTO DIREND
7
+ IF "%COSMOS_DIR%" == "" GOTO DIREND
8
+ SET "DESTINATION_DIR=%COSMOS_DIR%\"
9
+ :DIREND
10
+
11
+ IF NOT EXIST "%DESTINATION_DIR%Vendor\Ruby" GOTO SYSTEMRUBY
12
+
13
+ REM Save some variables we're going to change so we can restore them later
14
+ SET "COSMOS_GEM_HOME_SAVED=%GEM_HOME%"
15
+ SET "COSMOS_GEM_PATH_SAVED=%GEM_PATH%"
16
+ SET "COSMOS_GEMRC_SAVED=%GEMRC%"
17
+ SET "COSMOS_PATH_SAVED=%PATH%"
18
+ SET "COSMOS_RUBYOPT_SAVED=%RUBYOPT%"
19
+ SET "COSMOS_RUBYLIB_SAVED=%RUBYLIB%"
20
+ SET "COSMOS_RI_DEVKIT_SAVED=%RI_DEVKIT%"
21
+
22
+ REM Set environmental variables
23
+
24
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.8" SET "GEM_HOME=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.8"
25
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.9.1" SET "GEM_HOME=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.9.1"
26
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\2.0.0" SET "GEM_HOME=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\2.0.0"
27
+ SET "GEM_PATH=%GEM_HOME%"
28
+ SET "GEMRC=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\etc\gemrc"
29
+
30
+ REM Prepend embedded bin to PATH so we prefer those binaries
31
+ SET "RI_DEVKIT=%DESTINATION_DIR%Vendor\Devkit\"
32
+ SET "PATH=%DESTINATION_DIR%Vendor\Ruby\bin;%RI_DEVKIT%bin;%RI_DEVKIT%mingw\bin;%DESTINATION_DIR%Vendor\wkhtmltopdf;%PATH%"
33
+
34
+ REM Remove RUBYOPT and RUBYLIB, which can cause serious problems.
35
+ SET RUBYOPT=
36
+ SET RUBYLIB=
37
+
38
+ REM Run tool using Installer Ruby
39
+ ECHO Starting tool using installer ruby in %DESTINATION_DIR%
40
+ START "COSMOS" "%DESTINATION_DIR%Vendor\Ruby\bin\%RUBYEXE%" "%~dp0%~n0" %*
41
+
42
+ REM Restore some environmental variables we changed
43
+ SET "GEM_HOME=%COSMOS_GEM_HOME_SAVED%"
44
+ SET "GEM_PATH=%COSMOS_GEM_PATH_SAVED%"
45
+ SET "GEMRC=%COSMOS_GEMRC_SAVED%"
46
+ SET "PATH=%COSMOS_PATH_SAVED%"
47
+ SET "RUBYOPT=%COSMOS_RUBYOPT_SAVED%"
48
+ SET "RUBYLIB=%COSMOS_RUBYLIB_SAVED%"
49
+ SET "RI_DEVKIT=%COSMOS_RI_DEVKIT_SAVED%"
50
+
51
+ GOTO END
52
+ :SYSTEMRUBY
53
+
54
+ REM Use System Ruby and Environment
55
+ ECHO Starting tool using system ruby and environment
56
+ START "COSMOS" "%RUBYEXE%" "%~dp0%~n0" %*
57
+
58
+ GOTO END
59
+ :END
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ascii-8bit
3
+
4
+ # Copyright 2014 Ball Aerospace & Technologies Corp.
5
+ # All Rights Reserved.
6
+ #
7
+ # This program is free software; you can modify and/or redistribute it
8
+ # under the terms of the GNU General Public License
9
+ # as published by the Free Software Foundation; version 3 with
10
+ # attribution addendums as found in the LICENSE.txt
11
+
12
+ require 'cosmos'
13
+ require 'cosmos/tools/cmd_sender/cmd_sender'
14
+ Cosmos::CmdSender.run
@@ -0,0 +1,59 @@
1
+ @ECHO OFF
2
+
3
+ SET RUBYEXE=rubyw.exe
4
+
5
+ SET "DESTINATION_DIR=%~dp0..\..\"
6
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby" GOTO DIREND
7
+ IF "%COSMOS_DIR%" == "" GOTO DIREND
8
+ SET "DESTINATION_DIR=%COSMOS_DIR%\"
9
+ :DIREND
10
+
11
+ IF NOT EXIST "%DESTINATION_DIR%Vendor\Ruby" GOTO SYSTEMRUBY
12
+
13
+ REM Save some variables we're going to change so we can restore them later
14
+ SET "COSMOS_GEM_HOME_SAVED=%GEM_HOME%"
15
+ SET "COSMOS_GEM_PATH_SAVED=%GEM_PATH%"
16
+ SET "COSMOS_GEMRC_SAVED=%GEMRC%"
17
+ SET "COSMOS_PATH_SAVED=%PATH%"
18
+ SET "COSMOS_RUBYOPT_SAVED=%RUBYOPT%"
19
+ SET "COSMOS_RUBYLIB_SAVED=%RUBYLIB%"
20
+ SET "COSMOS_RI_DEVKIT_SAVED=%RI_DEVKIT%"
21
+
22
+ REM Set environmental variables
23
+
24
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.8" SET "GEM_HOME=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.8"
25
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.9.1" SET "GEM_HOME=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\1.9.1"
26
+ IF EXIST "%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\2.0.0" SET "GEM_HOME=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\2.0.0"
27
+ SET "GEM_PATH=%GEM_HOME%"
28
+ SET "GEMRC=%DESTINATION_DIR%Vendor\Ruby\lib\ruby\gems\etc\gemrc"
29
+
30
+ REM Prepend embedded bin to PATH so we prefer those binaries
31
+ SET "RI_DEVKIT=%DESTINATION_DIR%Vendor\Devkit\"
32
+ SET "PATH=%DESTINATION_DIR%Vendor\Ruby\bin;%RI_DEVKIT%bin;%RI_DEVKIT%mingw\bin;%DESTINATION_DIR%Vendor\wkhtmltopdf;%PATH%"
33
+
34
+ REM Remove RUBYOPT and RUBYLIB, which can cause serious problems.
35
+ SET RUBYOPT=
36
+ SET RUBYLIB=
37
+
38
+ REM Run tool using Installer Ruby
39
+ ECHO Starting tool using installer ruby in %DESTINATION_DIR%
40
+ START "COSMOS" "%DESTINATION_DIR%Vendor\Ruby\bin\%RUBYEXE%" "%~dp0%~n0" %*
41
+
42
+ REM Restore some environmental variables we changed
43
+ SET "GEM_HOME=%COSMOS_GEM_HOME_SAVED%"
44
+ SET "GEM_PATH=%COSMOS_GEM_PATH_SAVED%"
45
+ SET "GEMRC=%COSMOS_GEMRC_SAVED%"
46
+ SET "PATH=%COSMOS_PATH_SAVED%"
47
+ SET "RUBYOPT=%COSMOS_RUBYOPT_SAVED%"
48
+ SET "RUBYLIB=%COSMOS_RUBYLIB_SAVED%"
49
+ SET "RI_DEVKIT=%COSMOS_RI_DEVKIT_SAVED%"
50
+
51
+ GOTO END
52
+ :SYSTEMRUBY
53
+
54
+ REM Use System Ruby and Environment
55
+ ECHO Starting tool using system ruby and environment
56
+ START "COSMOS" "%RUBYEXE%" "%~dp0%~n0" %*
57
+
58
+ GOTO END
59
+ :END
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ascii-8bit
3
+
4
+ # Copyright 2014 Ball Aerospace & Technologies Corp.
5
+ # All Rights Reserved.
6
+ #
7
+ # This program is free software; you can modify and/or redistribute it
8
+ # under the terms of the GNU General Public License
9
+ # as published by the Free Software Foundation; version 3 with
10
+ # attribution addendums as found in the LICENSE.txt
11
+
12
+ require 'cosmos'
13
+ require 'cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui'
14
+
15
+ Cosmos::CmdTlmServerGui.run
16
+