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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>