Bug #4354: File.realdirpath is expected to test for real file.
http://redmine.ruby-lang.org/issues/show/4354

Author: Luis Lavena
Status: Open, Priority: Normal
Target version: 1.9.x
ruby -v: 1.9.2-p136 and ruby 1.9.3dev (2011-02-02 trunk 30758) [i386-mingw32]

Hello,

Comparing File.realpath behavior with File.realdirpath behavior, they don't match:

<pre>

$ mkdir -p ~/foo/bar
$ cd /home/user/foo/
$ touch a.rb

$ ruby -ve "puts File.realpath('a.rb')"
ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]
/home/user/foo/a.rb

$ ruby -ve "puts File.realpath('b.rb')"
ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]
-e:1:in `realpath': No such file or directory - /home/user/foo/b.rb (Errno::ENOENT)
        from -e:1:in `<main>'

$ ruby -ve "puts File.realdirpath('bar')"
ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]
/home/user/foo/bar

$ ruby -ve "puts File.realdirpath('baz')"
ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]
/home/user/foo/baz

$ ls -l
total 4
-rw-r--r-- 1 user user    0 2011-02-01 23:00 a.rb
drwxr-xr-x 2 user user 4096 2011-02-01 23:00 bar

</pre>

If 'real' is attempting to check for real files, also realdir should be behaving similar, correct?


----------------------------------------
http://redmine.ruby-lang.org