Skip to content

Commit 328ac37

Browse files
committed
Fix specs for SystemError#message on Windows when errno value is not supported
1 parent 4aa40aa commit 328ac37

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

core/exception/system_call_error_spec.rb

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,23 @@ def initialize
9696
end
9797

9898
it "sets an 'unknown error' message when an unknown error number" do
99-
SystemCallError.new(-1).message.should =~ /Unknown error(:)? -1/
99+
platform_is_not :windows do
100+
SystemCallError.new(-1).message.should =~ /Unknown error(:)? -1/
101+
end
102+
103+
platform_is :windows do
104+
SystemCallError.new(-1).message.should == "The operation completed successfully."
105+
end
100106
end
101107

102108
it "adds a custom error message to an 'unknown error' message when an unknown error number and a custom message specified" do
103-
SystemCallError.new("custom message", -1).message.should =~ /Unknown error(:)? -1 - custom message/
109+
platform_is_not :windows do
110+
SystemCallError.new("custom message", -1).message.should =~ /Unknown error(:)? -1 - custom message/
111+
end
112+
113+
platform_is :windows do
114+
SystemCallError.new("custom message", -1).message.should == "The operation completed successfully. - custom message"
115+
end
104116
end
105117

106118
it "converts to Integer if errno is a Complex convertible to Integer" do

optional/capi/kernel_spec.rb

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,13 @@ class CApiKernelSpecs::Exc < StandardError
197197
end
198198

199199
it "uses an 'unknown error' message when errno is unknown" do
200-
-> do
201-
@s.rb_syserr_fail(-10, nil)
202-
end.should raise_error(SystemCallError, /Unknown error(:)? -1/) # a new class Errno::E-01 is generated on the fly
200+
platform_is_not :windows do
201+
-> { @s.rb_syserr_fail(-10, nil) }.should raise_error(SystemCallError, /Unknown error(:)? -10/)
202+
end
203+
204+
platform_is :windows do
205+
-> { @s.rb_syserr_fail(-1, nil) }.should raise_error(SystemCallError, "The operation completed successfully.")
206+
end
203207
end
204208
end
205209

@@ -217,9 +221,13 @@ class CApiKernelSpecs::Exc < StandardError
217221
end
218222

219223
it "uses an 'unknown error' message when errno is unknown" do
220-
-> do
221-
@s.rb_syserr_fail_str(-1, nil)
222-
end.should raise_error(SystemCallError, /Unknown error(:)? -1/) # a new class Errno::E-01 is generated on the fly
224+
platform_is_not :windows do
225+
-> { @s.rb_syserr_fail_str(-10, nil) }.should raise_error(SystemCallError, /Unknown error(:)? -10/)
226+
end
227+
228+
platform_is :windows do
229+
-> { @s.rb_syserr_fail_str(-1, nil) }.should raise_error(SystemCallError, "The operation completed successfully.")
230+
end
223231
end
224232
end
225233

0 commit comments

Comments
 (0)