Project

General

Profile

Bug #13542

MinGW trunk Builds - Summary of Issues

Added by MSP-Greg (Greg L) almost 2 years ago. Updated almost 2 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.5.0dev (2017-05-04 trunk 58568) [x64-mingw32]
[ruby-core:80994]

Description

It appears that 64 bit MinGW trunk build results in test-all are stable . The only inconsistent item is the number of reported assertions. See Ruby MinGW 'test-all' Results for details. The build system I use is available at MSP-Greg / ruby-loco.

Build & test-all Info / Issues:

Two patches are applied for building - configure.in and include/ruby/defines.h.

Four items related to test-all, which are also detailed on the web page.

  1. test-all SEGV - TestEnumerable#test_callcc - This causes a 'logged' segv, which is attached and listed here. Note that the only difference between this assert and the next one is the array length, [o, o].sort_by {|x| x } vs [o, o, o].sort_by {|x| x }. Checking blame, it was added for code coverage. See patch. I believe a 32 bit build requires a more extensive patch.

  2. test-all 'silent' stop - TestSocket#test_closed_read, see patch.

  3. Failures / Errors - 8 failures and 1 error are consistently generated. Listed on web page.

  4. Readline & temp files - there may be issues with using GNU Readline on Windows, but it passes all tests except TestReadline#test_input_metachar. A patch is used for temp files, otherwise failures occur on Windows.

I realize that MinGW is considered a Tier 2 platform, and that these issues may have existed for quite some time.

Given that most mentions of Ruby and Windows also mention MinGW builds, I hope that, in time, these issues can be addressed. Hopefully, consideration can be given to moving MinGW to a Tier 1 platform, along with appveyor testing of it, instead of mswin64.

Thanks for everyone's help. If there is anything else I can do, please let me know.

 
 

Since I've only identified issues, but not their causes, please close the following issues:

13500 MinGW TestArity#test_proc_err_mess stops testing - not an issue in current builds

13496 Patches for MinGW builds - addressed here

13485 MinGW TestEnumerable#test_callcc SEGV info - addressed here

13441 building - GIT variable, ruby, rubygems tests - not an issue in current builds, commits in RubyGems

13390 MinGW build test-all SEGV, issue in test framework or err - not an issue in current builds

13298 mingw SEGV TestEnumerable#test_callcc (Assigned) - Continuation is sort of deprecated, addressed here

13269 test/readline/test_readline.rb and mingw - addressed here, more an issue with Windows and temp files

12595 Documentation - needn't be on the list...


Files

segv_test_enum.txt (8.71 KB) segv_test_enum.txt MSP-Greg (Greg L), 05/04/2017 04:29 PM

History

Updated by MSP-Greg (Greg L) almost 2 years ago

Saturday, I ran spec/mspec for the first time in a while, and today it was added to the ruby repo. I'm having some issues integrating it into the build environment, but the following is the output from running mspec :core and mspec :library. Since the tests use non-native windows commands, one must have the msys2 usr/bin folder in one's path.

Results have one failure.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - :core
E:\GitHub\spec>..\mspec\bin\mspec :core
$ ruby E:/GitHub/mspec/bin/mspec-run :core
ruby 2.5.0dev (2017-05-07 trunk 58602) [x64-mingw32]

1)
Time#zone defaults to UTC when bad zones given FAILED
Expected 3600
 to equal 0

E:/GitHub/spec/core/time/zone_spec.rb:68:in `block (4 levels) in <top (required)>'
E:/GitHub/spec/core/time/zone_spec.rb:67:in `block (3 levels) in <top (required)>'
E:/GitHub/spec/core/time/zone_spec.rb:3:in `<top (required)>'
[| | ==================100%================== | 00:00:00]      1F      0E

1765 files, 17602 examples, 178151 expectations, 1 failure, 0 errors, 0 tagged


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - :library
E:\GitHub\spec>..\mspec\bin\mspec :library
$ ruby E:/GitHub/mspec/bin/mspec-run :library
ruby 2.5.0dev (2017-05-07 trunk 58602) [x64-mingw32]
[/ | ==================100%================== | 00:00:00]      0F      0E

1675 files, 4963 examples, 17447 expectations, 0 failures, 0 errors, 0 tagged

Also, for the last build (2017-05-07 trunk 58602), I was able to use make -j3 instead of make -j1.

Updated by MSP-Greg (Greg L) almost 2 years ago

I'm now running both of the following with my daily builds:

make -ij1 "MSPECOPT=-Vfs command_line language library core optional/capi" test-rubyspec

and

..\mspec\bin\mspec -Vfs :command_line :language :library :core

I've added a results table to Ruby MinGW Test Results

Thanks to nobu and everyone for the MinGW / Windows fixes.

Updated by MSP-Greg (Greg L) almost 2 years ago

Built ruby 2.5.0dev (2017-05-20 trunk 58803) [x64-mingw32] and removed all encoding related settings, and also any patches affecting that. Test results here.

  • test-all has an additional failure and an additional error
  • test-spec no longer runs
  • mspec run from a cmd window completes with an additional failure

Thank you for your help and contributions. If there is anything else I can do, please ask.

Also available in: Atom PDF