class JmlTestRunner::Runner
Attributes
dir[R]
exes[R]
suites_run[R]
Public Class Methods
new(test_dir)
click to toggle source
# File lib/jml_test_runner/runner.rb, line 8 def initialize(test_dir) @dir = File.expand_path(test_dir) @exes = Dir["#{@dir}/**/*"].select { |f| f =~ /(.+)_tests?$/ } @suites_run = [] end
Public Instance Methods
run(suite_name = nil)
click to toggle source
# File lib/jml_test_runner/runner.rb, line 14 def run(suite_name = nil) _check_for_suite(suite_name) if suite_name _do_run(suite_name) @formatter = JmlTestRunner::Formatters::Basic.new(self) @formatter.print_formatted_output end
Private Instance Methods
_check_for_suite(name)
click to toggle source
# File lib/jml_test_runner/runner.rb, line 23 def _check_for_suite(name) raise "#{name} not found!" unless @exes.include?(name) end
_do_run(suite_name = nil)
click to toggle source
# File lib/jml_test_runner/runner.rb, line 27 def _do_run(suite_name = nil) return _run_single_test(suite_name) if suite_name @exes.each do |exe| _run_single_test(exe) end end
_parse_xml_output(xml)
click to toggle source
# File lib/jml_test_runner/runner.rb, line 46 def _parse_xml_output(xml) @suites_run.push(Suite.new(xml)) end
_run_single_test(test_exe)
click to toggle source
# File lib/jml_test_runner/runner.rb, line 34 def _run_single_test(test_exe) Open3.popen2( { 'CK_XML_LOG_FILE_NAME' => '-', 'CK_VERBOSITY' => 'silent' }, "./#{File.basename(test_exe)}", chdir: @dir) do |_input, output, _th| _parse_xml_output(output) end end