cosmos 4.4.1 → 4.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/build_v4.yml +33 -0
- data/Dockerfile +10 -4
- data/Gemfile +1 -1
- data/Manifest.txt +26 -2
- data/README.md +4 -1
- data/Rakefile +33 -27
- data/autohotkey/tools/cmd_extractor.ahk +11 -9
- data/autohotkey/tools/cmd_sender.ahk +1 -1
- data/autohotkey/tools/cmd_sequence.ahk +1 -1
- data/autohotkey/tools/data_viewer.ahk +1 -1
- data/autohotkey/tools/limits_monitor.ahk +1 -1
- data/autohotkey/tools/packet_viewer.ahk +1 -1
- data/autohotkey/tools/script_runner.ahk +1 -1
- data/autohotkey/tools/test_runner2.ahk +1 -1
- data/autohotkey/tools/tlm_grapher.ahk +1 -1
- data/autohotkey/tools/tlm_grapher3.ahk +1 -1
- data/autohotkey/tools/tlm_viewer.ahk +1 -1
- data/autohotkey/tools/tlm_viewer2.ahk +1 -1
- data/autohotkey/tools/tlm_viewer5.ahk +1 -1
- data/bin/rubysloc +73 -28
- data/bin/xtce_converter +1 -1
- data/cosmos.gemspec +6 -12
- data/data/config/interface_modifiers.yaml +3 -2
- data/data/config/system.yaml +81 -24
- data/data/crc.txt +435 -435
- data/demo/Rakefile +4 -4
- data/demo/config/data/crc.txt +250 -250
- data/demo/config/system/system.txt +15 -7
- data/demo/config/system/system2.txt +15 -7
- data/demo/config/system/system_alt_ports.txt +15 -7
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -1
- data/demo/config/tools/handbook_creator/default_toc.xsl +59 -59
- data/ext/cosmos/ext/buffered_file/buffered_file.c +2 -2
- data/ext/cosmos/ext/config_parser/config_parser.c +1 -2
- data/ext/cosmos/ext/line_graph/line_graph.c +53 -94
- data/ext/cosmos/ext/packet/packet.c +0 -6
- data/ext/cosmos/ext/platform/platform.c +56 -21
- data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +4 -8
- data/ext/cosmos/ext/structure/structure.c +12 -0
- data/extensions/vscode/.gitignore +4 -0
- data/extensions/vscode/.vscode/launch.json +32 -0
- data/extensions/vscode/.vscode/settings.json +13 -0
- data/extensions/vscode/.vscode/tasks.json +79 -0
- data/extensions/vscode/License.txt +879 -0
- data/extensions/vscode/README.md +9 -0
- data/extensions/vscode/client/License.txt +879 -0
- data/extensions/vscode/client/README.md +39 -0
- data/extensions/vscode/client/cosmos.configuration.json +23 -0
- data/extensions/vscode/client/images/icon.png +0 -0
- data/extensions/vscode/client/package-lock.json +414 -0
- data/extensions/vscode/client/package.json +105 -0
- data/extensions/vscode/client/src/extension.ts +132 -0
- data/extensions/vscode/client/src/screen_preview.rb +25 -0
- data/extensions/vscode/client/syntaxes/cosmos.tmLanguage.json +219 -0
- data/extensions/vscode/client/tsconfig.json +17 -0
- data/extensions/vscode/package-lock.json +26 -0
- data/extensions/vscode/package.json +35 -0
- data/extensions/vscode/server/License.txt +879 -0
- data/extensions/vscode/server/package-lock.json +236 -0
- data/extensions/vscode/server/package.json +29 -0
- data/extensions/vscode/server/src/server.ts +59 -0
- data/extensions/vscode/server/tsconfig.json +16 -0
- data/install/Rakefile +4 -4
- data/install/config/data/crc.txt +145 -145
- data/install/config/system/system.txt +15 -7
- data/install/config/tools/handbook_creator/default_toc.xsl +59 -59
- data/lib/cosmos/config/config_parser.rb +2 -10
- data/lib/cosmos/core_ext/class.rb +10 -0
- data/lib/cosmos/core_ext/time.rb +5 -3
- data/lib/cosmos/dart/examples/dart_decom_client.rb +1 -1
- data/lib/cosmos/dart/lib/dart_common.rb +3 -3
- data/lib/cosmos/dart/lib/dart_decommutator.rb +4 -4
- data/lib/cosmos/dart/processes/dart_decom_server.rb +1 -1
- data/lib/cosmos/dart/processes/dart_master.rb +1 -1
- data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +2 -2
- data/lib/cosmos/gui/qt.rb +10 -10
- data/lib/cosmos/gui/qt_tool.rb +17 -12
- data/lib/cosmos/gui/text/completion_text_edit.rb +2 -0
- data/lib/cosmos/gui/widgets/dart_meta_frame.rb +1 -1
- data/lib/cosmos/interfaces/dart_status_interface.rb +1 -1
- data/lib/cosmos/interfaces/linc_interface.rb +3 -3
- data/lib/cosmos/interfaces/protocols/burst_protocol.rb +1 -1
- data/lib/cosmos/interfaces/protocols/crc_protocol.rb +1 -1
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +3 -3
- data/lib/cosmos/interfaces/serial_interface.rb +7 -1
- data/lib/cosmos/interfaces/stream_interface.rb +1 -1
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +16 -16
- data/lib/cosmos/io/io_multiplexer.rb +6 -2
- data/lib/cosmos/io/json_drb.rb +3 -11
- data/lib/cosmos/io/json_drb_object.rb +7 -2
- data/lib/cosmos/io/json_drb_rack.rb +25 -5
- data/lib/cosmos/io/json_rpc.rb +1 -1
- data/lib/cosmos/io/posix_serial_driver.rb +60 -22
- data/lib/cosmos/io/serial_driver.rb +11 -8
- data/lib/cosmos/io/win32_serial_driver.rb +8 -1
- data/lib/cosmos/packets/packet.rb +8 -8
- data/lib/cosmos/packets/packet_config.rb +1 -1
- data/lib/cosmos/packets/packet_item_limits.rb +2 -14
- data/lib/cosmos/packets/parsers/xtce_converter.rb +10 -10
- data/lib/cosmos/packets/parsers/xtce_parser.rb +3 -0
- data/lib/cosmos/packets/structure.rb +18 -5
- data/lib/cosmos/packets/structure_item.rb +4 -21
- data/lib/cosmos/script/api_shared.rb +18 -1
- data/lib/cosmos/script/extract.rb +1 -1
- data/lib/cosmos/script/script.rb +4 -11
- data/lib/cosmos/streams/serial_stream.rb +11 -6
- data/lib/cosmos/system/system.rb +47 -13
- data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +15 -0
- data/lib/cosmos/tools/cmd_sender/cmd_params.rb +25 -3
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +7 -0
- data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +0 -5
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +10 -8
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +2 -2
- data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -1
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +29 -26
- data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +1 -1
- data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +5 -0
- data/lib/cosmos/tools/config_editor/config_editor.rb +1 -1
- data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +1 -1
- data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +1 -1
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +5 -2
- data/lib/cosmos/tools/test_runner/test.rb +1 -1
- data/lib/cosmos/tools/test_runner/test_runner.rb +4 -4
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +3 -3
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -4
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +3 -3
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +1 -1
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +2 -2
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +2 -0
- data/lib/cosmos/top_level.rb +1 -1
- data/lib/cosmos/utilities/simulated_target.rb +1 -1
- data/lib/cosmos/version.rb +5 -5
- data/make_gems.sh +1 -1
- data/spec/core_ext/class_spec.rb +54 -0
- data/spec/core_ext/time_spec.rb +4 -0
- data/spec/gui/qt_spec.rb +1 -1
- data/spec/gui/utilities/script_module_gui_spec.rb +1 -1
- data/spec/interfaces/linc_interface_spec.rb +1 -1
- data/spec/interfaces/serial_interface_spec.rb +1 -5
- data/spec/io/json_drb_rack_spec.rb +166 -0
- data/spec/io/json_rpc_spec.rb +4 -5
- data/spec/io/posix_serial_driver_spec.rb +87 -0
- data/spec/io/win32_serial_driver_spec.rb +17 -1
- data/spec/packet_logs/packet_log_reader_spec.rb +34 -35
- data/spec/packets/packet_item_limits_spec.rb +6 -33
- data/spec/packets/structure_item_spec.rb +3 -21
- data/spec/script/extract_spec.rb +4 -1
- data/spec/system/system_spec.rb +109 -1
- data/spec/tools/cmd_tlm_server/api_spec.rb +12 -12
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +2 -2
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +4 -3
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +2 -3
- data/spec/top_level/top_level_spec.rb +2 -2
- data/spec/utilities/logger_spec.rb +3 -3
- data/test/performance/Rakefile +4 -4
- data/test/performance/config/data/crc.txt +67 -48
- metadata +59 -9
- data/.coveralls.yml +0 -1
- data/.travis.yml +0 -16
@@ -84,25 +84,11 @@ module Cosmos
|
|
84
84
|
end
|
85
85
|
|
86
86
|
it "complains about persistence_setting = nil" do
|
87
|
-
|
88
|
-
# Ruby version >= 2.4.0
|
89
|
-
expect { @l.persistence_setting = nil}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a NilClass")
|
90
|
-
else
|
91
|
-
# Ruby version < 2.4.0
|
92
|
-
expect { @l.persistence_setting = nil}.to raise_error(ArgumentError, "persistence_setting must be a Fixnum but is a NilClass")
|
93
|
-
end
|
87
|
+
expect { @l.persistence_setting = nil}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a NilClass")
|
94
88
|
end
|
95
89
|
|
96
|
-
|
97
|
-
|
98
|
-
it "complains about persistence_setting that aren't Integer" do
|
99
|
-
expect { @l.persistence_setting = 5.5}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a Float")
|
100
|
-
end
|
101
|
-
else
|
102
|
-
# Ruby version < 2.4.0
|
103
|
-
it "complains about persistence_setting that aren't Fixnum" do
|
104
|
-
expect { @l.persistence_setting = 5.5}.to raise_error(ArgumentError, "persistence_setting must be a Fixnum but is a Float")
|
105
|
-
end
|
90
|
+
it "complains about persistence_setting that aren't Integer" do
|
91
|
+
expect { @l.persistence_setting = 5.5}.to raise_error(ArgumentError, "persistence_setting must be an Integer but is a Float")
|
106
92
|
end
|
107
93
|
end
|
108
94
|
|
@@ -114,24 +100,11 @@ module Cosmos
|
|
114
100
|
end
|
115
101
|
|
116
102
|
it "complains about persistence_count = nil" do
|
117
|
-
|
118
|
-
# Ruby version >= 2.4.0
|
119
|
-
expect { @l.persistence_count = nil}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a NilClass")
|
120
|
-
else
|
121
|
-
# Ruby version < 2.4.0
|
122
|
-
expect { @l.persistence_count = nil}.to raise_error(ArgumentError, "persistence_count must be a Fixnum but is a NilClass")
|
123
|
-
end
|
103
|
+
expect { @l.persistence_count = nil}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a NilClass")
|
124
104
|
end
|
125
105
|
|
126
|
-
|
127
|
-
|
128
|
-
expect { @l.persistence_count = 5.5}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a Float")
|
129
|
-
end
|
130
|
-
else
|
131
|
-
# Ruby version < 2.4.0
|
132
|
-
it "complains about persistence_count that aren't Fixnum" do
|
133
|
-
expect { @l.persistence_count = 5.5}.to raise_error(ArgumentError, "persistence_count must be a Fixnum but is a Float")
|
134
|
-
end
|
106
|
+
it "complains about persistence_count that aren't Integer" do
|
107
|
+
expect { @l.persistence_count = 5.5}.to raise_error(ArgumentError, "persistence_count must be an Integer but is a Float")
|
135
108
|
end
|
136
109
|
end
|
137
110
|
|
@@ -69,13 +69,7 @@ module Cosmos
|
|
69
69
|
|
70
70
|
describe "bit_offset=" do
|
71
71
|
it "compains about bad bit offsets types" do
|
72
|
-
|
73
|
-
# Ruby version >= 2.4.0
|
74
|
-
expect { StructureItem.new("test", nil, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset must be an Integer")
|
75
|
-
else
|
76
|
-
# Ruby version < 2.4.0
|
77
|
-
expect { StructureItem.new("test", nil, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset must be a Fixnum")
|
78
|
-
end
|
72
|
+
expect { StructureItem.new("test", nil, 8, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_offset must be an Integer")
|
79
73
|
end
|
80
74
|
|
81
75
|
it "complains about unaligned bit offsets" do
|
@@ -91,13 +85,7 @@ module Cosmos
|
|
91
85
|
|
92
86
|
describe "bit_size=" do
|
93
87
|
it "complains about bad bit sizes types" do
|
94
|
-
|
95
|
-
# Ruby version >= 2.4.0
|
96
|
-
expect { StructureItem.new("test", 0, nil, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size must be an Integer")
|
97
|
-
else
|
98
|
-
# Ruby version < 2.4.0
|
99
|
-
expect { StructureItem.new("test", 0, nil, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size must be a Fixnum")
|
100
|
-
end
|
88
|
+
expect { StructureItem.new("test", 0, nil, :UINT, :BIG_ENDIAN, nil) }.to raise_error(ArgumentError, "TEST: bit_size must be an Integer")
|
101
89
|
end
|
102
90
|
|
103
91
|
it "complains about 0 size INT, UINT, and FLOAT" do
|
@@ -122,13 +110,7 @@ module Cosmos
|
|
122
110
|
|
123
111
|
describe "array_size=" do
|
124
112
|
it "complains about bad array size types" do
|
125
|
-
|
126
|
-
# Ruby version >= 2.4.0
|
127
|
-
expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, "") }.to raise_error(ArgumentError, "TEST: array_size must be an Integer")
|
128
|
-
else
|
129
|
-
# Ruby version < 2.4.0
|
130
|
-
expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, "") }.to raise_error(ArgumentError, "TEST: array_size must be a Fixnum")
|
131
|
-
end
|
113
|
+
expect { StructureItem.new("test", 0, 8, :UINT, :BIG_ENDIAN, "") }.to raise_error(ArgumentError, "TEST: array_size must be an Integer")
|
132
114
|
end
|
133
115
|
|
134
116
|
it "complains about array size != multiple of bit size" do
|
data/spec/script/extract_spec.rb
CHANGED
@@ -148,6 +148,10 @@ module Cosmos
|
|
148
148
|
expect(extract_fields_from_check_text("TARGET PACKET ITEM < 5")).to eql(['TARGET', 'PACKET', 'ITEM', '< 5'])
|
149
149
|
end
|
150
150
|
|
151
|
+
it "should support target packet items named the same" do
|
152
|
+
expect(extract_fields_from_check_text("TEST TEST TEST == 5")).to eql(['TEST', 'TEST', 'TEST', '== 5'])
|
153
|
+
end
|
154
|
+
|
151
155
|
it "should complain about trying to do an = comparison" do
|
152
156
|
expect { extract_fields_from_check_text("TARGET PACKET ITEM = 5") }.to raise_error(/ERROR: Use/)
|
153
157
|
end
|
@@ -160,4 +164,3 @@ module Cosmos
|
|
160
164
|
|
161
165
|
end
|
162
166
|
end
|
163
|
-
|
data/spec/system/system_spec.rb
CHANGED
@@ -359,7 +359,7 @@ module Cosmos
|
|
359
359
|
expect(System.telemetry.packets('SYSTEM').keys).not_to include "TEST2"
|
360
360
|
|
361
361
|
# Now remove system.txt from the third configuration and try to load it again to cause an error
|
362
|
-
#third_config_path = System.instance.
|
362
|
+
#third_config_path = System.instance.public_send(:find_configuration, third_config_name)
|
363
363
|
#FileUtils.mv File.join(third_config_path, 'system.txt'), File.join(third_config_path, 'system2.txt')
|
364
364
|
#result, err = System.load_configuration(third_config_name)
|
365
365
|
#expect(result).to eql original_config_name
|
@@ -703,6 +703,114 @@ module Cosmos
|
|
703
703
|
end
|
704
704
|
end
|
705
705
|
|
706
|
+
context "with ALLOW_ROUTER_COMMANDING" do
|
707
|
+
it "takes 0 parameters" do
|
708
|
+
tf = Tempfile.new('unittest')
|
709
|
+
tf.puts("ALLOW_ROUTER_COMMANDING BLAH TRUE")
|
710
|
+
tf.close
|
711
|
+
expect { System.instance.process_file(tf.path) }.to raise_error(ConfigParser::Error, /Too many parameters for ALLOW_ROUTER_COMMANDING./)
|
712
|
+
tf.unlink
|
713
|
+
end
|
714
|
+
|
715
|
+
it "allows router commanding" do
|
716
|
+
tf = Tempfile.new('unittest')
|
717
|
+
tf.puts("ALLOW_ROUTER_COMMANDING")
|
718
|
+
tf.close
|
719
|
+
expect(System.allow_router_commanding).to be false
|
720
|
+
System.instance.process_file(tf.path)
|
721
|
+
expect(System.allow_router_commanding).to be true
|
722
|
+
tf.unlink
|
723
|
+
end
|
724
|
+
|
725
|
+
it "it disallows router commanding if not present" do
|
726
|
+
tf = Tempfile.new('unittest')
|
727
|
+
|
728
|
+
tf.close
|
729
|
+
expect(System.allow_router_commanding).to be false
|
730
|
+
System.instance.process_file(tf.path)
|
731
|
+
expect(System.allow_router_commanding).to be false
|
732
|
+
tf.unlink
|
733
|
+
end
|
734
|
+
end
|
735
|
+
|
736
|
+
context "with X_CSRF_TOKEN" do
|
737
|
+
it "takes 1 parameters" do
|
738
|
+
tf = Tempfile.new('unittest')
|
739
|
+
tf.puts("X_CSRF_TOKEN")
|
740
|
+
tf.close
|
741
|
+
expect { System.instance.process_file(tf.path) }.to raise_error(ConfigParser::Error, /Not enough parameters for X_CSRF_TOKEN./)
|
742
|
+
tf.unlink
|
743
|
+
|
744
|
+
tf = Tempfile.new('unittest')
|
745
|
+
tf.puts("X_CSRF_TOKEN localhost true")
|
746
|
+
tf.close
|
747
|
+
expect { System.instance.process_file(tf.path) }.to raise_error(ConfigParser::Error, /Too many parameters for X_CSRF_TOKEN./)
|
748
|
+
tf.unlink
|
749
|
+
end
|
750
|
+
|
751
|
+
it "updates the CSRF token" do
|
752
|
+
tf = Tempfile.new('unittest')
|
753
|
+
tf.puts("X_CSRF_TOKEN ExtraSpecial")
|
754
|
+
tf.close
|
755
|
+
expect(System.x_csrf_token).to eql "SuperSecret"
|
756
|
+
System.instance.process_file(tf.path)
|
757
|
+
expect(System.x_csrf_token).to eql "ExtraSpecial"
|
758
|
+
tf.unlink
|
759
|
+
end
|
760
|
+
end
|
761
|
+
|
762
|
+
context "with ALLOW_HOST" do
|
763
|
+
it "takes 1 parameters" do
|
764
|
+
tf = Tempfile.new('unittest')
|
765
|
+
tf.puts("ALLOW_HOST")
|
766
|
+
tf.close
|
767
|
+
expect { System.instance.process_file(tf.path) }.to raise_error(ConfigParser::Error, /Not enough parameters for ALLOW_HOST./)
|
768
|
+
tf.unlink
|
769
|
+
|
770
|
+
tf = Tempfile.new('unittest')
|
771
|
+
tf.puts("ALLOW_HOST localhost true")
|
772
|
+
tf.close
|
773
|
+
expect { System.instance.process_file(tf.path) }.to raise_error(ConfigParser::Error, /Too many parameters for ALLOW_HOST./)
|
774
|
+
tf.unlink
|
775
|
+
end
|
776
|
+
|
777
|
+
it "adds to allowed hosts" do
|
778
|
+
tf = Tempfile.new('unittest')
|
779
|
+
tf.puts("ALLOW_HOST 1.2.3.4:8888")
|
780
|
+
tf.close
|
781
|
+
expect(System.allowed_hosts).to_not include("1.2.3.4:8888")
|
782
|
+
System.instance.process_file(tf.path)
|
783
|
+
expect(System.allowed_hosts).to include("1.2.3.4:8888")
|
784
|
+
tf.unlink
|
785
|
+
end
|
786
|
+
end
|
787
|
+
|
788
|
+
context "with ALLOW_ORIGIN" do
|
789
|
+
it "takes 1 parameters" do
|
790
|
+
tf = Tempfile.new('unittest')
|
791
|
+
tf.puts("ALLOW_ORIGIN")
|
792
|
+
tf.close
|
793
|
+
expect { System.instance.process_file(tf.path) }.to raise_error(ConfigParser::Error, /Not enough parameters for ALLOW_ORIGIN./)
|
794
|
+
tf.unlink
|
795
|
+
|
796
|
+
tf = Tempfile.new('unittest')
|
797
|
+
tf.puts("ALLOW_ORIGIN localhost true")
|
798
|
+
tf.close
|
799
|
+
expect { System.instance.process_file(tf.path) }.to raise_error(ConfigParser::Error, /Too many parameters for ALLOW_ORIGIN./)
|
800
|
+
tf.unlink
|
801
|
+
end
|
802
|
+
|
803
|
+
it "adds to allowed origins" do
|
804
|
+
tf = Tempfile.new('unittest')
|
805
|
+
tf.puts("ALLOW_ORIGIN 1.2.3.4:8888")
|
806
|
+
tf.close
|
807
|
+
expect(System.allowed_origins).to_not include("1.2.3.4:8888")
|
808
|
+
System.instance.process_file(tf.path)
|
809
|
+
expect(System.allowed_origins).to include("1.2.3.4:8888")
|
810
|
+
tf.unlink
|
811
|
+
end
|
812
|
+
end
|
813
|
+
|
706
814
|
context "with ALLOW_ACCESS" do
|
707
815
|
it "takes 1 parameters" do
|
708
816
|
tf = Tempfile.new('unittest')
|
@@ -102,12 +102,12 @@ DOC
|
|
102
102
|
end
|
103
103
|
|
104
104
|
def test_cmd_unknown(method)
|
105
|
-
expect { @api.
|
106
|
-
expect { @api.
|
107
|
-
expect { @api.
|
108
|
-
expect { @api.
|
109
|
-
expect { @api.
|
110
|
-
expect { @api.
|
105
|
+
expect { @api.public_send(method,"BLAH COLLECT with TYPE NORMAL") }.to raise_error(/does not exist/)
|
106
|
+
expect { @api.public_send(method,"INST UNKNOWN with TYPE NORMAL") }.to raise_error(/does not exist/)
|
107
|
+
expect { @api.public_send(method,"INST COLLECT with BLAH NORMAL") }.to raise_error(/does not exist/)
|
108
|
+
expect { @api.public_send(method,"BLAH","COLLECT","TYPE"=>"NORMAL") }.to raise_error(/does not exist/)
|
109
|
+
expect { @api.public_send(method,"INST","UNKNOWN","TYPE"=>"NORMAL") }.to raise_error(/does not exist/)
|
110
|
+
expect { @api.public_send(method,"INST","COLLECT","BLAH"=>"NORMAL") }.to raise_error(/does not exist/)
|
111
111
|
end
|
112
112
|
|
113
113
|
describe "cmd" do
|
@@ -571,12 +571,12 @@ DOC
|
|
571
571
|
end
|
572
572
|
|
573
573
|
def test_tlm_unknown(method)
|
574
|
-
expect { @api.
|
575
|
-
expect { @api.
|
576
|
-
expect { @api.
|
577
|
-
expect { @api.
|
578
|
-
expect { @api.
|
579
|
-
expect { @api.
|
574
|
+
expect { @api.public_send(method,"BLAH HEALTH_STATUS COLLECTS") }.to raise_error(/does not exist/)
|
575
|
+
expect { @api.public_send(method,"INST UNKNOWN COLLECTS") }.to raise_error(/does not exist/)
|
576
|
+
expect { @api.public_send(method,"INST HEALTH_STATUS BLAH") }.to raise_error(/does not exist/)
|
577
|
+
expect { @api.public_send(method,"BLAH","HEALTH_STATUS","COLLECTS") }.to raise_error(/does not exist/)
|
578
|
+
expect { @api.public_send(method,"INST","UNKNOWN","COLLECTS") }.to raise_error(/does not exist/)
|
579
|
+
expect { @api.public_send(method,"INST","HEALTH_STATUS","BLAH") }.to raise_error(/does not exist/)
|
580
580
|
end
|
581
581
|
|
582
582
|
describe "tlm" do
|
@@ -165,7 +165,7 @@ module Cosmos
|
|
165
165
|
expect(running_threads.length).to eql(2)
|
166
166
|
expect(bt.instance_variable_get("@threads").length).to eq 1
|
167
167
|
expect(bt.instance_variable_get("@threads")[0].alive?).to eq true
|
168
|
-
sleep
|
168
|
+
sleep 2 # Allow the thread to crash
|
169
169
|
expect(running_threads.length).to eql(1)
|
170
170
|
expect(bt.instance_variable_get("@threads")[0]).to be_nil
|
171
171
|
expect(stdout.string).to match("unexpectedly died")
|
@@ -178,7 +178,7 @@ module Cosmos
|
|
178
178
|
expect(running_threads.length).to eql(2)
|
179
179
|
expect(bt.instance_variable_get("@threads").length).to eq 1
|
180
180
|
expect(bt.instance_variable_get("@threads")[0].alive?).to eq true
|
181
|
-
sleep
|
181
|
+
sleep 2 # Allow the thread to crash
|
182
182
|
expect(running_threads.length).to eql(1)
|
183
183
|
expect(bt.instance_variable_get("@threads")[0]).to be_nil
|
184
184
|
expect(stdout.string).to match("unexpectedly died")
|
@@ -39,8 +39,8 @@ module Cosmos
|
|
39
39
|
@packet
|
40
40
|
end
|
41
41
|
|
42
|
-
allow(System).to receive_message_chain(:telemetry,:
|
43
|
-
allow(System).to receive_message_chain(:telemetry,:
|
42
|
+
allow(System).to receive_message_chain(:telemetry,:packet).and_return(@packet)
|
43
|
+
allow(System).to receive_message_chain(:telemetry,:identify).and_return(nil)
|
44
44
|
allow(System).to receive_message_chain(:telemetry,:identify_and_define_packet).and_return(@packet)
|
45
45
|
targets = {'TGT'=>Target.new('TGT')}
|
46
46
|
allow(System).to receive(:targets).and_return(targets)
|
@@ -237,6 +237,7 @@ module Cosmos
|
|
237
237
|
it "handles unidentified packets" do
|
238
238
|
capture_io do |stdout|
|
239
239
|
@packet = Packet.new(nil,nil)
|
240
|
+
@packet.buffer = "\x01\x02"
|
240
241
|
thread = InterfaceThread.new(@interface)
|
241
242
|
thread.start
|
242
243
|
sleep 0.1
|
@@ -253,7 +254,7 @@ module Cosmos
|
|
253
254
|
capture_io do |stdout|
|
254
255
|
@packet.target_name = 'BOB'
|
255
256
|
@packet.packet_name = 'SMITH'
|
256
|
-
allow(System).to receive_message_chain(:telemetry,:
|
257
|
+
allow(System).to receive_message_chain(:telemetry,:packet).and_raise(RuntimeError)
|
257
258
|
thread = InterfaceThread.new(@interface)
|
258
259
|
thread.start
|
259
260
|
sleep 0.1
|
@@ -20,7 +20,7 @@ module Cosmos
|
|
20
20
|
before(:each) do
|
21
21
|
@packet = Packet.new('TGT','PKT')
|
22
22
|
@packet.buffer = "\x01\x02"
|
23
|
-
|
23
|
+
System.instance.instance_variable_set(:@allow_router_commanding, true)
|
24
24
|
@interface = Interface.new
|
25
25
|
# Interface#connected? implemented in each test case
|
26
26
|
allow(@interface).to receive(:connect)
|
@@ -32,7 +32,7 @@ module Cosmos
|
|
32
32
|
end
|
33
33
|
|
34
34
|
describe "handle_packet" do
|
35
|
-
it "handles
|
35
|
+
it "handles disconnected interfaces" do
|
36
36
|
allow(@interface).to receive(:connected?).and_return(false)
|
37
37
|
@interface.interfaces = [@interface]
|
38
38
|
thread = RouterThread.new(@interface)
|
@@ -148,4 +148,3 @@ module Cosmos
|
|
148
148
|
end
|
149
149
|
end
|
150
150
|
end
|
151
|
-
|
@@ -520,7 +520,7 @@ module Cosmos
|
|
520
520
|
|
521
521
|
describe "open_file_browser" do
|
522
522
|
it "opens a file browser" do
|
523
|
-
unless ENV['
|
523
|
+
unless ENV['CI']
|
524
524
|
expect(Cosmos).to receive(:system).with(/#{Dir.pwd}/)
|
525
525
|
Cosmos.open_file_browser(Dir.pwd)
|
526
526
|
end
|
@@ -529,7 +529,7 @@ module Cosmos
|
|
529
529
|
|
530
530
|
describe "open_in_text_editor" do
|
531
531
|
it "opens the file in a text editor" do
|
532
|
-
unless ENV['
|
532
|
+
unless ENV['CI']
|
533
533
|
expect(Cosmos).to receive(:system).with(/#{File.basename(__FILE__)}/)
|
534
534
|
Cosmos.open_in_text_editor(__FILE__)
|
535
535
|
end
|
@@ -33,11 +33,11 @@ module Cosmos
|
|
33
33
|
$stdout = stdout
|
34
34
|
Logger.level = level
|
35
35
|
if block
|
36
|
-
Logger.
|
36
|
+
Logger.public_send(method, "Message1") { "Block1" }
|
37
37
|
expect(stdout.string).not_to match("Message1")
|
38
38
|
expect(stdout.string).to match("#{method.upcase}: Block1")
|
39
39
|
else
|
40
|
-
Logger.
|
40
|
+
Logger.public_send(method, "Message1")
|
41
41
|
expect(stdout.string).to match("#{method.upcase}: Message1")
|
42
42
|
end
|
43
43
|
Logger::instance.level = level + 1
|
@@ -46,7 +46,7 @@ module Cosmos
|
|
46
46
|
expect(stdout.string).not_to match("Message2")
|
47
47
|
expect(stdout.string).not_to match("Block2")
|
48
48
|
else
|
49
|
-
Logger.
|
49
|
+
Logger.public_send(method, "Message2")
|
50
50
|
expect(stdout.string).not_to match("Message2")
|
51
51
|
end
|
52
52
|
$stdout = STDOUT
|
data/test/performance/Rakefile
CHANGED
@@ -35,14 +35,14 @@ def create_crc_file(official)
|
|
35
35
|
crc = Cosmos::Crc32.new(Cosmos::Crc32::DEFAULT_POLY, Cosmos::Crc32::DEFAULT_SEED, true, false)
|
36
36
|
File.open("config/data/crc.txt",'w') do |file|
|
37
37
|
file.puts "USER_MODIFIED" unless official
|
38
|
-
Dir[File.join('lib','**','*')].each do |filename|
|
38
|
+
Dir[File.join('lib','**','*')].sort.each do |filename|
|
39
39
|
next if File.directory?(filename)
|
40
40
|
next if ignore.include?(filename)
|
41
41
|
file_data = File.open(filename, 'rb').read.gsub("\x0D\x0A", "\x0A")
|
42
42
|
file.puts "\"#{filename}\" #{sprintf("0x%08X", crc.calc(file_data))}"
|
43
43
|
count += 1
|
44
44
|
end
|
45
|
-
Dir[File.join('config','**','*')].each do |filename|
|
45
|
+
Dir[File.join('config','**','*')].sort.each do |filename|
|
46
46
|
next if File.directory?(filename)
|
47
47
|
next if ignore.include?(filename)
|
48
48
|
next if File.basename(filename) == 'crc.txt'
|
@@ -50,14 +50,14 @@ def create_crc_file(official)
|
|
50
50
|
file.puts "\"#{filename}\" #{sprintf("0x%08X", crc.calc(file_data))}"
|
51
51
|
count += 1
|
52
52
|
end
|
53
|
-
Dir[File.join('tools','**','*')].each do |filename|
|
53
|
+
Dir[File.join('tools','**','*')].sort.each do |filename|
|
54
54
|
next if File.directory?(filename)
|
55
55
|
next if ignore.include?(filename)
|
56
56
|
file_data = File.open(filename, 'rb').read.gsub("\x0D\x0A", "\x0A")
|
57
57
|
file.puts "\"#{filename}\" #{sprintf("0x%08X", crc.calc(file_data))}"
|
58
58
|
count += 1
|
59
59
|
end
|
60
|
-
Dir[File.join('procedures','**','*')].each do |filename|
|
60
|
+
Dir[File.join('procedures','**','*')].sort.each do |filename|
|
61
61
|
next if File.directory?(filename)
|
62
62
|
next if ignore.include?(filename)
|
63
63
|
file_data = File.open(filename, 'rb').read.gsub("\x0D\x0A", "\x0A")
|
@@ -1,5 +1,6 @@
|
|
1
1
|
"lib/packet_target.rb" 0x59C31C58
|
2
|
-
"lib/thread_target.rb"
|
2
|
+
"lib/thread_target.rb" 0x6A2E93AF
|
3
|
+
"lib/user_version.rb" 0x8F282EE9
|
3
4
|
"config/data/attitude.bin" 0xB6D17289
|
4
5
|
"config/data/diamond.STL" 0xA96E4846
|
5
6
|
"config/data/groundoff.gif" 0x7BA45A4D
|
@@ -16,8 +17,9 @@
|
|
16
17
|
"config/data/tada.wav" 0x1ABCFFD1
|
17
18
|
"config/data/vswitchoff.gif" 0xFAE436C9
|
18
19
|
"config/data/vswitchon.gif" 0xD747AC45
|
19
|
-
"config/system/
|
20
|
-
"config/system/
|
20
|
+
"config/system/system.txt" 0x00000000
|
21
|
+
"config/system/system_packets.txt" 0xD7719176
|
22
|
+
"config/system/system_threads.txt" 0x345E358A
|
21
23
|
"config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt" 0x9589CE1D
|
22
24
|
"config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt" 0xC667CCD6
|
23
25
|
"config/targets/COSMOS/cmd_tlm_server.txt" 0xE53A4164
|
@@ -25,22 +27,38 @@
|
|
25
27
|
"config/targets/COSMOS/screens/version.txt" 0x393D4F72
|
26
28
|
"config/targets/COSMOS/target.txt" 0xB39D9281
|
27
29
|
"config/targets/PACKET/cmd_tlm/packet_cmds.txt" 0xAF042065
|
28
|
-
"config/targets/PACKET/cmd_tlm/packet_tlm.txt"
|
30
|
+
"config/targets/PACKET/cmd_tlm/packet_tlm.txt" 0x2FCD6766
|
29
31
|
"config/targets/PACKET/cmd_tlm_server.txt" 0x7C18BA09
|
30
32
|
"config/targets/PACKET/lib/packet_interface.rb" 0x0BC1909F
|
31
33
|
"config/targets/PACKET/lib/packet_limits_response.rb" 0xA427D78E
|
32
34
|
"config/targets/PACKET/screens/status.txt" 0xD9B1DD08
|
33
35
|
"config/targets/PACKET/target.txt" 0x0B0338E4
|
34
36
|
"config/targets/SYSTEM/screens/status.txt" 0x89B616E5
|
35
|
-
"config/targets/THREAD/cmd_tlm/thread_cmds.txt"
|
36
|
-
"config/targets/THREAD/cmd_tlm/thread_tlm.txt"
|
37
|
-
"config/targets/THREAD/cmd_tlm_server.txt"
|
37
|
+
"config/targets/THREAD/cmd_tlm/thread_cmds.txt" 0xE0E86176
|
38
|
+
"config/targets/THREAD/cmd_tlm/thread_tlm.txt" 0xA9255BD2
|
39
|
+
"config/targets/THREAD/cmd_tlm_server.txt" 0xA2C09F15
|
38
40
|
"config/targets/THREAD/lib/thread_interface.rb" 0x82FB49D8
|
39
41
|
"config/targets/THREAD/screens/status.txt" 0xD9B1DD08
|
40
42
|
"config/targets/THREAD/target.txt" 0x4ED5B5BC
|
41
43
|
"config/tools/cmd_tlm_server/cmd_tlm_server_packets.txt" 0x35E7315D
|
42
|
-
"config/tools/cmd_tlm_server/cmd_tlm_server_threads.txt"
|
44
|
+
"config/tools/cmd_tlm_server/cmd_tlm_server_threads.txt" 0x7781DEEA
|
43
45
|
"config/tools/data_viewer/data_viewer.txt" 0xCAC3B017
|
46
|
+
"config/tools/handbook_creator/assets/css/bootstrap-theme.css" 0x446F3211
|
47
|
+
"config/tools/handbook_creator/assets/css/bootstrap-theme.min.css" 0xB49F966D
|
48
|
+
"config/tools/handbook_creator/assets/css/bootstrap.css" 0x3F240B56
|
49
|
+
"config/tools/handbook_creator/assets/css/bootstrap.min.css" 0x1BD3585F
|
50
|
+
"config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot" 0x50687BA4
|
51
|
+
"config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg" 0x068A502C
|
52
|
+
"config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf" 0x063128D6
|
53
|
+
"config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff" 0x946BFB8C
|
54
|
+
"config/tools/handbook_creator/assets/img/ball_logo.bmp" 0xAD799C2E
|
55
|
+
"config/tools/handbook_creator/assets/img/ball_logo.gif" 0xD8A3D76B
|
56
|
+
"config/tools/handbook_creator/assets/img/ball_logo.jpg" 0xA15FB300
|
57
|
+
"config/tools/handbook_creator/assets/js/bootstrap.js" 0x013B0300
|
58
|
+
"config/tools/handbook_creator/assets/js/bootstrap.min.js" 0xB3ECDABF
|
59
|
+
"config/tools/handbook_creator/assets/js/html5shiv.js" 0x15B5CD4D
|
60
|
+
"config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js" 0xCDB86103
|
61
|
+
"config/tools/handbook_creator/assets/js/respond.min.js" 0xD9168C21
|
44
62
|
"config/tools/handbook_creator/default_toc.xsl" 0x4122A040
|
45
63
|
"config/tools/handbook_creator/handbook_creator.txt" 0xAA806C94
|
46
64
|
"config/tools/handbook_creator/templates/command_packets.html.erb" 0x9897CA7A
|
@@ -57,7 +75,7 @@
|
|
57
75
|
"config/tools/handbook_creator/templates/telemetry_toc.html.erb" 0x610E3BC5
|
58
76
|
"config/tools/handbook_creator/templates/title.html.erb" 0xBC66E2BC
|
59
77
|
"config/tools/launcher/launcher_packets.txt" 0x51DC78DA
|
60
|
-
"config/tools/launcher/launcher_threads.txt"
|
78
|
+
"config/tools/launcher/launcher_threads.txt" 0x5C3A58EF
|
61
79
|
"config/tools/limits_monitor/README.txt" 0x93B2C07E
|
62
80
|
"config/tools/opengl_builder/README.txt" 0x93B2C07E
|
63
81
|
"config/tools/script_runner/script_runner.txt" 0x1EECD803
|
@@ -67,7 +85,7 @@
|
|
67
85
|
"config/tools/table_manager/MCConfigurationTable_fsw2_def.txt" 0x9DE18AEA
|
68
86
|
"config/tools/table_manager/PPSSelectionTable_def.txt" 0xE7A1E70B
|
69
87
|
"config/tools/table_manager/TLMMonitoringTable_def.txt" 0x70DABA45
|
70
|
-
"config/tools/test_runner/test_runner.txt"
|
88
|
+
"config/tools/test_runner/test_runner.txt" 0x6401DC8C
|
71
89
|
"config/tools/tlm_extractor/tlm_extractor.txt" 0x51B791DF
|
72
90
|
"config/tools/tlm_extractor/tlm_extractor2.txt" 0x210DED6A
|
73
91
|
"config/tools/tlm_extractor/tlm_extractor3.txt" 0x3A25E012
|
@@ -85,14 +103,41 @@
|
|
85
103
|
"tools/CmdTlmServerMemProf.bat" 0xF1C468BA
|
86
104
|
"tools/DataViewer" 0x2F81335B
|
87
105
|
"tools/DataViewer.bat" 0xF1C468BA
|
88
|
-
"tools/ExampleTarget" 0xC7698E38
|
89
|
-
"tools/ExampleTarget.bat" 0xF7D93DD0
|
90
106
|
"tools/HandbookCreator" 0x7337665F
|
91
107
|
"tools/HandbookCreator.bat" 0x4D5B6471
|
92
108
|
"tools/Launcher" 0xBB5DB49A
|
93
109
|
"tools/Launcher.bat" 0xF1C468BA
|
94
110
|
"tools/LimitsMonitor" 0x8227E66E
|
95
111
|
"tools/LimitsMonitor.bat" 0xF1C468BA
|
112
|
+
"tools/OpenGLBuilder" 0x70C85B16
|
113
|
+
"tools/OpenGLBuilder.bat" 0xF1C468BA
|
114
|
+
"tools/PacketTarget" 0x633EBA89
|
115
|
+
"tools/PacketTarget.bat" 0xF7D93DD0
|
116
|
+
"tools/PacketViewer" 0xCFB39857
|
117
|
+
"tools/PacketViewer.bat" 0xF1C468BA
|
118
|
+
"tools/Replay" 0x15162D45
|
119
|
+
"tools/Replay.bat" 0xF1C468BA
|
120
|
+
"tools/ScpiTarget" 0x8FB2CE09
|
121
|
+
"tools/ScpiTarget.bat" 0xF7D93DD0
|
122
|
+
"tools/ScriptRunner" 0x8DF937B6
|
123
|
+
"tools/ScriptRunner.bat" 0xF1C468BA
|
124
|
+
"tools/TableManager" 0xE75FDFFE
|
125
|
+
"tools/TableManager.bat" 0xF1C468BA
|
126
|
+
"tools/TestRunner" 0x1DBDC0CF
|
127
|
+
"tools/TestRunner.bat" 0xF1C468BA
|
128
|
+
"tools/ThreadTarget" 0x93FE9405
|
129
|
+
"tools/ThreadTarget.bat" 0xF7D93DD0
|
130
|
+
"tools/TlmExtractor" 0xE0DE48BC
|
131
|
+
"tools/TlmExtractor.bat" 0xF1C468BA
|
132
|
+
"tools/TlmGrapher" 0x8D7A0529
|
133
|
+
"tools/TlmGrapher.bat" 0xF1C468BA
|
134
|
+
"tools/TlmGrapherMemProf" 0x9A200E06
|
135
|
+
"tools/TlmGrapherMemProf.bat" 0xF1C468BA
|
136
|
+
"tools/TlmViewer" 0x120F8422
|
137
|
+
"tools/TlmViewer.bat" 0xF1C468BA
|
138
|
+
"tools/TlmViewerMemProf" 0x3CC66D92
|
139
|
+
"tools/TlmViewerMemProf.bat" 0xF1C468BA
|
140
|
+
"tools/identify_performance.rb" 0xAC543A1D
|
96
141
|
"tools/mac/CmdExtractor.app/Contents/Info.plist" 0x0E89084D
|
97
142
|
"tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb" 0x9AD128F4
|
98
143
|
"tools/mac/CmdExtractor.app/Contents/MacOS/main.sh" 0x52DD5B34
|
@@ -122,72 +167,46 @@
|
|
122
167
|
"tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh" 0xCC934478
|
123
168
|
"tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns" 0xC98BF799
|
124
169
|
"tools/mac/OpenGLBuilder.app/Contents/Info.plist" 0x3C2E542D
|
125
|
-
"tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh" 0x5EF4D8E2
|
126
170
|
"tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb" 0x96F7D2C2
|
171
|
+
"tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh" 0x5EF4D8E2
|
127
172
|
"tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns" 0x8DDBD837
|
128
173
|
"tools/mac/PacketViewer.app/Contents/Info.plist" 0x6934BF89
|
129
|
-
"tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x0D28EF08
|
130
174
|
"tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb" 0x019FC483
|
175
|
+
"tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x0D28EF08
|
131
176
|
"tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns" 0xDF373DAE
|
132
177
|
"tools/mac/Replay.app/Contents/Info.plist" 0x894AC4CF
|
133
|
-
"tools/mac/Replay.app/Contents/MacOS/main.sh" 0x211D29BB
|
134
178
|
"tools/mac/Replay.app/Contents/MacOS/Replay.rb" 0xA2C90DA4
|
179
|
+
"tools/mac/Replay.app/Contents/MacOS/main.sh" 0x211D29BB
|
135
180
|
"tools/mac/Replay.app/Contents/Resources/appIcon.icns" 0x0E6B32E5
|
136
181
|
"tools/mac/ScriptRunner.app/Contents/Info.plist" 0x1BC8C5E9
|
137
|
-
"tools/mac/ScriptRunner.app/Contents/MacOS/main.sh" 0xE3274772
|
138
182
|
"tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb" 0x43D56B62
|
183
|
+
"tools/mac/ScriptRunner.app/Contents/MacOS/main.sh" 0xE3274772
|
139
184
|
"tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns" 0x9246743E
|
140
185
|
"tools/mac/TableManager.app/Contents/Info.plist" 0xF6A5877F
|
141
|
-
"tools/mac/TableManager.app/Contents/MacOS/main.sh" 0x98E69D10
|
142
186
|
"tools/mac/TableManager.app/Contents/MacOS/TableManager.rb" 0x2973832A
|
187
|
+
"tools/mac/TableManager.app/Contents/MacOS/main.sh" 0x98E69D10
|
143
188
|
"tools/mac/TableManager.app/Contents/Resources/appIcon.icns" 0xEBF5074E
|
144
189
|
"tools/mac/TestRunner.app/Contents/Info.plist" 0x482B3BA5
|
145
|
-
"tools/mac/TestRunner.app/Contents/MacOS/main.sh" 0xD486D22B
|
146
190
|
"tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb" 0xDE0A3BD7
|
191
|
+
"tools/mac/TestRunner.app/Contents/MacOS/main.sh" 0xD486D22B
|
147
192
|
"tools/mac/TestRunner.app/Contents/Resources/appIcon.icns" 0xC8D32D55
|
148
193
|
"tools/mac/TlmExtractor.app/Contents/Info.plist" 0x343784F4
|
149
|
-
"tools/mac/TlmExtractor.app/Contents/MacOS/main.sh" 0x4210EF0D
|
150
194
|
"tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb" 0x2EF21468
|
195
|
+
"tools/mac/TlmExtractor.app/Contents/MacOS/main.sh" 0x4210EF0D
|
151
196
|
"tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns" 0x0AC88876
|
152
197
|
"tools/mac/TlmGrapher.app/Contents/Info.plist" 0x3623B978
|
153
|
-
"tools/mac/TlmGrapher.app/Contents/MacOS/main.sh" 0x427E2ECF
|
154
198
|
"tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb" 0x4ECDFE31
|
199
|
+
"tools/mac/TlmGrapher.app/Contents/MacOS/main.sh" 0x427E2ECF
|
155
200
|
"tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns" 0xCA324F50
|
156
201
|
"tools/mac/TlmViewer.app/Contents/Info.plist" 0x821041E0
|
157
|
-
"tools/mac/TlmViewer.app/Contents/MacOS/main.sh" 0x99FD781B
|
158
202
|
"tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb" 0x922D7C22
|
203
|
+
"tools/mac/TlmViewer.app/Contents/MacOS/main.sh" 0x99FD781B
|
159
204
|
"tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns" 0x1CBA8EB3
|
160
|
-
"tools/OpenGLBuilder" 0x70C85B16
|
161
|
-
"tools/OpenGLBuilder.bat" 0xF1C468BA
|
162
|
-
"tools/PacketTarget" 0x633EBA89
|
163
|
-
"tools/PacketTarget.bat" 0xF7D93DD0
|
164
|
-
"tools/PacketViewer" 0xCFB39857
|
165
|
-
"tools/PacketViewer.bat" 0xF1C468BA
|
166
|
-
"tools/Replay" 0x15162D45
|
167
|
-
"tools/Replay.bat" 0xF1C468BA
|
168
|
-
"tools/ScpiTarget" 0x8FB2CE09
|
169
|
-
"tools/ScpiTarget.bat" 0xF7D93DD0
|
170
|
-
"tools/ScriptRunner" 0x8DF937B6
|
171
|
-
"tools/ScriptRunner.bat" 0xF1C468BA
|
172
|
-
"tools/TableManager" 0xE75FDFFE
|
173
|
-
"tools/TableManager.bat" 0xF1C468BA
|
174
|
-
"tools/TestRunner" 0x1DBDC0CF
|
175
|
-
"tools/TestRunner.bat" 0xF1C468BA
|
176
|
-
"tools/TlmExtractor" 0xE0DE48BC
|
177
|
-
"tools/TlmExtractor.bat" 0xF1C468BA
|
178
|
-
"tools/TlmGrapher" 0x8D7A0529
|
179
|
-
"tools/TlmGrapher.bat" 0xF1C468BA
|
180
|
-
"tools/TlmGrapherMemProf" 0x9A200E06
|
181
|
-
"tools/TlmGrapherMemProf.bat" 0xF1C468BA
|
182
|
-
"tools/TlmViewer" 0x120F8422
|
183
|
-
"tools/TlmViewer.bat" 0xF1C468BA
|
184
|
-
"tools/TlmViewerMemProf" 0x3CC66D92
|
185
|
-
"tools/TlmViewerMemProf.bat" 0xF1C468BA
|
186
205
|
"procedures/checks.rb" 0x34EEF3E2
|
187
206
|
"procedures/clear_util.rb" 0x5B3C1279
|
188
207
|
"procedures/collect.rb" 0x3E52C327
|
189
208
|
"procedures/collect_util.rb" 0x3952EB08
|
190
|
-
"procedures/cosmos_api_test.rb"
|
209
|
+
"procedures/cosmos_api_test.rb" 0xD334796E
|
191
210
|
"procedures/disconnect.rb" 0x5F3A18E5
|
192
211
|
"procedures/example_test.rb" 0x4FBA73C1
|
193
212
|
"procedures/plot_test.rb" 0x0C2972E4
|