1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activesupport/lib/active_support/testing
Kir Shatrov 4b3cd4b0fe Fix arguments passing in testing isolation
The issue affects MRI 2.2.5, MRI 2.3.3, JRuby 9.1.6.0. It can be reproduced by:

```
$ cd activemodel
$ NO_FORK=1 bundle exec rake test
```

If we wrap original arguments in quotes, it will be considered as a one big single argument.
Later, [`rake/rake_test_loader.rb`](https://github.com/ruby/rake/blob/7863b97/lib/rake/rake_test_loader.rb#L15)
will iterate over ARGS and try to require that huge single "argument" (which is a list of multiple .rb files).
This leads to an exception:

```
/Users/kir/Project
s/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:15:in `require': cannot load such file -- /Users/kir/Projects/opensource/rails/activemodel/test/cases/
attribute_assignment_test.rb [stripped] /Users/kir/Projects/opensource/rails/activemodel/test/cases/validations/with_validation_test.rb /Users/kir/Projects/opensource/rails/activemodel/test/cases/validations_test
.rb (LoadError)

        from /Users/kir/Projects/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:15:in `block in <main>'
        from /Users/kir/Projects/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:4:in `select'
        from /Users/kir/Projects/opensource/rails/vendor/bundle/gems/rake-11.3.0/lib/rake/rake_test_loader.rb:4:in `<main>'
```

Originally quotes were introduced in https://github.com/rails/rails/pull/19819 to fix MRI 2.2.2.

The fix solves issue on all affected platforms: MRI 2.2.5, MRI 2.3.3, JRuby 9.1.6.0.
2016-11-30 14:02:02 -05:00
..
assertions.rb use message that specified in argument to error message 2016-08-31 08:52:23 +09:00
autorun.rb fffffff, Add code missing in 29f0fbd 2016-09-25 20:38:12 +02:00
constant_lookup.rb applies remaining conventions across the project 2016-08-06 20:20:22 +02:00
declarative.rb Add more rubocop rules about whitespaces 2016-10-29 01:17:49 -02:00
deprecation.rb applies new string literal convention in activesupport/lib 2016-08-06 18:10:53 +02:00
file_fixtures.rb Improve readability of docs by using code tag [ci skip] 2015-09-29 14:44:17 +05:30
isolation.rb Fix arguments passing in testing isolation 2016-11-30 14:02:02 -05:00
method_call_assertions.rb applies new string literal convention in activesupport/lib 2016-08-06 18:10:53 +02:00
setup_and_teardown.rb applies new string literal convention in activesupport/lib 2016-08-06 18:10:53 +02:00
stream.rb normalizes indentation and whitespace across the project 2016-08-06 20:16:27 +02:00
tagged_logging.rb applies new string literal convention in activesupport/lib 2016-08-06 18:10:53 +02:00
time_helpers.rb applies new string literal convention in activesupport/lib 2016-08-06 18:10:53 +02:00