diff options
author | Ryan Davis <ryand@zenspider.com> | 2020-02-09 03:26:49 -0800 |
---|---|---|
committer | Ryan Davis <ryand@zenspider.com> | 2020-02-09 03:26:49 -0800 |
commit | 9b07634d46a3a6a77649c27df8fa7321c498b9de (patch) | |
tree | b7036cbfce8ecaa22f0e782aeb3e1ce1f3376e7e | |
parent | dd845b9d716ff80392b1dd593c54b64e232b8ce5 (diff) | |
download | hoe-9b07634d46a3a6a77649c27df8fa7321c498b9de.tar.gz |
- Fixed wiring of test_prelude into Minitest::TestTask.create. (flavorjones)
- Fixed ordering of test_prelude vs framework in Minitest::TestTask. (flavorjones)
[git-p4: depot-paths = "//src/hoe/dev/": change = 12538]
-rw-r--r-- | lib/hoe/test.rb | 3 | ||||
-rw-r--r-- | lib/minitest/test_task.rb | 2 | ||||
-rw-r--r-- | test/test_hoe_test.rb | 67 |
3 files changed, 57 insertions, 15 deletions
diff --git a/lib/hoe/test.rb b/lib/hoe/test.rb index a0432c9..af9ddbc 100644 --- a/lib/hoe/test.rb +++ b/lib/hoe/test.rb @@ -80,8 +80,9 @@ module Hoe::Test when :minitest then require "minitest/test_task" # currently in hoe, but will move + test_prelude = self.test_prelude Minitest::TestTask.create :test do |t| - t.test_prelude = self.test_prelude + t.test_prelude = test_prelude t.libs += Hoe.include_dirs.uniq end when :testunit then diff --git a/lib/minitest/test_task.rb b/lib/minitest/test_task.rb index 5ead3da..9c2e5d7 100644 --- a/lib/minitest/test_task.rb +++ b/lib/minitest/test_task.rb @@ -259,8 +259,8 @@ module Minitest # :nodoc: tests.map! { |f| %(require "#{f}") } runner = [] - runner << framework runner << test_prelude if test_prelude + runner << framework runner.concat tests runner = runner.join "; " diff --git a/test/test_hoe_test.rb b/test/test_hoe_test.rb index 253c11a..e908ec1 100644 --- a/test/test_hoe_test.rb +++ b/test/test_hoe_test.rb @@ -26,36 +26,77 @@ class TestHoeTest < Minitest::Test end end - def test_make_test_cmd_with_different_testlibs - skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] + EXPECTED = %W[-w -Ilib:bin:test:. + -e 'require "rubygems"; %srequire "test/test_hoe_test.rb"' + --].join(" ") + " " + + MT_EXPECTED = %W[-Ilib:test:. -w + -e '%srequire "test/test_hoe_test.rb"' + --].join(" ") + " " - expected = ['-w -Ilib:bin:test:. -e \'require "rubygems"; %s', - 'require "test/test_hoe_test.rb"', - "' -- ", - ].join + def test_make_test_cmd_defaults_to_minitest + skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] # default assert_deprecated do autorun = %(require "minitest/autorun"; ) - assert_equal expected % autorun, @tester.make_test_cmd + assert_equal EXPECTED % autorun, @tester.make_test_cmd end + end + + def test_make_test_cmd_for_testunit + skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] assert_deprecated do @tester.testlib = :testunit testunit = %(require "test/unit"; ) - assert_equal expected % testunit, @tester.make_test_cmd + assert_equal EXPECTED % testunit, @tester.make_test_cmd end + end - assert_deprecated do - @tester.testlib = :minitest - autorun = %(require "minitest/autorun"; ) - assert_equal expected % autorun, @tester.make_test_cmd + def test_make_test_cmd_for_minitest + skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] + + require "minitest/test_task" # currently in hoe, but will move + + framework = %(require "minitest/autorun"; ) + + @tester = Minitest::TestTask.create :test do |t| + t.libs += Hoe.include_dirs.uniq + t.test_globs = ["test/test_hoe_test.rb"] + end + + assert_equal MT_EXPECTED % [framework].join("; "), @tester.make_test_cmd + end + + def test_make_test_cmd_for_minitest_prelude + skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] + + require "minitest/test_task" # currently in hoe, but will move + + prelude = %(require "other/file") + framework = %(require "minitest/autorun"; ) + + @tester = Minitest::TestTask.create :test do |t| + t.test_prelude = prelude + t.libs += Hoe.include_dirs.uniq + t.test_globs = ["test/test_hoe_test.rb"] end + assert_equal MT_EXPECTED % [prelude, framework].join("; "), @tester.make_test_cmd + end + + def test_make_test_cmd_for_no_framework + skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] + assert_deprecated do @tester.testlib = :none - assert_equal expected % "", @tester.make_test_cmd + assert_equal EXPECTED % "", @tester.make_test_cmd end + end + + def test_make_test_cmd_for_faketestlib + skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"] @tester.testlib = :faketestlib e = assert_raises(RuntimeError) do |