Sha256: c3cfbd2e666e3d3e32ecf88a5728249bf21fb1f9b81de263818defd9555907ab
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
module M class Runner def initialize(argv) @file, line = argv.first.split(':') @line = line.to_i end def run tests_to_run = tests.within(@line) if tests_to_run.size > 0 test_names = tests_to_run.map(&:name).join('|') exit Test::Unit::AutoRunner.run(false, nil, ["-n", "/(#{test_names})/"]) else message = "No tests found on line #{@line}. Valid tests to run:\n\n" tests.by_line_number do |test| message << "#{sprintf("%0#{tests.column_size}s", test.name)}: m #{@file}:#{test.start_line}\n" end abort message end end private def suites $:.unshift "./test" load @file Test::Unit::TestCase.test_suites.inject({}) do |suites, suite_class| suites[suite_class] = suite_class.test_methods unless suite_class.test_methods.empty? suites end end def tests @tests ||= begin collection = TestCollection.new suites.each do |suite_class, test_methods| test_methods.each do |test_method| collection << TestMethod.create(suite_class, test_method) end end collection end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
m-0.0.1 | lib/m/runner.rb |