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.
955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 |
# File 'lib/mesa_test.rb', line 955 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.
949 950 951 |
# File 'lib/mesa_test.rb', line 949 def mesa @mesa end |
#mod ⇒ Object (readonly)
Returns the value of attribute mod.
949 950 951 |
# File 'lib/mesa_test.rb', line 949 def mod @mod end |
#position ⇒ Object (readonly)
Returns the value of attribute position.
949 950 951 |
# File 'lib/mesa_test.rb', line 949 def position @position end |
#shell ⇒ Object (readonly)
Returns the value of attribute shell.
949 950 951 |
# File 'lib/mesa_test.rb', line 949 def shell @shell end |
#test_name ⇒ Object (readonly)
Returns the value of attribute test_name.
949 950 951 |
# File 'lib/mesa_test.rb', line 949 def test_name @test_name end |
Class Method Details
.modules ⇒ Object
951 952 953 |
# File 'lib/mesa_test.rb', line 951 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!
988 989 990 991 992 993 |
# File 'lib/mesa_test.rb', line 988 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
1023 1024 1025 1026 1027 1028 |
# File 'lib/mesa_test.rb', line 1023 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
1015 1016 1017 1018 1019 1020 |
# File 'lib/mesa_test.rb', line 1015 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
1031 1032 1033 1034 1035 1036 |
# File 'lib/mesa_test.rb', line 1031 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
1010 1011 1012 |
# File 'lib/mesa_test.rb', line 1010 def passed? results_hash['outcome'] == :pass end |
#ran? ⇒ Boolean
rough proxy for whether or not the test has even been run
1004 1005 1006 |
# File 'lib/mesa_test.rb', line 1004 def ran? File.exist?(testhub_file) end |
#results_hash ⇒ Object
995 996 997 998 999 1000 1001 |
# File 'lib/mesa_test.rb', line 995 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
978 979 980 |
# File 'lib/mesa_test.rb', line 978 def test_case_dir File.join(test_suite_dir, test_name) end |
#test_suite_dir ⇒ Object
974 975 976 |
# File 'lib/mesa_test.rb', line 974 def test_suite_dir mesa.test_suite_dir(mod: @mod) end |
#testhub_file ⇒ Object
982 983 984 |
# File 'lib/mesa_test.rb', line 982 def testhub_file File.join(test_case_dir, 'testhub.yml') end |