Actions
Bug #13500
closedMinGW TestArity#test_proc_err_mess stops testing
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.5.0dev (2017-04-24 trunk 58462) [x64-mingw32]
Description
With MinGW build of ruby 2.5.0dev (2017-04-24 trunk 58462) [x64-mingw32]
, both test-all and an external test stop in TestArity#test_proc_err_mess
.
Solution is to either add the following line args.to_s
--
def err_mess(method_proc = nil, argc = 0)
args = (1..argc).to_a
assert_raise_with_message(ArgumentError, /wrong number of arguments \(.*\b(\d+)\b.* (\d\S*?)\)/) do
case method_proc
when nil
yield
when Symbol
method(method_proc).call(*args)
else
+ args.to_s
method_proc.call(*args)
end
end
[$1, $2]
end
or comment out the two lines --
def test_proc_err_mess
# assert_equal %w[0 1..2], err_mess(->(b, c=42){}, 0)
assert_equal %w[1 2+], err_mess(->(a, b, c=42, *d){}, 1)
assert_equal %w[3 4+], err_mess(->(a, b, *c, d, e){}, 3)
assert_equal %w[3 1..2], err_mess(->(b, c=42){}, 3)
# assert_equal %w[1 0], err_mess(->(&block){}, 1)
# Double checking:
p = Proc.new{|b, c=42| :ok}
assert_equal :ok, p.call(1, 2, 3)
assert_equal :ok, p.call
end
Once again, seems very odd. I have no idea why the first solution would change anything... Since this is a silent failure, if there's anything I can do to get more info, please let me know.
Also, there may be more issues; I haven't gone back to test-all with this patched to see if it completes.
Thank you.
Actions
Like0
Like0Like0Like0