diff --git a/lib/m/executor.rb b/lib/m/executor.rb index 9c37e19..66a2621 100644 --- a/lib/m/executor.rb +++ b/lib/m/executor.rb @@ -73,7 +73,9 @@ def suites begin # Fire up this Ruby file. Let's hope it actually has tests. - require "./#{testable.file}" + file = testable.file + file = "./#{testable.file}" unless file.start_with? "/" + require file rescue LoadError => e # Fail with a happier error message instead of spitting out a backtrace from this gem warn "Failed loading test file:\n#{e.message}" diff --git a/test/active_support_test.rb b/test/active_support_test.rb index 3431d13..f3ad041 100644 --- a/test/active_support_test.rb +++ b/test/active_support_test.rb @@ -1,6 +1,11 @@ require "test_helper" class ActiveSupportTest < MTest + def test_run_simple_test_by_line_number_with_absolute_path + output = m File.join(__dir__, "examples/active_support_example_test.rb:9") + assert_output(/1 (runs|tests), 1 assertions/, output) + end + def test_run_simple_test_by_line_number output = m "examples/active_support_example_test.rb:9" assert_output(/1 (runs|tests), 1 assertions/, output) diff --git a/test/minitest_4_test.rb b/test/minitest_4_test.rb index 8da1a48..d4c215c 100644 --- a/test/minitest_4_test.rb +++ b/test/minitest_4_test.rb @@ -2,6 +2,11 @@ if M::Frameworks.minitest4? class Minitest4Test < MTest + def test_run_simple_test_by_line_number_with_absolute_path + output = m File.join(__dir__, "examples/minitest_4_example_test.rb:19") + assert_output(/1 tests, 1 assertions/, output) + end + def test_run_simple_test_by_line_number output = m "examples/minitest_4_example_test.rb:19" assert_output(/1 tests, 1 assertions/, output) diff --git a/test/minitest_5_test.rb b/test/minitest_5_test.rb index 56b53d8..fa6b82c 100644 --- a/test/minitest_5_test.rb +++ b/test/minitest_5_test.rb @@ -1,6 +1,11 @@ require "test_helper" if M::Frameworks.minitest5? class Minitest5Test < MTest + def test_run_simple_test_by_line_number_with_absolute_path + output = m File.join(__dir__, "examples/minitest_5_example_test.rb:19") + assert_output(/1 runs, 1 assertions/, output) + end + def test_run_simple_test_by_line_number output = m "examples/minitest_5_example_test.rb:19" assert_output(/1 runs, 1 assertions/, output) diff --git a/test/test_unit_test.rb b/test/test_unit_test.rb index 28c5829..564df5e 100644 --- a/test/test_unit_test.rb +++ b/test/test_unit_test.rb @@ -2,6 +2,11 @@ if M::Frameworks.test_unit? class TestUnitTest < MTest + def test_run_simple_test_by_line_number_with_absolute_path + output = m File.join(__dir__, "examples/test_unit_example_test.rb:9") + assert_output(/1 tests, 1 assertions/, output) + end + def test_run_simple_test_by_line_number output = m "examples/test_unit_example_test.rb:9" assert_output(/1 tests, 1 assertions/, output)