Project

General

Profile

Bug #15465

Tests failed on i386-cygwin

Added by fd0 (Daisuke Fujimura) 10 months ago. Updated 9 months ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0p0 (2018-12-25 revision 66547) [i386-cygwin]
[ruby-dev:50729]

Description

Several tests failed on i386-cygwin

Steps:

$ ./configure
$ make
$ make test |& tee test.log

Failed tests:

$ grep # test.log
#651 test_io.rb:87:in `block in <top (required)>':
       #File.open("megasrc", "w") {|f| f << megacontent }
  #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
#920 test_massign.rb:165:in `<top (required)>': core dumped  [ruby-dev:32581]
#1376 test_thread.rb:301:in `<top (required)>':
  #=> killed by SIGIOT (signal 6)
#1377 test_thread.rb:305:in `<top (required)>':
  #=> killed by SIGIOT (signal 6)
#1378 test_thread.rb:310:in `<top (required)>':
  #=> killed by SIGIOT (signal 6)
#1379 test_thread.rb:315:in `<top (required)>':
  #=> killed by SIGIOT (signal 6)
#1380 test_thread.rb:320:in `<top (required)>':
  #=> killed by SIGIOT (signal 6)
#1381 test_thread.rb:325:in `<top (required)>':
  #=> killed by SIGIOT (signal 6)
#1382 test_thread.rb:330:in `<top (required)>':
  #=> killed by SIGIOT (signal 6)

Files

test.log (14.5 KB) test.log fd0 (Daisuke Fujimura), 12/25/2018 03:43 PM

History

Updated by mame (Yusuke Endoh) 10 months ago

  • Status changed from Open to Feedback

As far as I know, there is no active Ruby maintainer for cygwin environment. And there is no CI for cygwin. Contribution is welcome.

Updated by fd0 (Daisuke Fujimura) 9 months ago

In case of make btest, test_massign.rb and test_thread.rb succeeded.

The cause of failures is environment variable RUBY_FIBER_MACHINE_STACK_SIZE=1 in tools/runruby.rb.

The workaround (not beautiful) is as follows:

--- origsrc/ruby-2.6.0/tool/runruby.rb  2018-07-10 02:49:21.000000000 +0900
+++ src/ruby-2.6.0/tool/runruby.rb      2019-01-09 16:39:30.366472100 +0900
@@ -99,6 +99,7 @@ env = {
   'RUBY_THREAD_MACHINE_STACK_SIZE' => '1',
   'RUBY_FIBER_MACHINE_STACK_SIZE' => '1',
 }
+env = {} if /i386-cygwin/ =~ RUBY_PLATFORM

 runner = File.join(abs_archdir, "exe/ruby#{config['EXEEXT']}")
 runner = nil unless File.exist?(runner)

Also available in: Atom PDF