1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Moved not-implemented method tests [Bug #16662]

Test not-implemented method with the dedicated methods, instead of
platform dependent features.
This commit is contained in:
Nobuyoshi Nakada 2020-02-28 21:15:37 +09:00
parent 07f27383b7
commit 72c02aa4b7
No known key found for this signature in database
GPG key ID: 4BC7D6DF58D8DF60
2 changed files with 7 additions and 90 deletions

View file

@ -13,10 +13,17 @@ class Test_NotImplement < Test::Unit::TestCase
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)

View file

@ -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