Project

General

Profile

Bug #14375 » spec-ruby-core-file-chmod_umask.patch

MSP-Greg (Greg L), 01/20/2018 03:50 AM

View differences:

spec/ruby/core/file/chmod_spec.rb
require File.expand_path('../../../spec_helper', __FILE__)
# See umask_spec also
FILE_VALS =
if PlatformGuard.new(:netbsd).match?
# -256, -2 and -1 raise Errno::EFTYPE on NetBSD
[-2**30, -2**16, -0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
elsif PlatformGuard.new(:freebsd, :openbsd, :darwin).match?
# -256, -2 and -1 raise Errno::EINVAL on OpenBSD
[ -0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256]
elsif PlatformGuard.new(:mingw).match?
[ -2**15, -256, -2, -1,-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**15]
else
[-2**30, -2**16, -256, -2, -1,-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
end
describe "File#chmod" do
before :each do
@filename = tmp('i_exist.exe')
......
@file.chmod(0755).should == 0
end
platform_is_not :freebsd, :netbsd, :openbsd, :darwin do
it "always succeeds with any numeric values" do
vals = [-2**30, -2**16, -256, -2, -1,
-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
vals.each { |v|
lambda { @file.chmod(v) }.should_not raise_error
}
end
end
# -256, -2 and -1 raise Errno::EFTYPE on NetBSD
platform_is :netbsd do
it "always succeeds with any numeric values" do
vals = [-2**30, -2**16, #-256, -2, -1,
-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
vals.each { |v|
lambda { @file.chmod(v) }.should_not raise_error
}
end
end
# -256, -2 and -1 raise Errno::EINVAL on OpenBSD
platform_is :freebsd, :openbsd, :darwin do
it "always succeeds with any numeric values" do
vals = [#-2**30, -2**16, -256, -2, -1,
-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256]#, 2**16, 2**30
vals.each { |v|
lambda { @file.chmod(v) }.should_not raise_error
}
end
it "always succeeds with any numeric values" do
FILE_VALS.each { |v|
lambda { @file.chmod(v) }.should_not raise_error
}
end
it "invokes to_int on non-integer argument" do
......
@count.should == 1
end
platform_is_not :freebsd, :netbsd, :openbsd, :darwin do
it "always succeeds with any numeric values" do
vals = [-2**30, -2**16, -256, -2, -1,
-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
vals.each { |v|
lambda { File.chmod(v, @file) }.should_not raise_error
}
end
end
# -256, -2 and -1 raise Errno::EFTYPE on NetBSD
platform_is :netbsd do
it "always succeeds with any numeric values" do
vals = [-2**30, -2**16, #-256, -2, -1,
-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
vals.each { |v|
lambda { File.chmod(v, @file) }.should_not raise_error
}
end
it "always succeeds with any numeric values" do
FILE_VALS.each { |v|
lambda { File.chmod(v, @file) }.should_not raise_error
}
end
platform_is :darwin do
spec/ruby/core/file/umask_spec.rb
require File.expand_path('../../../spec_helper', __FILE__)
# See chmod_spec also
FILE_VALS =
if PlatformGuard.new(:netbsd).match?
# -256, -2 and -1 raise Errno::EFTYPE on NetBSD
[-2**30, -2**16, -0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
elsif PlatformGuard.new(:freebsd, :openbsd, :darwin).match?
# -256, -2 and -1 raise Errno::EINVAL on OpenBSD
[ -0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256]
elsif PlatformGuard.new(:mingw).match?
[ -2**15, -256, -2, -1,-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**15]
else
[-2**30, -2**16, -256, -2, -1,-0.5, 0, 1, 2, 5.555575, 16, 32, 64, 256, 2**16, 2**30]
end
describe "File.umask" do
before :each do
@orig_umask = File.umask
......
end
end
platform_is_not :freebsd, :darwin do
it "always succeeds with any integer values" do
vals = [-2**30, -2**16, -256, -2,
-1.5, -1, 0.5, 0, 1, 2, 7.77777, 16, 32, 64, 256, 2**16, 2**30]
vals.each { |v|
lambda { File.umask(v) }.should_not raise_error
}
end
it "always succeeds with any integer values" do
FILE_VALS.each { |v|
lambda { File.umask(v) }.should_not raise_error
}
end
platform_is :freebsd, :darwin do
it "always succeeds with any integer values" do
vals = [-256, -2,
-1.5, -1, 0.5, 0, 1, 2, 7.77777, 16, 32, 64, 256]
vals.each { |v|
lambda { File.umask(v) }.should_not raise_error
}
end
it "fails with invalid values" do
vals = [-2**30, -2**16, 2**16, 2**30]
vals.each { |v|
(2-2/3)