Class: Turn::CrossRunner
- Defined in:
- lib/turn/runners/crossrunner.rb
Overview
Cross Runner
Cross Runner runs test in pairs.
TODO: This needs work in the test_loop_runner.
It needs to show the files being cross tested.
TODO: Cross runner output needs to be fixed
Constant Summary
Constants included from Colorize
Turn::Colorize::COLORIZE, Turn::Colorize::ERROR, Turn::Colorize::FAIL, Turn::Colorize::PASS, Turn::Colorize::SKIP
Instance Attribute Summary
Attributes inherited from IsoRunner
Instance Method Summary collapse
Methods included from Colorize
blue, bold, error, fail, green, magenta, pass, red, skip
Instance Method Details
#start ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/turn/runners/crossrunner.rb', line 15 def start suite = TestSuite.new files = @controller.files viles = @controller.files # TODO: make selectable ? #files = files.select{ |f| File.extname(f) == '.rb' and File.file?(f) } #viles = viles.select{ |f| File.extname(f) == '.rb' and File.file?(f) } pairs = files.inject([]){ |m, f| viles.collect{ |v| m << [f,v] }; m } pairs = pairs.reject{ |f,v| f == v } max = files.collect{ |f| f.sub(Dir.pwd+'/','').size }.max testruns = pairs.collect do |file1, file2| name1 = file1.sub(Dir.pwd+'/','') name2 = file2.sub(Dir.pwd+'/','') name = "%-#{max}s %-#{max}s" % [name1, name2] suite.new_case(name, file1, file2) end test_loop_runner(suite) end |