Class: MesaTestCase
- Inherits:
-
Object
- Object
- MesaTestCase
- Defined in:
- lib/mesa_test.rb
Instance Attribute Summary collapse
-
#mesa ⇒ Object
readonly
Returns the value of attribute mesa.
-
#mod ⇒ Object
readonly
Returns the value of attribute mod.
-
#position ⇒ Object
readonly
Returns the value of attribute position.
-
#shell ⇒ Object
readonly
Returns the value of attribute shell.
-
#test_name ⇒ Object
readonly
Returns the value of attribute test_name.
Class Method Summary collapse
Instance Method Summary collapse
-
#do_one ⇒ Object
just punt to
each_test_run
in the test_suite directory. -
#err_64 ⇒ Object
Base-64 encoded contents of err.txt file.
-
#initialize(test: nil, mesa: nil, mod: nil, position: nil) ⇒ MesaTestCase
constructor
A new instance of MesaTestCase.
-
#mk_64 ⇒ Object
Base-64 encoded contents of mk.txt file.
-
#out_64 ⇒ Object
Base-64 encoded contents of out.txt file.
-
#passed? ⇒ Boolean
whether or not a test case has passed; only has meaning if we can load the results hash, though.
-
#ran? ⇒ Boolean
rough proxy for whether or not the test has even been run.
- #results_hash ⇒ Object
- #test_case_dir ⇒ Object
- #test_suite_dir ⇒ Object
- #testhub_file ⇒ Object
Constructor Details
#initialize(test: nil, mesa: nil, mod: nil, position: nil) ⇒ MesaTestCase
Returns a new instance of MesaTestCase.
956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 |
# File 'lib/mesa_test.rb', line 956 def initialize(test: nil, mesa: nil, mod: nil, position: nil) @test_name = test @mesa = mesa unless MesaTestCase.modules.include? mod raise TestCaseDirError, "Invalid module: #{mod}. Must be one of: " + MesaTestCase.modules.join(', ') end @mod = mod @position = position # way to output colored text to shell @shell = Thor::Shell::Color.new # validate stuff check_mesa_dir check_test_case end |
Instance Attribute Details
#mesa ⇒ Object (readonly)
Returns the value of attribute mesa.
950 951 952 |
# File 'lib/mesa_test.rb', line 950 def mesa @mesa end |
#mod ⇒ Object (readonly)
Returns the value of attribute mod.
950 951 952 |
# File 'lib/mesa_test.rb', line 950 def mod @mod end |
#position ⇒ Object (readonly)
Returns the value of attribute position.
950 951 952 |
# File 'lib/mesa_test.rb', line 950 def position @position end |
#shell ⇒ Object (readonly)
Returns the value of attribute shell.
950 951 952 |
# File 'lib/mesa_test.rb', line 950 def shell @shell end |
#test_name ⇒ Object (readonly)
Returns the value of attribute test_name.
950 951 952 |
# File 'lib/mesa_test.rb', line 950 def test_name @test_name end |
Class Method Details
.modules ⇒ Object
952 953 954 |
# File 'lib/mesa_test.rb', line 952 def self.modules %i[star binary astero] end |
Instance Method Details
#do_one ⇒ Object
just punt to each_test_run
in the test_suite directory. It’s your problem now, sucker!
989 990 991 992 993 994 |
# File 'lib/mesa_test.rb', line 989 def do_one shell.say("Testing #{test_name}", :yellow) visit_dir(test_suite_dir) do bash_execute("./each_test_run #{position}") end end |
#err_64 ⇒ Object
Base-64 encoded contents of err.txt file
1024 1025 1026 1027 1028 1029 |
# File 'lib/mesa_test.rb', line 1024 def err_64 err_file = File.join(test_case_dir, 'err.txt') return '' unless File.exist?(err_file) b64_file(err_file) end |
#mk_64 ⇒ Object
Base-64 encoded contents of mk.txt file
1016 1017 1018 1019 1020 1021 |
# File 'lib/mesa_test.rb', line 1016 def mk_64 mk_file = File.join(test_case_dir, 'mk.txt') return '' unless File.exist?(mk_file) b64_file(mk_file) end |
#out_64 ⇒ Object
Base-64 encoded contents of out.txt file
1032 1033 1034 1035 1036 1037 |
# File 'lib/mesa_test.rb', line 1032 def out_64 out_file = File.join(test_case_dir, 'out.txt') return '' unless File.exist?(out_file) b64_file(out_file) end |
#passed? ⇒ Boolean
whether or not a test case has passed; only has meaning if we can load the results hash, though
1011 1012 1013 |
# File 'lib/mesa_test.rb', line 1011 def passed? results_hash['outcome'] == :pass end |
#ran? ⇒ Boolean
rough proxy for whether or not the test has even been run
1005 1006 1007 |
# File 'lib/mesa_test.rb', line 1005 def ran? File.exist?(testhub_file) end |
#results_hash ⇒ Object
996 997 998 999 1000 1001 1002 |
# File 'lib/mesa_test.rb', line 996 def results_hash unless ran? raise TestCaseDirError.new('No results found for test case '\ "#{test_name}.") end YAML.load(File.read(testhub_file)) end |
#test_case_dir ⇒ Object
979 980 981 |
# File 'lib/mesa_test.rb', line 979 def test_case_dir File.join(test_suite_dir, test_name) end |
#test_suite_dir ⇒ Object
975 976 977 |
# File 'lib/mesa_test.rb', line 975 def test_suite_dir mesa.test_suite_dir(mod: @mod) end |
#testhub_file ⇒ Object
983 984 985 |
# File 'lib/mesa_test.rb', line 983 def testhub_file File.join(test_case_dir, 'testhub.yml') end |