    end
  
    it "invokes to_int on non-integer argument" do
-@@ -123,25 +111,10 @@
+@@ -123,35 +111,13 @@
      @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 = [-2**30, -2**16, -2**8, -2, -1,
+-        -0.5, 0, 1, 2, 5.555575, 16, 32, 64, 2**8, 2**16, 2**30]
 -      vals.each { |v|
 -        lambda { File.chmod(v, @file) }.should_not raise_error
 -      }

# Patch by MSP-Greg, MinGW fix for 61950
diff --git a/spec/ruby/core/file/chmod_spec.rb b/spec/ruby/core/file/chmod_spec.rb
index f42dea6585..c4bbf667c0 100644
--- a/spec/ruby/core/file/chmod_spec.rb
+++ b/spec/ruby/core/file/chmod_spec.rb
@@ -1,5 +1,19 @@

+    }
   end
 
-  platform_is :freebsd, :darwin do
-    it "always succeeds with any integer values" do
-      vals = [-2**8, -2,
-              -1.5, -1, 0.5, 0, 1, 2, 7.77777, 16, 32, 64, 2**8]
-      vals.each { |v|
-        lambda { File.umask(v) }.should_not raise_error
-      }
-    end
-
+  platform_is :freebsd, :darwin, :mingw do
     it "fails with invalid values" do
       vals = [-2**30, -2**16, 2**16, 2**30]
       vals.each { |v|
