summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Davis <ryand@zenspider.com>2020-02-09 03:26:49 -0800
committerRyan Davis <ryand@zenspider.com>2020-02-09 03:26:49 -0800
commit9b07634d46a3a6a77649c27df8fa7321c498b9de (patch)
treeb7036cbfce8ecaa22f0e782aeb3e1ce1f3376e7e
parentdd845b9d716ff80392b1dd593c54b64e232b8ce5 (diff)
downloadhoe-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.rb3
-rw-r--r--lib/minitest/test_task.rb2
-rw-r--r--test/test_hoe_test.rb67
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