From: Greg.mpls@... Date: 2017-05-15T14:41:48+00:00 Subject: [ruby-core:81176] [Ruby trunk Bug#13542] MinGW trunk Builds - Summary of Issues Issue #13542 has been updated by MSP-Greg (Greg L). 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](https://msp-greg.github.io/file.mingw_test-all.html) Thanks to nobu and everyone for the MinGW / Windows fixes. ---------------------------------------- Bug #13542: MinGW trunk Builds - Summary of Issues https://bugs.ruby-lang.org/issues/13542#change-64830 * Author: MSP-Greg (Greg L) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.0dev (2017-05-04 trunk 58568) [x64-mingw32] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- 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](https://msp-greg.github.io/file.mingw_test-all.html) for details. The build system I use is available at [MSP-Greg / ruby-loco](https://github.com/MSP-Greg/ruby-loco). Build & test-all Info / Issues: Two patches are applied for building - [configure.in](https://github.com/MSP-Greg/ruby-loco/blob/master/patches/configure.in.patch) and [include/ruby/defines.h](https://github.com/MSP-Greg/ruby-loco/blob/master/patches/include_ruby_defines.h.patch). Four items related to `test-all`, which are also detailed on the web page. 1. `test-all` SEGV - [`TestEnumerable#test_callcc`](https://github.com/ruby/ruby/blob/93a6178f5694fbd44afa1d65fd9491b861dde218/test/ruby/test_enum.rb#L559) - This causes a 'logged' segv, which is attached and listed [here](https://msp-greg.github.io/file.mingw_test-all.html#Seg-fault-TestEnumerable-test-callcc). 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](https://github.com/MSP-Greg/ruby-loco/blob/master/patches/64/segv64-test-ruby-test_enum.patch). I believe a 32 bit build requires a more extensive patch. 2. `test-all` 'silent' stop - [`TestSocket#test_closed_read`](https://github.com/ruby/ruby/blob/93a6178f5694fbd44afa1d65fd9491b861dde218/test/socket/test_socket.rb#L528), see [patch](https://github.com/MSP-Greg/ruby-loco/blob/master/patches/segv-test-socket-test_socket.patch). 3. Failures / Errors - 8 failures and 1 error are consistently generated. Listed on [web page](https://msp-greg.github.io/file.mingw_test-all.html#Typical-Test-Results). 4. Readline & temp files - there may be issues with using [GNU Readline](https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html) on Windows, but it passes all tests except [`TestReadline#test_input_metachar`](https://github.com/ruby/ruby/blob/93a6178f5694fbd44afa1d65fd9491b861dde218/test/readline/test_readline.rb#L420). A [patch](https://github.com/MSP-Greg/ruby-loco/blob/master/patches/test-readline-test_readline.patch) is used for temp files, otherwise failures occur on Windows. I realize that MinGW is considered a [Tier 2](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms) 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](https://bugs.ruby-lang.org/issues/13500) - not an issue in current builds [13496 Patches for MinGW builds](https://bugs.ruby-lang.org/issues/13496) - addressed here [13485 MinGW TestEnumerable#test_callcc SEGV info](https://bugs.ruby-lang.org/issues/13485) - addressed here [13441 building - GIT variable, ruby, rubygems tests](https://bugs.ruby-lang.org/issues/13441) - not an issue in current builds, commits in RubyGems [13390 MinGW build test-all SEGV, issue in test framework or err](https://bugs.ruby-lang.org/issues/13390) - not an issue in current builds [13298 mingw SEGV TestEnumerable#test_callcc (Assigned)](https://bugs.ruby-lang.org/issues/13298) - `Continuation` is sort of deprecated, addressed here [13269 test/readline/test_readline.rb and mingw](https://bugs.ruby-lang.org/issues/13269) - addressed here, more an issue with Windows and temp files [12595 Documentation](https://bugs.ruby-lang.org/issues/12595) - needn't be on the list... ---Files-------------------------------- segv_test_enum.txt (8.71 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: