From 72c02aa4b79731c7f25c9267f74b347f1946c704 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 28 Feb 2020 21:15:37 +0900 Subject: [PATCH] Moved not-implemented method tests [Bug #16662] Test not-implemented method with the dedicated methods, instead of platform dependent features. --- test/-ext-/test_notimplement.rb | 7 +++ test/ruby/test_notimp.rb | 90 --------------------------------- 2 files changed, 7 insertions(+), 90 deletions(-) delete mode 100644 test/ruby/test_notimp.rb diff --git a/test/-ext-/test_notimplement.rb b/test/-ext-/test_notimplement.rb index 92a2fd22b8d6..038b507b7312 100644 --- a/test/-ext-/test_notimplement.rb +++ b/test/-ext-/test_notimplement.rb @@ -13,10 +13,17 @@ def test_funcall_notimplement end def test_respond_to + assert_include(Bug.methods(false), :notimplement) + assert_include(Bug::NotImplement.instance_methods(false), :notimplement) assert_not_respond_to(Bug, :notimplement) assert_not_respond_to(Bug::NotImplement.new, :notimplement) end + def test_method_inspect_notimplement + assert_match(/not-implemented/, Bug.method(:notimplement).inspect) + assert_match(/not-implemented/, Bug::NotImplement.instance_method(:notimplement).inspect) + end + def test_not_method_defined assert !Bug::NotImplement.method_defined?(:notimplement) assert !Bug::NotImplement.method_defined?(:notimplement, true) diff --git a/test/ruby/test_notimp.rb b/test/ruby/test_notimp.rb deleted file mode 100644 index e13db692b50d..000000000000 --- a/test/ruby/test_notimp.rb +++ /dev/null @@ -1,90 +0,0 @@ -# frozen_string_literal: false -require 'test/unit' -require 'timeout' -require 'tmpdir' - -class TestNotImplement < Test::Unit::TestCase - def test_respond_to_fork - assert_include(Process.methods, :fork) - if /linux/ =~ RUBY_PLATFORM - assert_equal(true, Process.respond_to?(:fork)) - end - end - - def test_respond_to_lchmod - assert_include(File.methods, :lchmod) - case RUBY_PLATFORM - when /freebsd/, /linux-musl/ - assert_equal(true, File.respond_to?(:lchmod)) - when /linux/ - assert_equal(false, File.respond_to?(:lchmod)) - end - end - - def test_call_fork - GC.start - pid = nil - ps = - case RUBY_PLATFORM - when /linux/ # assume Linux Distribution uses procps - proc {`ps -eLf #{pid}`} - when /freebsd/ - proc {`ps -lH #{pid}`} - when /darwin/ - proc {`ps -lM #{pid}`} - else - proc {`ps -l #{pid}`} - end - assert_nothing_raised(Timeout::Error, ps) do - EnvUtil.timeout(20) { - pid = fork {} - Process.wait pid - pid = nil - } - end - ensure - if pid - Process.kill(:KILL, pid) - Process.wait pid - end - end if Process.respond_to?(:fork) - - def test_call_lchmod - if File.respond_to?(:lchmod) - Dir.mktmpdir {|d| - f = "#{d}/f" - g = "#{d}/g" - File.open(f, "w") {} - File.symlink f, g - newmode = 0444 - begin - File.lchmod newmode, "#{d}/g" - rescue Errno::EOPNOTSUPP - skip $! - else - snew = File.lstat(g) - assert_equal(newmode, snew.mode & 0777) - end - } - end - end - - def test_method_inspect_fork - m = Process.method(:fork) - if Process.respond_to?(:fork) - assert_not_match(/not-implemented/, m.inspect) - else - assert_match(/not-implemented/, m.inspect) - end - end - - def test_method_inspect_lchmod - m = File.method(:lchmod) - if File.respond_to?(:lchmod) - assert_not_match(/not-implemented/, m.inspect) - else - assert_match(/not-implemented/, m.inspect) - end - end - -end