Ruby 1.9+ uses Minitest as the backend for Test::Unit. As of Minitest 5,
the shim has lost some backwards compatibility. It is time to make the
jump to minitest.
Adjust the unicorn test suite to support Minitest 5's syntax.
Minitest versions 4 and below do not support the newer Minitest::Test
class that arrived in version 5. For that case, use the
MiniTest::Unit::TestCase class as a fallback.
---
Please keep me in the CC as I'm not subscribed to the unicorn email list.
setup.rb | 12
test/exec/test_exec.rb| 16
test/test_helper.rb | 13 ++---
test/unit/test_configurator.rb| 8 +++-
test/unit/test_droplet.rb | 4 ++--
test/unit/test_http_parser.rb | 2 +-
test/unit/test_http_parser_ng.rb | 12 ++--
test/unit/test_http_parser_xftrust.rb | 2 +-
test/unit/test_request.rb | 2 +-
test/unit/test_response.rb| 2 +-
test/unit/test_server.rb | 2 +-
test/unit/test_signals.rb | 2 +-
test/unit/test_sni_hostnames.rb | 4 ++--
test/unit/test_socket_helper.rb | 2 +-
test/unit/test_stream_input.rb| 4 ++--
test/unit/test_tee_input.rb | 4 ++--
test/unit/test_upload.rb | 4 ++--
test/unit/test_util.rb| 2 +-
unicorn.gemspec | 1 +
19 files changed, 50 insertions(+), 48 deletions(-)
diff --git a/setup.rb b/setup.rb
index cf1abd9..42ce95c 100644
--- a/setup.rb
+++ b/setup.rb
@@ -1458,14 +1458,10 @@ class Installer
return
end
$stderr.puts 'Running tests...' if verbose?
-begin
- require 'test/unit'
-rescue LoadError
- setup_rb_error 'test/unit cannot loaded. You need Ruby 1.8 or later to
invoke this task.'
-end
-runner = Test::Unit::AutoRunner.new(true)
-runner.to_run TESTDIR
-runner.run
+$dir = File.dirname(File.expand_path(__FILE__))
+$LOAD_PATH.unshift $dir
+$LOAD_PATH.unshift $dir + '/lib/'
+Dir.glob ./test/**/test_*.rb, method(:require)
end
#
diff --git a/test/exec/test_exec.rb b/test/exec/test_exec.rb
index 10a1bae..dd13931 100644
--- a/test/exec/test_exec.rb
+++ b/test/exec/test_exec.rb
@@ -20,7 +20,7 @@ unless try_require('rack')
do_test = false
end
-class ExecTest Test::Unit::TestCase
+class ExecTest Minitest::Test
trap(:QUIT, 'IGNORE')
HI = -EOS
@@ -316,7 +316,7 @@ EOF
assert(system($unicorn_bin, -h), help text returns true)
end
assert_equal 0, File.stat(test_stderr.#$$.log).size
-assert_not_equal 0, File.stat(test_stdout.#$$.log).size
+refute_equal 0, File.stat(test_stdout.#$$.log).size
lines = File.readlines(test_stdout.#$$.log)
# Be considerate of the on-call technician working from their
@@ -386,7 +386,7 @@ EOF
wait_for_file(old_file)
wait_for_file(pid_file)
new_pid = File.read(pid_file).to_i
-assert_not_equal current_pid, new_pid
+refute_equal current_pid, new_pid
assert_equal current_pid, File.read(old_file).to_i
results = retry_hit([http://#{@addr}:#{@port}/;,
http://#{@addr}:#{port2}/;])
@@ -448,7 +448,7 @@ EOF
wait_for_file(old_file)
wait_for_file(pid_file)
new_pid = File.read(pid_file).to_i
-assert_not_equal current_pid, new_pid
+refute_equal current_pid, new_pid
assert_equal current_pid, File.read(old_file).to_i
results = retry_hit([http://#{@addr}:#{@port}/;])
assert_equal String, results[0].class
@@ -520,7 +520,7 @@ EOF
results = retry_hit([http://#{@addr}:#{@port}/;])
assert_equal String, results[0].class
worker_pid = results[0].to_i
-assert_not_equal pid, worker_pid
+refute_equal pid, worker_pid
s = UNIXSocket.new(tmp.path)
s.syswrite(GET / HTTP/1.0\r\n\r\n)
results = ''
@@ -755,7 +755,7 @@ EOF
assert_equal String, results.class
end
-assert_not_equal 0, new_log.size
+refute_equal 0, new_log.size
reexec_usr2_quit_test(pid, pid_file)
end
@@ -777,7 +777,7 @@ EOF
assert_equal String, results[0].class
wait_for_file(pid_file)
new_pid = File.read(pid_file).to_i
-assert_not_equal pid, new_pid
+refute_equal pid, new_pid
pid, status = Process.waitpid2(pid)
assert status.success?, original process exited successfully
Process.kill(0, new_pid)
@@ -845,7 +845,7 @@ EOF
File.truncate(log.path, 0)
wait_for_file(pid_file)
pid = File.read(pid_file).to_i
-assert_not_equal orig_pid, pid
+refute_equal orig_pid, pid
curr_fds = `ls -l /proc/#{pid}/fd`.split(/\n/)
assert $?.success?
diff --git a/test/test_helper.rb b/test/test_helper.rb
index c65f2f3..db7def1 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -18,7 +18,7 @@ ENV['NO_PROXY'] ||= ENV['UNICORN_TEST_ADDR'] || '127.0.0.1'
DEFAULT_TRIES = 1000
DEFAULT_RES = 0.2
-require 'test/unit'
+require