mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 13:34:17 +02: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:
parent
07f27383b7
commit
72c02aa4b7
2 changed files with 7 additions and 90 deletions
|
@ -13,10 +13,17 @@ class Test_NotImplement < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_respond_to
|
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)
|
||||||
assert_not_respond_to(Bug::NotImplement.new, :notimplement)
|
assert_not_respond_to(Bug::NotImplement.new, :notimplement)
|
||||||
end
|
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
|
def test_not_method_defined
|
||||||
assert !Bug::NotImplement.method_defined?(:notimplement)
|
assert !Bug::NotImplement.method_defined?(:notimplement)
|
||||||
assert !Bug::NotImplement.method_defined?(:notimplement, true)
|
assert !Bug::NotImplement.method_defined?(:notimplement, true)
|
||||||
|
|
|
@ -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
|
|
Loading…
Add table
Add a link
Reference in a new issue