ruby-changes:60222
From: Nobuyoshi <ko1@a...>
Date: Fri, 28 Feb 2020 21:26:10 +0900 (JST)
Subject: [ruby-changes:60222] 72c02aa4b7 (master): Moved not-implemented method tests [Bug #16662]
https://git.ruby-lang.org/ruby.git/commit/?id=72c02aa4b7 From 72c02aa4b79731c7f25c9267f74b347f1946c704 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada <nobu@r...> Date: Fri, 28 Feb 2020 21:15:37 +0900 Subject: Moved not-implemented method tests [Bug #16662] Test not-implemented method with the dedicated methods, instead of platform dependent features. diff --git a/test/-ext-/test_notimplement.rb b/test/-ext-/test_notimplement.rb index 92a2fd2..038b507 100644 --- a/test/-ext-/test_notimplement.rb +++ b/test/-ext-/test_notimplement.rb @@ -13,10 +13,17 @@ class Test_NotImplement < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/-ext-/test_notimplement.rb#L13 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 e13db69..0000000 --- a/test/ruby/test_notimp.rb +++ /dev/null @@ -1,90 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/test/-ext-/test_notimplement.rb#L0 -# 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 -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/