[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Convert Ruby tests from test-unit to minitest

From: James McCoy <jamessan_at_debian.org>
Date: Wed, 4 Nov 2015 22:39:42 -0500

Ruby 2.2 changed test/unit from an in-tree wrapper around minitest
4 to a bundled version of the externally maintained ruby-test-unit gem.
Similarly, the in-tree minitest was removed and the externally
maintained ruby-minitest gem (of the 5.x series) is bundled. These
changes broke check-swig-rb, since the test framework APIs behave
differently.

The test suite needs to be adapted to either the new ruby-test-unit API
or to the ruby-minitest API. Since ruby-minitest is simpler, more
typical Ruby code, convert the tests to use the maintained 5.x series.

* Makefile.in
  (check-swig-rb): Use SWIG_RB_TEST_VERBOSE as a flag for whether
    --verbose should be used, instead of a level. Remove Ruby version
    check to determine whether --verbose can be used.

* subversion/bindings/swig/INSTALL
  (): Document the requirement of the minitest gem to run check-swig-rb.

[in subversion/bindings/swig/ruby/test]

* my-assertions.rb
  (assert_true, assert_false, assert_nested_sorted_array,
   assert_equal_log_entries): Remove use of _my_assert_block. Rely on
    the pass/fail status of the contained assertions.
  (): Inject the assert_* functions into Minitest::Assertions namespace
    instead of Test::Unit::Assertions.

* run-test.rb
  (): Ensure minitest >= 5.0.0 is available.
  (): Remove test/unit and test-unit-ext requires in favor of
    minitest/autorun.
  (): Replace runner invocation with require of all test_*.rb files
    under test_dir. minitest/autorun runs all present test_* functions,
    instead of scanning subdirectories for test_* files.

* test-unit-ext.rb,
  test-unit-ext/always-show-result.rb,
  test-unit-ext/backtrace-filter.rb,
  test-unit-ext/long-display-for-emacs.rb,
  test-unit-ext/priority.rb
  Remove. Stub functionality to support different versions of
  test/unit.

* test_client.rb
  (SvnClientTest): Derive test class from Minitest::Test.
  (assert_changed, assert_merge, test_resolved, test_resolve_base,
   test_resolve_theirs_full, test_resolve_mine_full,
   test_resolve_their_conflict, test_resolve_mine_conflict,
   test_resolve_merged): Replace test/unit assert_not_* assertions with
    minitest's refute_*.
  (test_add_not_recurse, test_add_force, test_add_no_ignore,
   test_update, test_blame, test_username_provider, test_commit_item,
   test_log_msg_func_cancel):
    Replace assert_raise calls with assert_raises.

* test_core-rb
  (SvnCoreTest): Derive test class from Minitest::Test.
  (test_version_equal, test_mergeinfo_to_s, test_range_list_to_s,
   test_mergerange_equality): Replace test/unit assert_not_* assertions
    with minitest's refute_*.
  (test_not_new_auth_provider_object, test_auth_parameter): Replace
   assert_raise calls with assert_raises.

* test_delta.rb
  (SvnDeltaTest): Derive test class from Minitest::Test.
  (test_txdelta_window, test_txdelta_window_compose): Remove use of
    _my_assert_block.

* test_error.rb
  (SvnErrorTest): Derive test class from Minitest::Test.

* test_fs.rb
  (SvnFsTest): Derive test class from Minitest::Test.
  (test_transation, assert_recover): Remove assert_nothing_raised. Such
    an assertion is useless since if an exception were raised, the test
    will fail, by definition.

* test_info.rb
  (SvnInfoTest): Derive test class from Minitest::Test.

* test_ra.rb
  (SvnRaTest): Derive test class from Minitest::Test.
  (test_open_without_callback): Remove assert_nothing_raised. Such an
    assertion is useless since if an exception were raised, the test
    will fail, by definition.
  (test_reparent): Replace assert_raise calls with assert_raises.

* test_repos.rb
  (SvnReposTest): Derive test class from Minitest::Test.
  (test_prop, test_dump): Remove assert_nothing_raised. Such an
    assertion is useless since if an exception were raised, the test
    will fail, by definition.
  (test_prop, test_load): Replace test/unit assert_not_* assertions with
    minitest's refute_*.

* test_util.rb
  (SvnUtilTest): Derive test class from Minitest::Test.

* test_wc.rb
  (SvnWcTest): Derive test class from Minitest::Test.
  (test_status, test_context_create): Remove assert_nothing_raised.
    Such an assertion is useless since if an exception were raised, the
    test will fail, by definition.
  (test_wc, test_context_new_default_config,
   test_context_new_specified_config, test_context_create): Replace
    test/unit assert_not_* assertions with minitest's refute_*.
  (assert_translated_eol): Remove use of _my_assert_block.

---
 Makefile.in                                        |  12 +-
 subversion/bindings/swig/INSTALL                   |   2 +-
 .../bindings/swig/ruby/test/my-assertions.rb       |  78 +++------
 subversion/bindings/swig/ruby/test/run-test.rb     |  10 +-
 .../bindings/swig/ruby/test/test-unit-ext.rb       |  23 ---
 .../ruby/test/test-unit-ext/always-show-result.rb  |  47 -----
 .../ruby/test/test-unit-ext/backtrace-filter.rb    |  36 ----
 .../test/test-unit-ext/long-display-for-emacs.rb   |  44 -----
 .../swig/ruby/test/test-unit-ext/priority.rb       | 195 ---------------------
 subversion/bindings/swig/ruby/test/test_client.rb  | 150 ++++++----------
 subversion/bindings/swig/ruby/test/test_core.rb    |  18 +-
 subversion/bindings/swig/ruby/test/test_delta.rb   |  53 +++---
 subversion/bindings/swig/ruby/test/test_error.rb   |   2 +-
 subversion/bindings/swig/ruby/test/test_fs.rb      |  10 +-
 subversion/bindings/swig/ruby/test/test_info.rb    |   2 +-
 subversion/bindings/swig/ruby/test/test_ra.rb      |  12 +-
 subversion/bindings/swig/ruby/test/test_repos.rb   |  18 +-
 subversion/bindings/swig/ruby/test/test_util.rb    |   2 +-
 subversion/bindings/swig/ruby/test/test_wc.rb      |  66 ++++---
 19 files changed, 173 insertions(+), 607 deletions(-)
 delete mode 100644 subversion/bindings/swig/ruby/test/test-unit-ext.rb
 delete mode 100644 subversion/bindings/swig/ruby/test/test-unit-ext/always-show-result.rb
 delete mode 100644 subversion/bindings/swig/ruby/test/test-unit-ext/backtrace-filter.rb
 delete mode 100644 subversion/bindings/swig/ruby/test/test-unit-ext/long-display-for-emacs.rb
 delete mode 100644 subversion/bindings/swig/ruby/test/test-unit-ext/priority.rb
diff --git a/Makefile.in b/Makefile.in
index fbac5ab..2c6caa6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -921,14 +921,14 @@ swig-rb: autogen-swig-rb
 check-swig-rb: swig-rb svnserve
 	$(TEST_SHLIB_VAR_SWIG_RB) \
 	cd $(SWIG_RB_DIR); \
-          if [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \
-            $(RUBY) -I $(SWIG_RB_SRC_DIR) \
-              $(SWIG_RB_SRC_DIR)/test/run-test.rb \
-	      --verbose=$(SWIG_RB_TEST_VERBOSE); \
-          else \
+	  if [ "$(SWIG_RB_TEST_VERBOSE)" != "normal" ] ; then \
+	    $(RUBY) -I $(SWIG_RB_SRC_DIR) \
+	      $(SWIG_RB_SRC_DIR)/test/run-test.rb \
+	      --verbose; \
+	  else \
 	    $(RUBY) -I $(SWIG_RB_SRC_DIR) \
 	      $(SWIG_RB_SRC_DIR)/test/run-test.rb; \
-          fi
+	  fi
 
 EXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c
 
diff --git a/subversion/bindings/swig/INSTALL b/subversion/bindings/swig/INSTALL
index a37657a..72dced6 100644
--- a/subversion/bindings/swig/INSTALL
+++ b/subversion/bindings/swig/INSTALL
@@ -208,7 +208,7 @@ Step 3:  Install Specific Language Bindings
    of the configure command in the top level of the Subversion source 
    tree. Make sure that the Ruby version used is the same one that you 
    configured SWIG to run against during the SWIG configure (see above). 
-   
+   The minitest gem, 5.0.0 or later, is require to run tests.
 
 BUILDING SWIG BINDINGS FOR SVN ON WINDOWS
 
diff --git a/subversion/bindings/swig/ruby/test/my-assertions.rb b/subversion/bindings/swig/ruby/test/my-assertions.rb
index 77c42e7..b47acb7 100644
--- a/subversion/bindings/swig/ruby/test/my-assertions.rb
+++ b/subversion/bindings/swig/ruby/test/my-assertions.rb
@@ -17,64 +17,40 @@
 #    under the License.
 # ====================================================================
 
-require "test/unit"
-require "test/unit/assertions"
+require "minitest/assertions"
 
-module Test
-  module Unit
-    module Assertions
+module Minitest
+  module Assertions
 
-      # make an intermediary assertion block handler
-      def _my_assert_block(&block)
-       if RUBY_VERSION > '1.9'
-         assert_block do
-           yield
-         end
-       else
-         _wrap_assertion do
-           yield
-         end
-       end
-      end
-
-      def assert_true(boolean, message=nil)
-        _my_assert_block do
-          assert_equal(true, boolean, message)
-        end
-      end
+    def assert_true(boolean, message=nil)
+      assert_equal(true, boolean, message)
+    end
 
-      def assert_false(boolean, message=nil)
-        _my_assert_block do
-          assert_equal(false, boolean, message)
-        end
-      end
+    def assert_false(boolean, message=nil)
+      assert_equal(false, boolean, message)
+    end
 
-      def assert_nested_sorted_array(expected, actual, message=nil)
-        _my_assert_block do
-          assert_equal(expected.collect {|elem| elem.sort},
-                       actual.collect {|elem| elem.sort},
-                       message)
-        end
-      end
+    def assert_nested_sorted_array(expected, actual, message=nil)
+      assert_equal(expected.collect {|elem| elem.sort},
+                   actual.collect {|elem| elem.sort},
+                   message)
+    end
 
-      def assert_equal_log_entries(expected, actual, message=nil)
-        _my_assert_block do
-          actual = actual.collect do |entry|
-            changed_paths = entry.changed_paths
-            changed_paths.each_key do |path|
-              changed_path = changed_paths[path]
-              changed_paths[path] = [changed_path.action,
-                                     changed_path.copyfrom_path,
-                                     changed_path.copyfrom_rev]
-            end
-            [changed_paths,
-             entry.revision,
-             entry.revision_properties.reject {|key, value| key == "svn:date"},
-             entry.has_children?]
-          end
-          assert_equal(expected, actual, message)
+    def assert_equal_log_entries(expected, actual, message=nil)
+      actual = actual.collect do |entry|
+        changed_paths = entry.changed_paths
+        changed_paths.each_key do |path|
+          changed_path = changed_paths[path]
+          changed_paths[path] = [changed_path.action,
+                                 changed_path.copyfrom_path,
+                                 changed_path.copyfrom_rev]
         end
+        [changed_paths,
+         entry.revision,
+         entry.revision_properties.reject {|key, value| key == "svn:date"},
+         entry.has_children?]
       end
+      assert_equal(expected, actual, message)
     end
   end
 end
diff --git a/subversion/bindings/swig/ruby/test/run-test.rb b/subversion/bindings/swig/ruby/test/run-test.rb
index 5c9a2c9..3802976 100755
--- a/subversion/bindings/swig/ruby/test/run-test.rb
+++ b/subversion/bindings/swig/ruby/test/run-test.rb
@@ -19,7 +19,8 @@
 #    under the License.
 # ====================================================================
 
-require "test/unit"
+gem 'minitest', '>=5.0.0'
+require "minitest/autorun"
 require "fileutils"
 
 test_dir = File.expand_path(File.join(File.dirname(__FILE__)))
@@ -35,7 +36,6 @@ at_exit {FileUtils.rm_rf(ext_dir)}
 
 $LOAD_PATH.unshift(test_dir)
 require 'util'
-require 'test-unit-ext'
 
 SvnTestUtil.setup_test_environment(top_dir, base_dir, ext_svn_ext_dir)
 
@@ -47,8 +47,4 @@ $LOAD_PATH.unshift(test_dir)
 require 'svn/core'
 Svn::Locale.set
 
-if Test::Unit::AutoRunner.respond_to?(:standalone?)
-  exit Test::Unit::AutoRunner.run($0, File.dirname($0))
-else
-  exit Test::Unit::AutoRunner.run(false, File.dirname($0))
-end
+Dir.entries(test_dir).grep(/^test_.*\.rb/).each { |f| require f }
diff --git a/subversion/bindings/swig/ruby/test/test-unit-ext.rb b/subversion/bindings/swig/ruby/test/test-unit-ext.rb
deleted file mode 100644
index ce88d75..0000000
--- a/subversion/bindings/swig/ruby/test/test-unit-ext.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# ====================================================================
-#    Licensed to the Apache Software Foundation (ASF) under one
-#    or more contributor license agreements.  See the NOTICE file
-#    distributed with this work for additional information
-#    regarding copyright ownership.  The ASF licenses this file
-#    to you under the Apache License, Version 2.0 (the
-#    "License"); you may not use this file except in compliance
-#    with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing,
-#    software distributed under the License is distributed on an
-#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#    KIND, either express or implied.  See the License for the
-#    specific language governing permissions and limitations
-#    under the License.
-# ====================================================================
-
-require "test-unit-ext/always-show-result" if RUBY_VERSION < '1.9.3'
-require "test-unit-ext/priority"
-require "test-unit-ext/backtrace-filter" if RUBY_VERSION < '1.9.3'
-require "test-unit-ext/long-display-for-emacs" if RUBY_VERSION < '1.9.3'
diff --git a/subversion/bindings/swig/ruby/test/test-unit-ext/always-show-result.rb b/subversion/bindings/swig/ruby/test/test-unit-ext/always-show-result.rb
deleted file mode 100644
index 6866f7d..0000000
--- a/subversion/bindings/swig/ruby/test/test-unit-ext/always-show-result.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-# ====================================================================
-#    Licensed to the Apache Software Foundation (ASF) under one
-#    or more contributor license agreements.  See the NOTICE file
-#    distributed with this work for additional information
-#    regarding copyright ownership.  The ASF licenses this file
-#    to you under the Apache License, Version 2.0 (the
-#    "License"); you may not use this file except in compliance
-#    with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing,
-#    software distributed under the License is distributed on an
-#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#    KIND, either express or implied.  See the License for the
-#    specific language governing permissions and limitations
-#    under the License.
-# ====================================================================
-
-require "test/unit/ui/testrunnermediator"
-
-module Test
-  module Unit
-    module UI
-      class TestRunnerMediator
-        alias_method :original_run_suite, :run_suite
-        def run_suite
-          @notified_finished = false
-          begin_time = Time.now
-          original_run_suite
-        rescue Interrupt
-          unless @notified_finished
-            end_time = Time.now
-            elapsed_time = end_time - begin_time
-            notify_listeners(FINISHED, elapsed_time)
-          end
-          raise
-        end
-
-        def notify_listeners(channel_name, *arguments)
-          @notified_finished = true if channel_name == FINISHED
-          super
-        end
-      end
-    end
-  end
-end
diff --git a/subversion/bindings/swig/ruby/test/test-unit-ext/backtrace-filter.rb b/subversion/bindings/swig/ruby/test/test-unit-ext/backtrace-filter.rb
deleted file mode 100644
index daa5ec7..0000000
--- a/subversion/bindings/swig/ruby/test/test-unit-ext/backtrace-filter.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-# ====================================================================
-#    Licensed to the Apache Software Foundation (ASF) under one
-#    or more contributor license agreements.  See the NOTICE file
-#    distributed with this work for additional information
-#    regarding copyright ownership.  The ASF licenses this file
-#    to you under the Apache License, Version 2.0 (the
-#    "License"); you may not use this file except in compliance
-#    with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing,
-#    software distributed under the License is distributed on an
-#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#    KIND, either express or implied.  See the License for the
-#    specific language governing permissions and limitations
-#    under the License.
-# ====================================================================
-
-require 'test/unit/util/backtracefilter'
-
-module Test
-  module Unit
-    module Util
-      module BacktraceFilter
-        TEST_UNIT_EXT_PREFIX = File.dirname(__FILE__)
-
-        alias_method :original_filter_backtrace, :filter_backtrace
-        def filter_backtrace(backtrace, prefix=nil)
-          original_result = original_filter_backtrace(backtrace, prefix)
-          original_filter_backtrace(original_result, TEST_UNIT_EXT_PREFIX)
-        end
-      end
-    end
-  end
-end
diff --git a/subversion/bindings/swig/ruby/test/test-unit-ext/long-display-for-emacs.rb b/subversion/bindings/swig/ruby/test/test-unit-ext/long-display-for-emacs.rb
deleted file mode 100644
index 46b0512..0000000
--- a/subversion/bindings/swig/ruby/test/test-unit-ext/long-display-for-emacs.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# ====================================================================
-#    Licensed to the Apache Software Foundation (ASF) under one
-#    or more contributor license agreements.  See the NOTICE file
-#    distributed with this work for additional information
-#    regarding copyright ownership.  The ASF licenses this file
-#    to you under the Apache License, Version 2.0 (the
-#    "License"); you may not use this file except in compliance
-#    with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing,
-#    software distributed under the License is distributed on an
-#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#    KIND, either express or implied.  See the License for the
-#    specific language governing permissions and limitations
-#    under the License.
-# ====================================================================
-
-require 'test/unit/failure'
-require 'test/unit/error'
-
-module Test
-  module Unit
-    BACKTRACE_INFO_RE = /.+:\d+:in `.+?'/
-    class Failure
-      alias_method :original_long_display, :long_display
-      def long_display
-        extract_backtraces_re =
-          /^    \[(#{BACKTRACE_INFO_RE}(?:\n     #{BACKTRACE_INFO_RE})+)\]:$/
-        original_long_display.gsub(extract_backtraces_re) do |backtraces|
-          $1.gsub(/^     (#{BACKTRACE_INFO_RE})/, '\1') + ':'
-        end
-      end
-    end
-
-    class Error
-      alias_method :original_long_display, :long_display
-      def long_display
-        original_long_display.gsub(/^    (#{BACKTRACE_INFO_RE})/, '\1')
-      end
-    end
-  end
-end
diff --git a/subversion/bindings/swig/ruby/test/test-unit-ext/priority.rb b/subversion/bindings/swig/ruby/test/test-unit-ext/priority.rb
deleted file mode 100644
index 6e5e9a5..0000000
--- a/subversion/bindings/swig/ruby/test/test-unit-ext/priority.rb
+++ /dev/null
@@ -1,195 +0,0 @@
-# ====================================================================
-#    Licensed to the Apache Software Foundation (ASF) under one
-#    or more contributor license agreements.  See the NOTICE file
-#    distributed with this work for additional information
-#    regarding copyright ownership.  The ASF licenses this file
-#    to you under the Apache License, Version 2.0 (the
-#    "License"); you may not use this file except in compliance
-#    with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing,
-#    software distributed under the License is distributed on an
-#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#    KIND, either express or implied.  See the License for the
-#    specific language governing permissions and limitations
-#    under the License.
-# ====================================================================
-
-require "test/unit"
-
-require "fileutils"
-
-module Test
-  module Unit
-    class TestCase
-      class << self
-        def inherited(sub)
-          super
-          sub.instance_variable_set("@priority_initialized", true)
-          sub.instance_variable_set("@priority_table", {})
-          sub.priority :normal
-        end
-
-        def include(*args)
-          args.reverse_each do |mod|
-            super(mod)
-            next unless defined?(@priority_initialized)
-            mod.instance_methods(false).each do |name|
-              set_priority(name)
-            end
-          end
-        end
-
-        def method_added(name)
-          set_priority(name) if defined?(@priority_initialized)
-        end
-
-        def priority(name, *tests)
-          singleton_class = (class << self; self; end)
-          priority_check_method = priority_check_method_name(name)
-          unless singleton_class.private_method_defined?(priority_check_method)
-            raise ArgumentError, "unknown priority: #{name}"
-          end
-          if tests.empty?
-            @current_priority = name
-          else
-            tests.each do |test|
-              set_priority(test, name)
-            end
-          end
-        end
-
-        def need_to_run?(test_name)
-          normalized_test_name = normalize_test_name(test_name)
-          priority = @priority_table[normalized_test_name]
-          return true unless priority
-          __send__(priority_check_method_name(priority), test_name)
-        end
-
-        private
-        def priority_check_method_name(priority_name)
-          "run_priority_#{priority_name}?"
-        end
-
-        def normalize_test_name(test_name)
-          "test_#{test_name.to_s.sub(/^test_/, '')}"
-        end
-
-        def set_priority(name, priority=@current_priority)
-          @priority_table[normalize_test_name(name)] = priority
-        end
-
-        def run_priority_must?(test_name)
-          true
-        end
-
-        def run_priority_important?(test_name)
-          rand > 0.1
-        end
-
-        def run_priority_high?(test_name)
-          rand > 0.3
-        end
-
-        def run_priority_normal?(test_name)
-          rand > 0.5
-        end
-
-        def run_priority_low?(test_name)
-          rand > 0.75
-        end
-
-        def run_priority_never?(test_name)
-          false
-        end
-      end
-
-      def need_to_run?
-        !previous_test_success? or self.class.need_to_run?(@method_name)
-      end
-
-      alias_method :original_run, :run
-      def run(result, &block)
-        original_run(result, &block)
-      ensure
-        if passed?
-          FileUtils.touch(passed_file)
-        else
-          FileUtils.rm_f(passed_file)
-        end
-      end
-
-      private
-      def previous_test_success?
-        File.exist?(passed_file)
-      end
-
-      def result_dir
-        dir = File.join(File.dirname($0), ".test-result",
-                        self.class.name, escaped_method_name)
-        dir = File.expand_path(dir)
-        FileUtils.mkdir_p(dir)
-        dir
-      end
-
-      def passed_file
-        File.join(result_dir, "passed")
-      end
-
-      def escaped_method_name
-        @method_name.to_s.gsub(/[!?]$/) do |matched|
-          case matched
-          when "!"
-            ".destructive"
-          when "?"
-            ".predicate"
-          end
-        end
-      end
-    end
-
-    class TestSuite
-      @@priority_mode = false
-
-      class << self
-        def priority_mode=(bool)
-          @@priority_mode = bool
-        end
-      end
-
-      alias_method :original_run, :run
-      def run(*args, &block)
-        priority_mode = @@priority_mode
-        if priority_mode
-          @original_tests = @tests
-          apply_priority
-        end
-        original_run(*args, &block)
-      ensure
-        @tests = @original_tests if priority_mode
-      end
-
-      def apply_priority
-        @tests = @tests.reject {|test| !test.need_to_run?}
-      end
-
-      def need_to_run?
-        apply_priority
-        !@tests.empty?
-      end
-    end if RUBY_VERSION < '1.9.3'
-
-    class AutoRunner
-      alias_method :original_options, :options
-      def options
-        opts = original_options
-        opts.on("--[no-]priority", "use priority mode") do |bool|
-          TestSuite.priority_mode = bool
-        end
-        opts
-      end
-    end
-  end
-end
diff --git a/subversion/bindings/swig/ruby/test/test_client.rb b/subversion/bindings/swig/ruby/test/test_client.rb
index 7f3343b..00949de 100644
--- a/subversion/bindings/swig/ruby/test/test_client.rb
+++ b/subversion/bindings/swig/ruby/test/test_client.rb
@@ -23,7 +23,7 @@ require "util"
 require "svn/core"
 require "svn/client"
 
-class SvnClientTest < Test::Unit::TestCase
+class SvnClientTest < Minitest::Test
   include SvnTestUtil
 
   def setup
@@ -51,7 +51,7 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.add(dir_path, false)
       ctx.commit(@wc_path)
 
-      assert_raise(Svn::Error::FS_NOT_FOUND) do
+      assert_raises(Svn::Error::FS_NOT_FOUND) do
         ctx.cat(uri)
       end
     end
@@ -91,7 +91,7 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.add(dir_path, false)
       ctx.commit(@wc_path)
 
-      assert_raise(Svn::Error::ENTRY_EXISTS) do
+      assert_raises(Svn::Error::ENTRY_EXISTS) do
         ctx.add(dir_path, true, false)
       end
 
@@ -120,7 +120,7 @@ class SvnClientTest < Test::Unit::TestCase
 
       ctx.add(dir_path, true, true, false)
       ctx.commit(@wc_path)
-      assert_raise(Svn::Error::FS_NOT_FOUND) do
+      assert_raises(Svn::Error::FS_NOT_FOUND) do
         ctx.cat(uri)
       end
 
@@ -276,10 +276,8 @@ class SvnClientTest < Test::Unit::TestCase
       assert_raises(Svn::Error::ClientModified) do
         ctx.delete(path)
       end
-      assert_nothing_raised do
-        ctx.delete(path, true)
-        ctx.commit(@wc_path)
-      end
+      ctx.delete(path, true)
+      ctx.commit(@wc_path)
       assert(!File.exist?(path))
     end
   end
@@ -313,10 +311,8 @@ class SvnClientTest < Test::Unit::TestCase
       assert_raises(Svn::Error::ClientModified) do
         ctx.rm(path)
       end
-      assert_nothing_raised do
-        ctx.rm_f(path)
-        ctx.commit(@wc_path)
-      end
+      ctx.rm_f(path)
+      ctx.commit(@wc_path)
       assert(!File.exist?(path))
 
       File.open(path, "w") {|f| f.print(src)}
@@ -554,9 +550,7 @@ class SvnClientTest < Test::Unit::TestCase
 
     make_context(log) do |ctx|
 
-      assert_nothing_raised do
-        ctx.update(File.join(@wc_path, "non-exist"), youngest_rev)
-      end
+      ctx.update(File.join(@wc_path, "non-exist"), youngest_rev)
 
       ctx.add(path)
       commit_info = ctx.commit(@wc_path)
@@ -573,16 +567,14 @@ class SvnClientTest < Test::Unit::TestCase
                    ctx.update([path], commit_info.revision))
       assert_equal(content, File.read(path))
 
-      assert_raise(Svn::Error::FS_NO_SUCH_REVISION) do
+      assert_raises(Svn::Error::FS_NO_SUCH_REVISION) do
         begin
           ctx.update(path, commit_info.revision + 1)
         ensure
           ctx.cleanup(@wc_path)
         end
       end
-      assert_nothing_raised do
-        ctx.update(path + "non-exist", commit_info.revision)
-      end
+      ctx.update(path + "non-exist", commit_info.revision)
     end
   end
 
@@ -776,7 +768,7 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.prop_set(Svn::Core::PROP_MIME_TYPE, "image/DUMMY", path)
       ctx.commit(@wc_path)
 
-      assert_raise(Svn::Error::CLIENT_IS_BINARY_FILE) do
+      assert_raises(Svn::Error::CLIENT_IS_BINARY_FILE) do
         ctx.ann(path) {}
       end
     end
@@ -938,7 +930,7 @@ class SvnClientTest < Test::Unit::TestCase
     ctx.status(path) do |_, status|
       statuses << status
     end
-    assert_not_equal([], statuses)
+    refute_empty(statuses)
   end
 
   def assert_not_changed(ctx, path)
@@ -946,7 +938,7 @@ class SvnClientTest < Test::Unit::TestCase
     ctx.status(path) do |_, status|
       statuses << status
     end
-    assert_equal([], statuses)
+    assert_empty(statuses)
   end
 
   def assert_merge
@@ -999,7 +991,7 @@ class SvnClientTest < Test::Unit::TestCase
                                ],
                                merged_entries)
       mergeinfo = ctx.merged(trunk)
-      assert_not_nil(mergeinfo)
+      refute_nil(mergeinfo)
       assert_equal([branch_uri], mergeinfo.keys)
       ranges = mergeinfo[branch_uri].collect {|range| range.to_a}
       assert_equal([[1, 2, true]], ranges)
@@ -1103,12 +1095,12 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.up(@wc_path, rev - 1)
       File.open(path, "w") {|f| f.print(src)}
 
-      assert_raise(Svn::Error::WC_OBSTRUCTED_UPDATE) do
+      assert_raises(Svn::Error::WC_OBSTRUCTED_UPDATE) do
         ctx.up(@wc_path, rev)
       end
 
       Svn::Wc::AdmAccess.open(nil, @wc_path, true, -1) do |access|
-        assert_raise(Svn::Error::WC_LOCKED) do
+        assert_raises(Svn::Error::WC_LOCKED) do
           ctx.commit(@wc_path)
         end
       end
@@ -1117,21 +1109,17 @@ class SvnClientTest < Test::Unit::TestCase
         raise Svn::Error::CANCELLED
       end
       Svn::Wc::AdmAccess.open(nil, @wc_path, true, -1) do |access|
-        assert_raise(Svn::Error::CANCELLED) do
+        assert_raises(Svn::Error::CANCELLED) do
           ctx.cleanup(@wc_path)
         end
-        assert_raise(Svn::Error::WC_LOCKED) do
+        assert_raises(Svn::Error::WC_LOCKED) do
           ctx.commit(@wc_path)
         end
       end
 
       ctx.set_cancel_func(nil)
-      assert_nothing_raised do
-        ctx.cleanup(@wc_path)
-      end
-      assert_nothing_raised do
-        ctx.commit(@wc_path)
-      end
+      ctx.cleanup(@wc_path)
+      ctx.commit(@wc_path)
     end
   end
 =end
@@ -1147,9 +1135,7 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.add(path)
       ctx.commit(@wc_path)
 
-      assert_nothing_raised do
-        ctx.cat(path)
-      end
+      ctx.cat(path)
 
       ctx.add_simple_prompt_provider(0) do |cred, realm, username, may_save|
         cred.username = @author
@@ -1201,10 +1187,8 @@ class SvnClientTest < Test::Unit::TestCase
 
       ctx.resolved(dir_path)
       info = nil
-      assert_nothing_raised do
-        info = ctx.ci(@wc_path)
-      end
-      assert_not_nil(info)
+      info = ctx.ci(@wc_path)
+      refute_nil(info)
       assert_equal(rev2 + 1, info.revision)
     end
   end
@@ -1294,15 +1278,11 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.ci(@wc_path)
 
       File.open(path1, "w") {|f| f.print(src2)}
-      assert_nothing_raised do
-        ctx.mv(path1, path2)
-      end
+      ctx.mv(path1, path2)
       ctx.revert([path1, path2])
 
       File.open(path1, "w") {|f| f.print(src2)}
-      assert_nothing_raised do
-        ctx.mv_f(path1, path2)
-      end
+      ctx.mv_f(path1, path2)
 
       notifies = []
       ctx.set_notify_func do |notify|
@@ -1421,11 +1401,9 @@ class SvnClientTest < Test::Unit::TestCase
       end
       ctx.cleanup(@wc_path)
 
-      assert_nothing_raised do
-        ctx.ps(Svn::Core::PROP_MIME_TYPE,
-               invalid_mime_type_prop_value,
-               path, false, true)
-      end
+      ctx.ps(Svn::Core::PROP_MIME_TYPE,
+             invalid_mime_type_prop_value,
+             path, false, true)
       ctx.commit(@wc_path)
       assert_equal({uri => invalid_mime_type_prop_value},
                    ctx.pg(Svn::Core::PROP_MIME_TYPE, path))
@@ -2145,17 +2123,15 @@ class SvnClientTest < Test::Unit::TestCase
       setup_auth_baton(ctx.auth_baton)
       ctx.auth_baton[Svn::Core::AUTH_PARAM_DEFAULT_USERNAME] = @author
       ctx.add_username_provider
-      assert_nothing_raised do
-        ctx.revprop_set(Svn::Core::PROP_REVISION_LOG, new_log,
-                        repos_uri, info_revision)
-      end
+      ctx.revprop_set(Svn::Core::PROP_REVISION_LOG, new_log,
+                      repos_uri, info_revision)
     end
 
     Svn::Client::Context.new do |ctx|
       setup_auth_baton(ctx.auth_baton)
       ctx.auth_baton[Svn::Core::AUTH_PARAM_DEFAULT_USERNAME] = "#{@author}-NG"
       ctx.add_username_provider
-      assert_raise(Svn::Error::REPOS_HOOK_FAILURE) do
+      assert_raises(Svn::Error::REPOS_HOOK_FAILURE) do
         ctx.revprop_set(Svn::Core::PROP_REVISION_LOG, new_log,
                         repos_uri, info_revision)
       end
@@ -2166,7 +2142,7 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.auth_baton[Svn::Core::AUTH_PARAM_DEFAULT_USERNAME] = nil
       ctx.add_username_prompt_provider(0) do |cred, realm, may_save|
       end
-      assert_raise(Svn::Error::REPOS_HOOK_FAILURE) do
+      assert_raises(Svn::Error::REPOS_HOOK_FAILURE) do
         ctx.revprop_set(Svn::Core::PROP_REVISION_LOG, new_log,
                         repos_uri, info_revision)
       end
@@ -2178,32 +2154,28 @@ class SvnClientTest < Test::Unit::TestCase
       ctx.add_username_prompt_provider(0) do |cred, realm, may_save|
         cred.username = @author
       end
-      assert_nothing_raised do
-        ctx.revprop_set(Svn::Core::PROP_REVISION_LOG, new_log,
-                        repos_uri, info_revision)
-      end
+      ctx.revprop_set(Svn::Core::PROP_REVISION_LOG, new_log,
+                      repos_uri, info_revision)
     end
   end
 
   def test_add_providers
     Svn::Client::Context.new do |ctx|
-      assert_nothing_raised do
-        ctx.add_ssl_client_cert_file_provider
-        ctx.add_ssl_client_cert_pw_file_provider
-        ctx.add_ssl_server_trust_file_provider
-        if Svn::Core.respond_to?(:auth_get_windows_ssl_server_trust_provider)
-          ctx.add_windows_ssl_server_trust_provider
-        end
+      ctx.add_ssl_client_cert_file_provider
+      ctx.add_ssl_client_cert_pw_file_provider
+      ctx.add_ssl_server_trust_file_provider
+      if Svn::Core.respond_to?(:auth_get_windows_ssl_server_trust_provider)
+        ctx.add_windows_ssl_server_trust_provider
       end
     end
   end
 
   def test_commit_item
-    assert_raise(NoMethodError) do
+    assert_raises(NoMethodError) do
       Svn::Client::CommitItem.new
     end
 
-    assert_raise(NoMethodError) do
+    assert_raises(NoMethodError) do
       Svn::Client::CommitItem2.new
     end
 
@@ -2259,7 +2231,7 @@ class SvnClientTest < Test::Unit::TestCase
         raise Svn::Error::Cancelled
       end
       ctx.mkdir(dir_path)
-      assert_raise(Svn::Error::Cancelled) do
+      assert_raises(Svn::Error::Cancelled) do
         ctx.commit(@wc_path)
       end
     end
@@ -2446,10 +2418,8 @@ class SvnClientTest < Test::Unit::TestCase
   def test_resolve_base
     assert_resolve(Svn::Wc::CONFLICT_CHOOSE_BASE) do |ctx,path|
       info = nil
-      assert_nothing_raised do
-        info = ctx.ci(@wc_path)
-      end
-      assert_not_nil(info)
+      info = ctx.ci(@wc_path)
+      refute_nil(info)
       assert_equal(3, info.revision)
 
       assert_equal("", File.read(path))
@@ -2459,10 +2429,8 @@ class SvnClientTest < Test::Unit::TestCase
   def test_resolve_theirs_full
     assert_resolve(Svn::Wc::CONFLICT_CHOOSE_THEIRS_FULL) do |ctx,path|
       info = nil
-      assert_nothing_raised do
-        info = ctx.ci(@wc_path)
-      end
-      assert_not_nil(info)
+      info = ctx.ci(@wc_path)
+      refute_nil(info)
       assert_equal(-1, info.revision)
 
       assert_equal("before\n", File.read(path))
@@ -2472,10 +2440,8 @@ class SvnClientTest < Test::Unit::TestCase
   def test_resolve_mine_full
     assert_resolve(Svn::Wc::CONFLICT_CHOOSE_MINE_FULL) do |ctx,path|
       info = nil
-      assert_nothing_raised do
-        info = ctx.ci(@wc_path)
-      end
-      assert_not_nil(info)
+      info = ctx.ci(@wc_path)
+      refute_nil(info)
       assert_equal(3, info.revision)
 
       assert_equal("after\n", File.read(path))
@@ -2485,10 +2451,8 @@ class SvnClientTest < Test::Unit::TestCase
   def test_resolve_theirs_conflict
     assert_resolve(Svn::Wc::CONFLICT_CHOOSE_THEIRS_FULL) do |ctx,path|
       info = nil
-      assert_nothing_raised do
-        info = ctx.ci(@wc_path)
-      end
-      assert_not_nil(info)
+      info = ctx.ci(@wc_path)
+      refute_nil(info)
       assert_equal(-1, info.revision)
 
       assert_equal("before\n", File.read(path))
@@ -2498,10 +2462,8 @@ class SvnClientTest < Test::Unit::TestCase
   def test_resolve_mine_conflict
     assert_resolve(Svn::Wc::CONFLICT_CHOOSE_MINE_FULL) do |ctx,path|
       info = nil
-      assert_nothing_raised do
-        info = ctx.ci(@wc_path)
-      end
-      assert_not_nil(info)
+      info = ctx.ci(@wc_path)
+      refute_nil(info)
       assert_equal(3, info.revision)
 
       assert_equal("after\n", File.read(path))
@@ -2511,10 +2473,8 @@ class SvnClientTest < Test::Unit::TestCase
   def test_resolve_merged
     assert_resolve(Svn::Wc::CONFLICT_CHOOSE_MERGED) do |ctx,path|
       info = nil
-      assert_nothing_raised do
-        info = ctx.ci(@wc_path)
-      end
-      assert_not_nil(info)
+      info = ctx.ci(@wc_path)
+      refute_nil(info)
       assert_equal(3, info.revision)
 
       assert_equal("<<<<<<< .mine\nafter\n||||||| .r1\n=======\nbefore\n>>>>>>> .r2\n",
diff --git a/subversion/bindings/swig/ruby/test/test_core.rb b/subversion/bindings/swig/ruby/test/test_core.rb
index 9d5743c..9a93da1 100644
--- a/subversion/bindings/swig/ruby/test/test_core.rb
+++ b/subversion/bindings/swig/ruby/test/test_core.rb
@@ -26,7 +26,7 @@ require "stringio"
 require "svn/core"
 require "svn/repos"
 
-class SvnCoreTest < Test::Unit::TestCase
+class SvnCoreTest < Minitest::Test
   include SvnTestUtil
 
   def setup
@@ -66,7 +66,7 @@ class SvnCoreTest < Test::Unit::TestCase
   end
 
   def test_not_new_auth_provider_object
-    assert_raise(NoMethodError) do
+    assert_raises(NoMethodError) do
       Svn::Core::AuthProviderObject.new
     end
   end
@@ -97,7 +97,7 @@ class SvnCoreTest < Test::Unit::TestCase
     ver2 = Svn::Core::Version.new(major, minor, patch, tag)
     ver3 = Svn::Core::Version.new
     assert_equal(ver1, ver2)
-    assert_not_equal(ver1, ver3)
+    refute_equal(ver1, ver3)
   end
 
   def test_version_compatible?
@@ -149,7 +149,7 @@ class SvnCoreTest < Test::Unit::TestCase
     auth[key] = value
     assert_equal(value, auth[key])
 
-    assert_raise(TypeError) do
+    assert_raises(TypeError) do
       auth[key] = 1
     end
   end
@@ -788,11 +788,11 @@ EOM
   def test_mergeinfo_to_s
     info = Svn::Core::MergeInfo.parse("/trunk: 5,7,9-13")
     assert_equal("/trunk:5,7,9-13", info.to_s)
-    assert_not_equal(info.to_s, info.inspect)
+    refute_equal(info.to_s, info.inspect)
 
     info = Svn::Core::MergeInfo.parse("/trunk: 5*,7,9-13")
     assert_equal("/trunk:5*,7,9-13", info.to_s)
-    assert_not_equal(info.to_s, info.inspect)
+    refute_equal(info.to_s, info.inspect)
   end
 
   def test_mergeinfo_sort
@@ -861,7 +861,7 @@ EOM
                                           [6, 8, true], [9, 13, true])
     expectation = "5-6,7-8,10-13"
     assert_equal(expectation, range_list.to_s)
-    assert_not_equal(expectation, range_list.inspect)
+    refute_equal(expectation, range_list.inspect)
   end
 
   def test_mergerange_equality
@@ -871,8 +871,8 @@ EOM
     mergerange4 = Svn::Core::MergeRange.new(1,4,true)
 
     assert_equal(mergerange1, mergerange2)
-    assert_not_equal(mergerange1, mergerange3)
-    assert_not_equal(mergerange1, mergerange4)
+    refute_equal(mergerange1, mergerange3)
+    refute_equal(mergerange1, mergerange4)
   end
 
   private
diff --git a/subversion/bindings/swig/ruby/test/test_delta.rb b/subversion/bindings/swig/ruby/test/test_delta.rb
index 541a4fe..1c60710 100644
--- a/subversion/bindings/swig/ruby/test/test_delta.rb
+++ b/subversion/bindings/swig/ruby/test/test_delta.rb
@@ -26,7 +26,7 @@ require 'tempfile'
 
 require "svn/info"
 
-class SvnDeltaTest < Test::Unit::TestCase
+class SvnDeltaTest < Minitest::Test
   include SvnTestUtil
 
   def setup
@@ -48,23 +48,20 @@ class SvnDeltaTest < Test::Unit::TestCase
     target = StringIO.new(t)
     stream = Svn::Delta::TextDeltaStream.new(source, target)
     assert_nil(stream.md5_digest)
-    _my_assert_block do
-      ret = stream.each do |window|
-        window.ops.each do |op|
-          op_size = op.offset + op.length
-          case op.action_code
-          when Svn::Delta::TXDELTA_SOURCE
-            assert_operator(op_size, :<=, window.sview_len)
-          when Svn::Delta::TXDELTA_NEW
-            assert_operator(op_size, :<=, window.new_data.length)
-          when Svn::Delta::TXDELTA_TARGET
-            assert_operator(op_size, :<=, window.tview_len)
-          else
-            flunk
-          end
+    stream.each do |window|
+      window.ops.each do |op|
+        op_size = op.offset + op.length
+        case op.action_code
+        when Svn::Delta::TXDELTA_SOURCE
+          assert_operator(op_size, :<=, window.sview_len)
+        when Svn::Delta::TXDELTA_NEW
+          assert_operator(op_size, :<=, window.new_data.length)
+        when Svn::Delta::TXDELTA_TARGET
+          assert_operator(op_size, :<=, window.tview_len)
+        else
+          flunk
         end
       end
-      true if RUBY_VERSION > '1.9' # this block returns nil in > ruby '1.9'
     end
     assert_equal(Digest::MD5.hexdigest(t), stream.md5_digest)
   end
@@ -84,19 +81,17 @@ class SvnDeltaTest < Test::Unit::TestCase
       end
     end
 
-    _my_assert_block do
-      composed_window.ops.each do |op|
-        op_size = op.offset + op.length
-        case op.action_code
-        when Svn::Delta::TXDELTA_SOURCE
-          assert_operator(op_size, :<=, composed_window.sview_len)
-        when Svn::Delta::TXDELTA_NEW
-          assert_operator(op_size, :<=, composed_window.new_data.length)
-        when Svn::Delta::TXDELTA_TARGET
-          assert_operator(op_size, :<=, composed_window.tview_len)
-        else
-          flunk
-        end
+    composed_window.ops.each do |op|
+      op_size = op.offset + op.length
+      case op.action_code
+      when Svn::Delta::TXDELTA_SOURCE
+        assert_operator(op_size, :<=, composed_window.sview_len)
+      when Svn::Delta::TXDELTA_NEW
+        assert_operator(op_size, :<=, composed_window.new_data.length)
+      when Svn::Delta::TXDELTA_TARGET
+        assert_operator(op_size, :<=, composed_window.tview_len)
+      else
+        flunk
       end
     end
   end
diff --git a/subversion/bindings/swig/ruby/test/test_error.rb b/subversion/bindings/swig/ruby/test/test_error.rb
index 5b55687..14f8bf2 100644
--- a/subversion/bindings/swig/ruby/test/test_error.rb
+++ b/subversion/bindings/swig/ruby/test/test_error.rb
@@ -21,7 +21,7 @@ require "my-assertions"
 
 require "svn/error"
 
-class SvnErrorTest < Test::Unit::TestCase
+class SvnErrorTest < Minitest::Test
   def test_error_name
     Svn::Error.constants.each do |const_name|
       if /\A[A-Z0-9_]+\z/ =~ const_name and
diff --git a/subversion/bindings/swig/ruby/test/test_fs.rb b/subversion/bindings/swig/ruby/test/test_fs.rb
index 8808055..73475e8 100644
--- a/subversion/bindings/swig/ruby/test/test_fs.rb
+++ b/subversion/bindings/swig/ruby/test/test_fs.rb
@@ -27,7 +27,7 @@ require "svn/fs"
 require "svn/repos"
 require "svn/client"
 
-class SvnFsTest < Test::Unit::TestCase
+class SvnFsTest < Minitest::Test
   include SvnTestUtil
 
   def setup
@@ -240,9 +240,7 @@ class SvnFsTest < Test::Unit::TestCase
     assert_equal(txn1.base_revision, txn1.root.base_revision)
 
     @fs.transaction do |txn|
-      assert_nothing_raised do
-        @fs.open_txn(txn.name)
-      end
+      @fs.open_txn(txn.name)
       txn2 = txn
     end
 
@@ -451,9 +449,7 @@ class SvnFsTest < Test::Unit::TestCase
 
     yield(:create, [path, config], Proc.new{})
 
-    assert_nothing_raised do
-      yield(:recover, [path], Proc.new{})
-    end
+    yield(:recover, [path], Proc.new{})
   end
 
   def test_recover_for_backward_compatibility
diff --git a/subversion/bindings/swig/ruby/test/test_info.rb b/subversion/bindings/swig/ruby/test/test_info.rb
index e69ab79..91af535 100644
--- a/subversion/bindings/swig/ruby/test/test_info.rb
+++ b/subversion/bindings/swig/ruby/test/test_info.rb
@@ -21,7 +21,7 @@ require "util"
 
 require "svn/info"
 
-class SvnInfoTest < Test::Unit::TestCase
+class SvnInfoTest < Minitest::Test
   include SvnTestUtil
 
   def setup
diff --git a/subversion/bindings/swig/ruby/test/test_ra.rb b/subversion/bindings/swig/ruby/test/test_ra.rb
index 1d20ca4..d58cc6b 100644
--- a/subversion/bindings/swig/ruby/test/test_ra.rb
+++ b/subversion/bindings/swig/ruby/test/test_ra.rb
@@ -21,7 +21,7 @@ require "util"
 
 require "svn/ra"
 
-class SvnRaTest < Test::Unit::TestCase
+class SvnRaTest < Minitest::Test
   include SvnTestUtil
 
   def setup
@@ -43,9 +43,7 @@ class SvnRaTest < Test::Unit::TestCase
   end
 
   def test_open_without_callback
-    assert_nothing_raised do
-      Svn::Ra::Session.open(@repos_uri).close
-    end
+    Svn::Ra::Session.open(@repos_uri).close
   end
 
   def test_session
@@ -377,18 +375,18 @@ class SvnRaTest < Test::Unit::TestCase
 
         entries, props = session.dir(dir, nil)
         assert_equal([deep_dir], entries.keys)
-        assert_raise(Svn::Error::FS_NOT_FOUND) do
+        assert_raises(Svn::Error::FS_NOT_FOUND) do
           session.dir(deep_dir)
         end
 
         session.reparent("#{@repos_uri}/#{dir}")
-        assert_raise(Svn::Error::FS_NOT_FOUND) do
+        assert_raises(Svn::Error::FS_NOT_FOUND) do
           session.dir(dir)
         end
         entries, props = session.dir(deep_dir)
         assert_equal([], entries.keys)
 
-        assert_raise(Svn::Error::RA_ILLEGAL_URL) do
+        assert_raises(Svn::Error::RA_ILLEGAL_URL) do
           session.reparent("file:///tmp/xxx")
         end
       end
diff --git a/subversion/bindings/swig/ruby/test/test_repos.rb b/subversion/bindings/swig/ruby/test/test_repos.rb
index 89ca8c1..96d158e 100644
--- a/subversion/bindings/swig/ruby/test/test_repos.rb
+++ b/subversion/bindings/swig/ruby/test/test_repos.rb
@@ -27,7 +27,7 @@ require "svn/fs"
 require "svn/repos"
 require "svn/client"
 
-class SvnReposTest < Test::Unit::TestCase
+class SvnReposTest < Minitest::Test
   include SvnTestUtil
 
   def setup
@@ -614,12 +614,10 @@ class SvnReposTest < Test::Unit::TestCase
       assert_raises(Svn::Error::ReposHookFailure) do
         @repos.set_prop(@author, Svn::Core::PROP_REVISION_DATE, nil)
       end
-      assert_not_nil(@repos.prop(Svn::Core::PROP_REVISION_DATE))
+      refute_nil(@repos.prop(Svn::Core::PROP_REVISION_DATE))
 
-      assert_nothing_raised do
-        @repos.set_prop(@author, Svn::Core::PROP_REVISION_DATE, nil, nil, nil,
-                        false)
-      end
+      @repos.set_prop(@author, Svn::Core::PROP_REVISION_DATE, nil, nil, nil,
+                      false)
       assert_nil(@repos.prop(Svn::Core::PROP_REVISION_DATE))
       assert_equal([
                      Svn::Core::PROP_REVISION_AUTHOR,
@@ -642,9 +640,7 @@ class SvnReposTest < Test::Unit::TestCase
       File.open(path, "a") {|f| f.print(source)}
       rev2 = ctx.ci(@wc_path).revision
 
-      assert_nothing_raised do
-        @repos.dump_fs(nil, nil, rev1, rev2)
-      end
+      @repos.dump_fs(nil, nil, rev1, rev2)
 
       dump = StringIO.new("")
       feedback = StringIO.new("")
@@ -690,8 +686,8 @@ class SvnReposTest < Test::Unit::TestCase
       ].each_with_index do |args, i|
         dest_path = File.join(@tmp_path, "dest#{i}")
         Svn::Repos.create(dest_path) do |repos|
-          assert_not_equal(@repos.fs.root.committed_info("/"),
-                           repos.fs.root.committed_info("/"))
+          refute_equal(@repos.fs.root.committed_info("/"),
+                       repos.fs.root.committed_info("/"))
           dump.rewind
           repos.load_fs(dump, *args)
           assert_equal(@repos.fs.root.committed_info("/"),
diff --git a/subversion/bindings/swig/ruby/test/test_util.rb b/subversion/bindings/swig/ruby/test/test_util.rb
index 5f9b1ac..595fe67 100644
--- a/subversion/bindings/swig/ruby/test/test_util.rb
+++ b/subversion/bindings/swig/ruby/test/test_util.rb
@@ -22,7 +22,7 @@ require "my-assertions"
 require "svn/core"
 require "svn/util"
 
-class SvnUtilTest < Test::Unit::TestCase
+class SvnUtilTest < Minitest::Test
 
   def test_to_ruby_const_name
     assert_equal("ABC", Svn::Util.to_ruby_const_name("abc"))
diff --git a/subversion/bindings/swig/ruby/test/test_wc.rb b/subversion/bindings/swig/ruby/test/test_wc.rb
index 3a2aa65..43fe655 100644
--- a/subversion/bindings/swig/ruby/test/test_wc.rb
+++ b/subversion/bindings/swig/ruby/test/test_wc.rb
@@ -25,7 +25,7 @@ require "svn/wc"
 require "svn/repos"
 require "svn/ra"
 
-class SvnWcTest < Test::Unit::TestCase
+class SvnWcTest < Minitest::Test
   include SvnTestUtil
 
   def setup
@@ -51,9 +51,7 @@ class SvnWcTest < Test::Unit::TestCase
     end
 
     non_exist_child_path = File.join(@wc_path, "NOT-EXIST")
-    assert_nothing_raised do
-      Svn::Wc::AdmAccess.probe_open(nil, non_exist_child_path, false, 0){}
-    end
+    Svn::Wc::AdmAccess.probe_open(nil, non_exist_child_path, false, 0){}
 
     FileUtils.touch(file1_path)
     Svn::Wc::AdmAccess.open(nil, @wc_path, false, 0) do |adm|
@@ -81,7 +79,7 @@ class SvnWcTest < Test::Unit::TestCase
   end
 
   def test_wc
-    assert_not_equal(0, Svn::Wc.check_wc(@wc_path))
+    refute_equal(0, Svn::Wc.check_wc(@wc_path))
     assert(Svn::Wc.normal_prop?("name"))
     assert(Svn::Wc.wc_prop?("#{Svn::Core::PROP_WC_PREFIX}name"))
     assert(Svn::Wc.entry_prop?("#{Svn::Core::PROP_ENTRY_PREFIX}name"))
@@ -534,25 +532,23 @@ EOE
       ctx.ci(lf_path)
 
       Svn::Wc::AdmAccess.open(nil, @wc_path, true, 5) do |access|
-        _my_assert_block do
-          File.open(src_path, "wb") {|f| f.print(source)}
-          args = [method_name, src_path, crlf_path, Svn::Wc::TRANSLATE_FROM_NF]
-          result = yield(access.send(*args), source)
-          result ||= File.open(src_path, "rb") {|f| f.read}
-          assert_equal(crlf_source, result)
-
-          File.open(src_path, "wb") {|f| f.print(source)}
-          args = [method_name, src_path, cr_path, Svn::Wc::TRANSLATE_FROM_NF]
-          result = yield(access.send(*args), source)
-          result ||= File.open(src_path, "rb") {|f| f.read}
-          assert_equal(cr_source, result)
-
-          File.open(src_path, "wb") {|f| f.print(source)}
-          args = [method_name, src_path, lf_path, Svn::Wc::TRANSLATE_FROM_NF]
-          result = yield(access.send(*args), source)
-          result ||= File.open(src_path, "rb") {|f| f.read}
-          assert_equal(lf_source, result)
-        end
+        File.open(src_path, "wb") {|f| f.print(source)}
+        args = [method_name, src_path, crlf_path, Svn::Wc::TRANSLATE_FROM_NF]
+        result = yield(access.send(*args), source)
+        result ||= File.open(src_path, "rb") {|f| f.read}
+        assert_equal(crlf_source, result)
+
+        File.open(src_path, "wb") {|f| f.print(source)}
+        args = [method_name, src_path, cr_path, Svn::Wc::TRANSLATE_FROM_NF]
+        result = yield(access.send(*args), source)
+        result ||= File.open(src_path, "rb") {|f| f.read}
+        assert_equal(cr_source, result)
+
+        File.open(src_path, "wb") {|f| f.print(source)}
+        args = [method_name, src_path, lf_path, Svn::Wc::TRANSLATE_FROM_NF]
+        result = yield(access.send(*args), source)
+        result ||= File.open(src_path, "rb") {|f| f.read}
+        assert_equal(lf_source, result)
       end
     end
   end
@@ -1053,7 +1049,7 @@ EOE
 
 
   def test_context_new_default_config
-    assert_not_nil context = Svn::Wc::Context.new
+    refute_nil context = Svn::Wc::Context.new
   ensure
     context.destroy
   end
@@ -1061,22 +1057,20 @@ EOE
   def test_context_new_specified_config
     config_file = File.join(@config_path, Svn::Core::CONFIG_CATEGORY_CONFIG)
     config = Svn::Core::Config.read(config_file)
-    assert_not_nil context = Svn::Wc::Context.new(:config=>config)
+    refute_nil context = Svn::Wc::Context.new(:config=>config)
   ensure
     context.destroy
   end
 
   def test_context_create
-    assert_nothing_raised do
-      result = Svn::Wc::Context.create do |context|
-        assert_not_nil context
-        assert_kind_of Svn::Wc::Context, context
-      end
-      if RUBY_VERSION > '1.9'
-        assert_equal(result,true)
-      else
-        assert_nil result
-      end
+    result = Svn::Wc::Context.create do |context|
+      refute_nil context
+      assert_kind_of Svn::Wc::Context, context
+    end
+    if RUBY_VERSION > '1.9'
+      assert_equal(result,true)
+    else
+      assert_nil result
     end
   end
 
-- 
2.6.2
Received on 2015-11-05 04:39:58 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.