Dir.glob behaves inconsistently with MRI in some cases
------------------------------------------------------
Key: JRUBY-2556
URL: http://jira.codehaus.org/browse/JRUBY-2556
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.1.1
Environment: Latest JRuby 1.1.1+
Reporter: Vladimir Sizikov
Assignee: Thomas E Enebo
Newer rubyspecs detected this issue.
Essentially, Dir.glob returns duplicate entries where there shouln't be such
entries.
An attempt to always remove duplicates from the method is not correct, since in
some cases duplicates should
be expected. See this thread for more info:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/16834
{noformat}
mspec ci spec/ruby/1.8/core/dir/glob_spec.rb
spec/ruby/1.8/core/dir/element_reference_spec.rb
...................................F........................................F
1)
Dir.glob matches multiple recursives FAILED
Expected ["a/x/b/y/b/z/c", "a/x/b/y/b/z/c", "a/x/b/y/c"]
to equal ["a/x/b/y/b/z/c", "a/x/b/y/c"]
/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:10:in `fail_with'
/opt/work/mspec.git/lib/mspec/matchers/base.rb:9:in `=='
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb:252:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:60:in `process'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe'
/opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb:224:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb'
/opt/work/mspec.git/lib/mspec/runner/shared.rb:10:in `[]'
/opt/work/mspec.git/lib/mspec/runner/shared.rb:10:in `it_behaves_like'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/glob_spec.rb:6:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/glob_spec.rb'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:50:in `process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe'
/opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/glob_spec.rb:5:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/glob_spec.rb'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/glob_spec.rb:45:in `load'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:34:in `process'
/opt/work/mspec.git/bin/mspec-ci:68:in `run'
/opt/work/mspec.git/lib/mspec/utils/script.rb:75:in `main'
/opt/work/mspec.git/bin/mspec-ci:75
2)
Dir.[] matches multiple recursives FAILED
Expected ["a/x/b/y/b/z/c", "a/x/b/y/b/z/c", "a/x/b/y/c"]
to equal ["a/x/b/y/b/z/c", "a/x/b/y/c"]
/opt/work/mspec.git/lib/mspec/expectations/expectations.rb:10:in `fail_with'
/opt/work/mspec.git/lib/mspec/matchers/base.rb:9:in `=='
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb:252:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:60:in `process'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:56:in `process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe'
/opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb:224:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/shared/glob.rb'
/opt/work/mspec.git/lib/mspec/runner/shared.rb:10:in `[]'
/opt/work/mspec.git/lib/mspec/runner/shared.rb:10:in `it_behaves_like'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/element_reference_spec.rb:6:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/element_reference_spec.rb'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `each'
/opt/work/mspec.git/lib/mspec/runner/state.rb:46:in `protect'
/opt/work/mspec.git/lib/mspec/runner/state.rb:50:in `process'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:27:in `describe'
/opt/work/mspec.git/lib/mspec/runner/object.rb:11:in `describe'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/element_reference_spec.rb:5:in
`/opt/work/jruby.git/./spec/ruby/1.8/core/dir/element_reference_spec.rb'
/opt/work/jruby.git/./spec/ruby/1.8/core/dir/element_reference_spec.rb:45:in
`load'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `instance_eval'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:120:in `protect'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:45:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `each'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:42:in `files'
/opt/work/mspec.git/lib/mspec/runner/mspec.rb:34:in `process'
/opt/work/mspec.git/bin/mspec-ci:68:in `run'
/opt/work/mspec.git/lib/mspec/utils/script.rb:75:in `main'
/opt/work/mspec.git/bin/mspec-ci:75
Finished in 0.709000 seconds
2 files, 77 examples, 83 expectations, 2 failures, 0 errors
{noformat}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email