From: Greg.mpls@... Date: 2017-04-24T16:40:43+00:00 Subject: [ruby-core:80845] [Ruby trunk Bug#13500] MinGW TestArity#test_proc_err_mess stops testing Issue #13500 has been updated by MSP-Greg (Greg L). This morning, a MinGW build of ``` ruby 2.5.0dev (2017-04-24 trunk 58467) [x64-mingw32] ``` completed `test-all` with ``` 16621 tests, 2227533 assertions, 8 failures, 1 errors, 114 skips ``` I've mentioned that I am not fluent in c. Closest I've come is C#, and that was quite a while ago, and I realize that C# is managed and GC'd. Conversely, I have been coding for a very long time. If there is anything I can do to help solve this issue (which is intermittent), please let me know. Today, I grabbed the tests that have intermittently stopped `test-all`, and ran them 200 times. They completed, which is a good sign, but I've never tried it before. I'll continue to do that with all builds. The tests were the following: ``` ruby --disable-gems runner_t.rb -v -druby_stop Run options: -v --show-skip # Running tests: [1/6] TestArity#test_proc_err_mess = 0.00 s [2/6] TestKeywordArguments#test_block_required_keyword = 0.00 s [3/6] TestKeywordArguments#test_f4 = 0.00 s [4/6] TestKeywordArguments#test_f5 = 0.00 s [5/6] TestLambdaParameters#test_exact_parameter = 0.00 s [6/6] TestRubyYieldGen#test_yield_lambda = 1.73 s Finished tests in 1.762800s, 3.4037 tests/s, 3041.7518 assertions/s. 6 tests, 5362 assertions, 0 failures, 0 errors, 0 skips ruby -v: ruby 2.5.0dev (2017-04-24 trunk 58467) [x64-mingw32] ``` Just in case, I've summarized my build code below. I have several patches that I've needed over the past few months to allow `test-all` to complete. For this build, I had patches for: ``` test/ruby/test_enum.rb test/socket/test_socket.rb ``` Previously, for test-all to complete, I've needed patches for: ``` test/fileutils/test_fileutils.rb test/ruby/test_arity.rb test/ruby/test_keyword.rb test/ruby/test_lambda.rb test/ruby/test_yield.rb ``` My configure 'specials' are: ``` --with-baseruby=${RUBY} \ --disable-install-doc \ --with-git=${GIT} \ --with-out-ext=pty,syslog ``` Patches to 'base' ruby are listed in [13496](https://bugs.ruby-lang.org/issues/13496). My make lines are: ``` make BASERUBY=${RUBY} touch-unicode-files make after-update BASERUBY=${RUBY} UNICODE_FILES=. make -j3 all ``` If I've got anything incorrect in the above, please let me know. Finally, thanks for everyone's help. ---------------------------------------- Bug #13500: MinGW TestArity#test_proc_err_mess stops testing https://bugs.ruby-lang.org/issues/13500#change-64451 * Author: MSP-Greg (Greg L) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.0dev (2017-04-24 trunk 58462) [x64-mingw32] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- 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`](https://github.com/ruby/ruby/blob/b3209c258eddc093ffdcbf77ee079cdc93f094ae/test/ruby/test_arity.rb#L49). Solution is to either add the following line `args.to_s` -- ```ruby 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 -- ```ruby 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. -- https://bugs.ruby-lang.org/ Unsubscribe: