# FileTest.identical? is wrong

## Details

• Type: Bug
• Status: Closed
• Priority: Major
• Resolution: Fixed
• Affects Version/s: JRuby 1.4, JRuby 1.6.3
• Fix Version/s:
• Component/s:
• Labels:
None
• 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/mspec.git/bin/mspec-run:8
```

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

## Attachments

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: