Bug #13542
openMinGW trunk Builds - Summary of Issues
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.
-
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. -
test-all
'silent' stop -TestSocket#test_closed_read
, see patch. -
Failures / Errors - 8 failures and 1 error are consistently generated. Listed on web page.
-
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
Updated by MSP-Greg (Greg L) about 6 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) about 6 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) about 6 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.