From 480f436dacc28def6c23d6b914f03ac6a0753d5d Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 11 Jan 2021 00:33:26 +0900 Subject: [PATCH] Suppress constant redefinition warnings --- test/irb/test_color.rb | 4 +++- test/ruby/test_marshal.rb | 4 ++++ test/ruby/test_module.rb | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/test/irb/test_color.rb b/test/irb/test_color.rb index 203b605296..b136d38165 100644 --- a/test/irb/test_color.rb +++ b/test/irb/test_color.rb @@ -153,13 +153,15 @@ module TestIRB end end + IRBTestColorPrinter = Struct.new(:a) + def test_color_printer unless ripper_lexer_scan_supported? skip 'Ripper::Lexer#scan is supported in Ruby 2.7+' end { 1 => "#{BLUE}#{BOLD}1#{CLEAR}\n", - Struct.new('IRBTestColorPrinter', :a).new('test') => "#{GREEN}##{CLEAR}\n", + IRBTestColorPrinter.new('test') => "#{GREEN}##{CLEAR}\n", Ripper::Lexer.new('1').scan => "[#{GREEN}##{CLEAR}]\n", }.each do |object, result| actual = with_term { IRB::ColorPrinter.pp(object, '') } diff --git a/test/ruby/test_marshal.rb b/test/ruby/test_marshal.rb index ef8b261321..d2b4ec169f 100644 --- a/test/ruby/test_marshal.rb +++ b/test/ruby/test_marshal.rb @@ -58,6 +58,8 @@ class TestMarshal < Test::Unit::TestCase TestMarshal.instance_eval { remove_const :StructOrNot } TestMarshal.const_set :StructOrNot, Class.new assert_raise(TypeError, "[ruby-dev:31709]") { Marshal.load(s) } + ensure + TestMarshal.instance_eval { remove_const :StructOrNot } end def test_struct_invalid_members @@ -66,6 +68,8 @@ class TestMarshal < Test::Unit::TestCase Marshal.load("\004\bIc&TestMarshal::StructInvalidMembers\006:\020__members__\"\bfoo") TestMarshal::StructInvalidMembers.members } + ensure + TestMarshal.instance_eval { remove_const :StructInvalidMembers } end class C diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb index 43f0c51753..fac3131f42 100644 --- a/test/ruby/test_module.rb +++ b/test/ruby/test_module.rb @@ -793,6 +793,8 @@ class TestModule < Test::Unit::TestCase assert_equal(prefix+"C", m.const_get(:C).name) c = m.class_eval("Bug15891 = Class.new.freeze") assert_equal(prefix+"Bug15891", c.name) + ensure + self.class.class_eval {remove_const(:M)} end def test_private_class_method