Details

    • Number of attachments :
      2

      Description

      FileTest.identical? is currently implemented in such a way that it only compares stat info of two files, so different files with same stats would be considered equal, which is obviously wrong. This happens more often on Windows, since stat info (dates) are with granularity 1 sec or so. So the two files created quickly one after another would be considered the same!

      This leads to rubyspec failures:

      D:\work\jruby-dev\rubyspec.git>mspec -t j core\filetest\identical_spec.rb
      jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2010-01-10 c3a86fb) (Java HotSpot(TM) Client VM 1.6.0_17) [x86-java]
      ...F
      
      1)
      FileTest.identical? returns true if both named files are identical FAILED
      Expected true to be false
      D:/work/jruby-dev/rubyspec.git/shared/file/identical.rb:41
      D:/work/jruby-dev/rubyspec.git/core/filetest/identical_spec.rb:4
      D:/work/jruby-dev/rubyspec.git/core/filetest/identical_spec.rb:55:in `load'
      D:/work/jruby-dev/mspec.git/bin/mspec-run:8
      

      MRI compares not only the sizes and stat info, but the file names as well (after proper expanding).

      1. 4445.patch
        1 kB
        Nick Sieger
      2. JIRA-4445.patch
        0.7 kB
        Miquel Oliete

        Activity

        Hide
        Thomas E Enebo added a comment -

        Fixed on master ( d2cad2c, 678368e ) and on 1.6 branch ( 93b3d1f, ea2466e ). Thanks for the fix and sorry it took so long.

        Show
        Thomas E Enebo added a comment - Fixed on master ( d2cad2c, 678368e ) and on 1.6 branch ( 93b3d1f, ea2466e ). Thanks for the fix and sorry it took so long.
        Hide
        Thomas E Enebo added a comment -

        Backing out this fix since it causes a problem with some rubyspecs. I was a little too quick on the draw with this one.

        Show
        Thomas E Enebo added a comment - Backing out this fix since it causes a problem with some rubyspecs. I was a little too quick on the draw with this one.
        Hide
        bob mcwhirter added a comment -

        Relates to JRUBY-5726 I think, also.

        Show
        bob mcwhirter added a comment - Relates to JRUBY-5726 I think, also.
        Hide
        bob mcwhirter added a comment -

        Also, Toby has a pull-request related to JRUBY-5762 here, which might fix JRUBY-4445 (this one).

        https://github.com/jruby/jruby/pull/71

        Show
        bob mcwhirter added a comment - Also, Toby has a pull-request related to JRUBY-5762 here, which might fix JRUBY-4445 (this one). https://github.com/jruby/jruby/pull/71
        Hide
        Thomas E Enebo added a comment -

        This appears to be fixed or at least the tag seems to be gone.

        Show
        Thomas E Enebo added a comment - This appears to be fixed or at least the tag seems to be gone.

          People

          • Assignee:
            Thomas E Enebo
            Reporter:
            Vladimir Sizikov

            Dates

            • Created:
              Updated:
              Resolved: