Project

General

Profile

Bug #15465

Tests failed on i386-cygwin

Added by fd0 (Daisuke Fujimura) 12 months ago. Updated 11 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) 12 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) 11 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