ruby-changes:68018
From: Nobuyoshi <ko1@a...>
Date: Fri, 17 Sep 2021 09:43:38 +0900 (JST)
Subject: [ruby-changes:68018] 34d6720fee (master): Prohibit test method redefinition
https://git.ruby-lang.org/ruby.git/commit/?id=34d6720fee From 34d6720fee545c42a24f88044d0f78db0477452d Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada <nobu@r...> Date: Fri, 17 Sep 2021 08:54:18 +0900 Subject: Prohibit test method redefinition --- tool/lib/test/unit/testcase.rb | 2 +- tool/test/testunit/test_redefinition.rb | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/tool/lib/test/unit/testcase.rb b/tool/lib/test/unit/testcase.rb index dab25de..241421d 100644 --- a/tool/lib/test/unit/testcase.rb +++ b/tool/lib/test/unit/testcase.rb @@ -337,7 +337,7 @@ module Test https://github.com/ruby/ruby/blob/trunk/tool/lib/test/unit/testcase.rb#L337 return unless name.to_s.start_with?("test_") @test_methods ||= {} if @test_methods[name] - warn "test/unit warning: method #{ self }##{ name } is redefined" + raise AssertionFailedError, "test/unit: method #{ self }##{ name } is redefined" end @test_methods[name] = true end diff --git a/tool/test/testunit/test_redefinition.rb b/tool/test/testunit/test_redefinition.rb index 9129e55..b4f5cab 100644 --- a/tool/test/testunit/test_redefinition.rb +++ b/tool/test/testunit/test_redefinition.rb @@ -3,14 +3,9 @@ require 'test/unit' https://github.com/ruby/ruby/blob/trunk/tool/test/testunit/test_redefinition.rb#L3 class TestRedefinition < Test::Unit::TestCase def test_redefinition - assert_match(/^test\/unit warning: method TestForTestRedefinition#test_redefinition is redefined$/, - redefinition) - end - - def redefinition(*args) - IO.popen([*@options[:ruby], "#{File.dirname(__FILE__)}/test4test_redefinition.rb", *args], - err: [:child, :out]) {|f| - f.read - } + message = %r[test/unit: method TestForTestRedefinition#test_redefinition is redefined$] + assert_raise_with_message(Test::Unit::AssertionFailedError, message) do + require_relative("test4test_redefinition.rb") + end end end -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/