rtomayko / posix-spawn

Ruby process spawning library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Several testsuite-issues when building for Fedora 20 or Red Hat / CentOS

besser82 opened this issue · comments

Hello!

I'm currently working on a native Fedora && Red Hat / CentOS rpm for this, but the testsuite exhibits some failures, unfortunately:

Running tests:

.yes: standard output: Broken pipe
yes: write error
...................../bin/sh: 8: Bad file descriptor
FF...................................................................../bin/sh: 8: Bad file descriptor
FF.hiya
F........................................
Finished tests in 0.773485s, 177.1204 tests/s, 584.3682 assertions/s.

  1. Failure:
    ForkSpawnTest#test_explicitly_passing_an_fd_as_open [/builddir/build/BUILD/posix-spawn-0.3.8/test/test_spawn.rb:185]:
    <0> expected but was
    <1>.
  2. Failure:
    ForkSpawnTest#test_sanity_of_checking_clone_with_sh [/builddir/build/BUILD/posix-spawn-0.3.8/test/test_spawn.rb:72]:
    <0> expected but was
    <1>.
  3. Failure:
    PosixSpawnTest#test_explicitly_passing_an_fd_as_open [/builddir/build/BUILD/posix-spawn-0.3.8/test/test_spawn.rb:185]:
    <0> expected but was
    <1>.
  4. Failure:
    PosixSpawnTest#test_sanity_of_checking_clone_with_sh [/builddir/build/BUILD/posix-spawn-0.3.8/test/test_spawn.rb:72]:
    <0> expected but was
    <1>.
  5. Failure:
    PosixSpawnTest#test_spawn_close_invalid_fd_raises_exception [/builddir/build/BUILD/posix-spawn-0.3.8/test/test_spawn.rb:119]:
    <127> expected but was
    <0>.
    137 tests, 452 assertions, 5 failures, 0 errors, 0 skips
    ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
    rake aborted!
    Command failed with status (5): [ruby -I"lib" -I"/usr/share/gems/gems/rake-10.0.4/lib" "/usr/share/gems/gems/rake-10.0.4/lib/rake/rake_test_loader.rb" "test/test_backtick.rb" "test/test_child.rb" "test/test_popen.rb" "test/test_spawn.rb" "test/test_system.rb" ]
    /usr/share/gems/gems/rake-10.0.4/lib/rake/testtask.rb:104:in block (3 levels) in define' /usr/share/gems/gems/rake-10.0.4/lib/rake/file_utils.rb:45:incall'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in sh' /usr/share/gems/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:insh'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/file_utils.rb:82:in ruby' /usr/share/gems/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:inruby'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/testtask.rb:100:in block (2 levels) in define' /usr/share/gems/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:58:inverbose'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/testtask.rb:98:in block in define' /usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:246:incall'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:246:in block in execute' /usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:241:ineach'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:241:in execute' /usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:184:inblock in invoke_with_call_chain'
    /usr/share/ruby/monitor.rb:211:in mon_synchronize' /usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:177:ininvoke_with_call_chain'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/task.rb:170:in invoke' /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:143:ininvoke_task'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:101:in block (2 levels) in top_level' /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:101:ineach'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:101:in block in top_level' /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:110:inrun_with_threads'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:95:in top_level' /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:73:inblock in run'
    /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:160:in standard_exception_handling' /usr/share/gems/gems/rake-10.0.4/lib/rake/application.rb:70:inrun'
    /usr/share/gems/gems/rake-10.0.4/bin/rake:33:in <top (required)>' /usr/bin/rake:23:inload'
    /usr/bin/rake:23:in `'
    Tasks: TOP => test

I hope you can help me with these output and/or supply me with a patch (or new release).

For your convinience I uploaded some more verbose stuff to http://besser82.fedorapeople.org/rubygem-posix-spawn_results.tar.xz

If you need some Fedora chroot you can fetch them here:

64-Bit: http://besser82.fedorapeople.org/fedora-20-x86_64.tar.xz
32-Bit: http://besser82.fedorapeople.org/fedora-20-i686.tar.xz

Cheers,
besser82

Same issues on Gentoo with ruby20 and ruby21.

yes: standard output: Broken pipe
yes: write error
/bin/sh: 8: Bad file descriptor

  1. Failure:
    ForkSpawnTest#test_explicitly_passing_an_fd_as_open [/var/tmp/portage/dev-ruby/posix-spawn-0.3.8/work/ruby21/posix-spawn-0.3.8/test/test_spawn.rb:185]:
    <0> expected but was
    <1>.

  2. Failure:
    ForkSpawnTest#test_sanity_of_checking_clone_with_sh [/var/tmp/portage/dev-ruby/posix-spawn-0.3.8/work/ruby21/posix-spawn-0.3.8/test/test_spawn.rb:72]:
    <0> expected but was
    <1>.

/bin/sh: 8: Bad file descriptor

  1. Failure:
    PosixSpawnTest#test_explicitly_passing_an_fd_as_open [/var/tmp/portage/dev-ruby/posix-spawn-0.3.8/work/ruby21/posix-spawn-0.3.8/test/test_spawn.rb:185]:
    <0> expected but was
    <1>.

  2. Failure:
    PosixSpawnTest#test_sanity_of_checking_clone_with_sh [/var/tmp/portage/dev-ruby/posix-spawn-0.3.8/work/ruby21/posix-spawn-0.3.8/test/test_spawn.rb:72]:
    <0> expected but was
    <1>.

hiya

  1. Failure:
    PosixSpawnTest#test_spawn_close_invalid_fd_raises_exception [/var/tmp/portage/dev-ruby/posix-spawn-0.3.8/work/ruby21/posix-spawn-0.3.8/test/test_spawn.rb:119]:
    <127> expected but was
    <0>.

Finished tests in 1.184426s, 115.6678 tests/s, 381.6194 assertions/s.
137 tests, 452 assertions, 5 failures, 0 errors, 0 skips

I've been trying to fix some of these in https://github.com/dblock/posix-spawn/tree/travis-ci, not making too much progress.

These are all failing because the exec process isn't getting the file descriptor that is being created by IO.pipe. Looks like an actual bug, maybe @rtomayko can shed some light. I am happy to help.