Ruby 1.8.5 on HP-UX 11.11 (PA-RISC) test result

HP-UX 11.11 (PA-RISC) e$B$G$N%F%9%H7k2L$G$9!#e(B
make test-all e$B$Ge(B 2 e$B$DLdBj$,$"$j$^$9$,:3:Y$J$b$N$G$9!#e(B

== e$B4D6-e(B

  • uname -srm
    HP-UX B.11.11 9000/861
  • what /usr/bin/cc
    /usr/bin/cc:
    LINT B.11.11.24830.GP CXREF B.11.11.24830.GP
    HP92453-01 B.11.11.24830.GP HP C Compiler
    $ Sep 8 2000 23:13:51 $
  • openssl version
    OpenSSL 0.9.7d 17 Mar 2004

== make

  • mkdir build; cd build

  • …/configure --prefix=/home/miyamuko/opt/ruby185
    –program-suffix=185 --disable-ipv6

  • make

  • make test
    test succeeded

  • make test-all
    ./miniruby …/runruby.rb --extout=.ext – -C “…/test”
    runner.rb --runner=console
    Loaded suite .
    Started
    …(e$BN,e(B)
    …/test/ruby/test_process.rb:26:in setrlimit': Invalid argument - setrlimit (Errno::EINVAL) from ../test/ruby/test_process.rb:26:intest_rlimit_nofile’
    from …/test/ruby/test_process.rb:24:in fork' from ../test/ruby/test_process.rb:24:intest_rlimit_nofile’
    from /home/miyamuko/src/ruby_1_8/lib/test/unit/testcase.rb:70:in
    __send__' from /home/miyamuko/src/ruby_1_8/lib/test/unit/testcase.rb:70:inrun’
    from /home/miyamuko/src/ruby_1_8/lib/test/unit/testsuite.rb:32:in run' from /home/miyamuko/src/ruby_1_8/lib/test/unit/testsuite.rb:31:ineach’
    from /home/miyamuko/src/ruby_1_8/lib/test/unit/testsuite.rb:31:in run' ... 6 levels... from /home/miyamuko/src/ruby_1_8/lib/test/unit/ui/testrunnerutilities.rb:27:inrun’
    from /home/miyamuko/src/ruby_1_8/lib/test/unit/autorunner.rb:200:in
    run' from /home/miyamuko/src/ruby_1_8/lib/test/unit/autorunner.rb:13:inrun’
    from runner.rb:7
    F…(e$BN,e(B)

    1. Failure:
      test_03(TestDRbUNIXCore)
      [/home/miyamuko/src/ruby_1_8/test/drb/drbtest.rb:143]:
      exception expected but was
      Class: Errno::EINVAL
      Message: <“Invalid argument”>
      —Backtrace—
      /home/miyamuko/src/ruby_1_8/lib/drb/unix.rb:91:in path' /home/miyamuko/src/ruby_1_8/lib/drb/unix.rb:91:inclose’
      /home/miyamuko/src/ruby_1_8/lib/drb/drb.rb:1199:in close' /home/miyamuko/src/ruby_1_8/lib/drb/drb.rb:1181:inopen’
      /home/miyamuko/src/ruby_1_8/lib/drb/drb.rb:1085:in method_missing' /home/miyamuko/src/ruby_1_8/lib/drb/drb.rb:1103:inwith_friend’
      /home/miyamuko/src/ruby_1_8/lib/drb/drb.rb:1084:in method_missing' /home/miyamuko/src/ruby_1_8/test/drb/drbtest.rb:144:intest_03’
      /home/miyamuko/src/ruby_1_8/test/drb/drbtest.rb:143:in `test_03’

e$BF1$8%(%i!<$,$"$He(B 7 e$B8D!#e(B

  1. Failure:
    test_rlimit_nofile(TestProcess) […/test/ruby/test_process.rb:35]:
    <0> expected but was
    <256>.

== Invalid argument - setrlimit (Errno::EINVAL)

test_rlimit_nofile e$B$G$9$,!"$3$l$Oe(B HP-UX e$B$Ne(B setrlimit(2)
e$B$O;XDj$7$?CM$h$je(B
e$B8=:_$N;HMQNL$N$[$&$,B?$$>l9ge(B EINVAL e$B$K$J$j$^$9!#e(B

% ruby185 -e "p Process.setrlimit(Process::RLIMIT_NOFILE, 2, 100)"
-e:1:in `setrlimit': Invalid argument - setrlimit (Errno::EINVAL)
        from -e:1
% ruby185 -e "p Process.setrlimit(Process::RLIMIT_NOFILE, 3, 100)"
nil
% ruby185 -e "IO.pipe; p Process.setrlimit(Process::RLIMIT_NOFILE, 

3, 100)"
-e:1:in `setrlimit’: Invalid argument - setrlimit (Errno::EINVAL)
from -e:1

man setrlimit

setrlimit() e$B4X?t$O<!$N>l9g$K<:GT$7$^$9!#e(B

  [EINVAL] 

e$B;XDj$7$?CM$h$j$b8=:_$N;HMQNL$,$9$G$KD6$($F$$$k$?$a!"e(B
e$B@)8BCM$r;XDj$7$?CM$K@_Dj$9$k$3$H$,$G$-$J$$>l9ge(B

http://docs.hp.com/ja/B2355-60104-05/getrlimit.2.html

e$B$=$N$?$ae(B test_process.rb e$B$G%F%9%H$Ne(B setup
e$B$H$7$F<B9T$7$F$$$k0J2<$NItJ,$Ge(B
e$B%(%i!<$K$J$C$F$$$^$9!#e(B

Process.setrlimit(Process::RLIMIT_NOFILE, 0, max_nofile)

e$B$3$l$Oe(B HP-UX e$B$N>l9g%9%-%C%W$7$A$c$($P$$$$$s$G$9$+$M$’!#!#!#e(B

== test_03(TestDRbUNIXCore)

drb e$B$N$[$&$Oe(B close e$B$7$?%=%1%C%H$KBP$7$Fe(B path (getsockname)
e$B$r8F$s$G$$$k$?$ae(B
e$B$G$9!#$3$N>l9ge(B HP-UX e$B$G$Oe(B EINVAL e$B$K$J$j$^$9!#e(B

% ruby185 -rsocket -ve "s = UNIXSocket.pair; s[0].close; p 

s[1].path"
ruby 1.8.5 (2006-07-28) [hppa2.0n-hpux11.11]
-e:1:in `path’: Invalid argument (Errno::EINVAL)
from -e:1
% ruby185 -rsocket -ve “s = UNIXSocket.pair; s[0].close; p
s[1].path”
ruby 1.8.5 (2006-07-28) [ia64-linux]
“”

man getsockname

getsockname() e$B$O!"<!$N>r7o$N$I$l$+$N>l9g$K<:GT$7$^$9!#e(B

  [EINVAL]   e$B%=%1%C%H$,!"%7%c%C%H%@%&%s$5$l$F$$$k>l9ge(B

http://docs.hp.com/ja/B2355-60104-05/getsockname.2.html

e$B$H$j$"$($:0J2<$GD>$j$^$9$,$I$&$G$7$g$&!#e(B
e$B!t5sF0$,0lCW$9$k$h$&$Ke(B path
e$B$N$[$&$rD>$7$?$[$&$,$$$$$N$+$b$7$l$^$;$s!#e(B

Index: lib/drb/unix.rb

RCS file: /src/ruby/lib/drb/unix.rb,v
retrieving revision 1.5.2.2
diff -u -r1.5.2.2 unix.rb
— lib/drb/unix.rb 22 Jan 2005 13:37:37 -0000 1.5.2.2
+++ lib/drb/unix.rb 28 Jul 2006 20:16:08 -0000
@@ -88,9 +88,13 @@
public
def close
return unless @socket

  •  path = @socket.path
    
  •  @socket.close
    
  •  File.unlink(path) if @server_mode
    
  •  if @server_mode
    
  •    path = @socket.path
    
  •    @socket.close
    
  •    File.unlink(path)
    
  •  else
    
  •    @socket.close
    
  •  end
     @socket = nil
    
    end

In article
[email protected],
“MIYAMUKO Katsuyuki” [email protected] writes:

== Invalid argument - setrlimit (Errno::EINVAL)

test_rlimit_nofile e$B$G$9$,!"$3$l$Oe(B HP-UX e$B$Ne(B setrlimit(2) e$B$O;XDj$7$?CM$h$je(B
e$B8=:_$N;HMQNL$N$[$&$,B?$$>l9ge(B EINVAL e$B$K$J$j$^$9!#e(B

e$B$“!”$?$7$+$K$=$l$b@5$7$$5sF0$G$9$M!#e(B

e$B$=$N%1!<%[email protected]$H$_$J$9$h$&$KJQ$($^$7$?!#e(B