Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: JRuby 1.3.1
-
Fix Version/s: None
-
Component/s: RubySpec
-
Labels:None
-
Environment:jruby 1.5.0dev (ruby 1.8.7 patchlevel 174) (2009-10-02 853e083) (Java HotSpot(TM) Client VM 1.6.0_03) [i386-java]
-
Number of attachments :
Description
IO.sysopen('/tmp') -->
Errno::ENOENT: No such file or directory - /tmp
While it works just fine on MRI.
This also fails one rubyspec:
jruby -S mspec core/io/sysopen_spec.rb jruby 1.5.0dev (ruby 1.8.7 patchlevel 174) (2009-10-02 853e083) (Java HotSpot(TM) Client VM 1.6.0_03) [i386-java] .E.. 1) IO.sysopen works on directories ERROR Errno::ENOENT: No such file or directory - /tmp/ /opt/work/rubyspec.git/core/io/sysopen_spec.rb:21:in `sysopen' /opt/work/rubyspec.git/core/io/sysopen_spec.rb:21 /opt/work/rubyspec.git/core/io/sysopen_spec.rb:3 /opt/work/rubyspec.git/core/io/sysopen_spec.rb:55:in `load' /opt/work/mspec.git/bin/mspec-run:8
Limitation of Java's file APIs...we can't open a directory. We'd have to emulate libc's treatment of opening directories as files or else wrap a native call. Ugly, either way.