| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/ / /
| | |
| | |
| | |
| | |
| | | |
creating all databases mutates the connection pool. This patch restores
the connection pool to the connection spec established before creating
all databases. Fixes #23279
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We should be able to pass options to minitest via TESTOPTS environment
variable
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Having collection caching that wraps templates and automatically tries
to infer if they are cachable proved to be too much of a hassle.
We'd rather have it be something you explicitly turn on.
This removes much of the code and docs to explain the previous automatic
behavior.
This change also removes scoped cache keys and passing cache_options.
|
|\ \
| | |
| | | |
move digest cache on to the DetailsKey object
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This moves digest calculation cache on to the details key object.
Before, the digest cache was a class level ivar, and one of the keys was
the hash value of the details key object:
https://github.com/rails/rails/blob/13c4cc3b5aea02716b7459c0da641438077f5236/actionview/lib/action_view/digestor.rb#L28
An object's hash value is not unique, so it's possible for this cache
key to produce colliding keys with no resolution. This commit move
cache on to the details key object itself, so we know that the digests
are always unique per details key object.
|
|/ /
| |
| |
| |
| |
| | |
If you want to use `EventedFileUpdateChecker`, need to specify `listen` to plugin's gemspec.
However, the default is not specified `listen` to plugin's gemspec,
`EventedFileUpdateChecker` should be disabled.
|
|\ \
| |/
|/| |
modify to `error` also abort when specify fail fast option
|
| | |
|
|/
|
|
| |
Now that AC::Parameters is no longer a Hash, it shouldn't look like a hash.
|
| |
|
|\
| |
| | |
Correct config option from only_api to api_only in test
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Whenever you are sending emails in integration tests using the `:test`
delivery method you need to make sure that
`ActionMailer::Base.deliveries` is reset after every test. This piece of
boilerplate code is present in all my applications that send
emails. Let's have `ActionDispatch::IntegrationTest` reset the
deliveries automatically.
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
generate mailer views in Rails API
|
| |/
| |
| |
| |
| | |
View files is necessary to send mail, it should be generated even Rails API.
Fixes #23617
|
| |
| |
| |
| |
| | |
This is a follow-up to ea70c29 to bring back the assertion error
location information provided by minitest.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 0db310586ac3e15be95d2ef27ff40cfa24c05c10.
Closes #23686.
Conflicts:
railties/test/application/test_runner_test.rb
It's possible that the `result.location` returned by minitest is outside
the test file itself. For example in the case of mocha. This resulted in
bad rerun snipptets:
```
bin/rails test app/models/deliveries/delivery.rb:103
```
Let's always use the first line of the failed test-case in our rerun
snippet. We can display the line number of the assertion error elsewhere.
|
| |
| |
| |
| |
| |
| | |
3f70e8bd2 set a new bar for tests, but they weren't updated.
Update their expectation.
|
|\ \
| |/
|/| |
Fix routes to match verb and URL path with -g option also.
|
| | |
|
|\ \
| |/
|/| |
set association name to generated fixtures if attribute is reference
|
| |
| |
| |
| |
| |
| |
| | |
It has been changed to require `belongs_to` by default in Rails 5.
Therefore in order to pass the controller test, have association of set to fixtures.
Fixes #23384
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
Previous commit accidentally broke mixing line filters with string -n filter.
Fix by checking if it is a string and returning it.
We also need to ensure the -n filter carry forward into any other composite filters.
Fix by letting the named filter be extractable, so we'll keep this for the next runnable's
run.
|
|
|
|
|
|
|
|
| |
on sprockets environment
- Remove jquery-rails if --skip-sprockets is true
Fixes #23431
|
|
|
|
|
|
|
|
| |
Redis now included in Gemfile but commented out. This change was made in
91864439c7aebb6ca710831aac6781903a433904 and is causing the test
failure.
See https://travis-ci.org/rails/rails/jobs/106994913#L1025
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because of the expanding whitelist for test filters, this test ended up
running the tests on lines 4 and 9 in the post test even though the path
wasn't right.
Happened incidentally because the same line numbers were used in both
account and post test.
Add the .rb line so the file is required correctly and the filters are
applied.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`derive_regexp` was written with the assumption that we were run from a
blank slate — that if the filter didn't match we might as well return it
because it was nil.
This isn't the case because minitest calls `run` on every runnable. Which
is any subclass of Minitest::Runnable, such as ActiveSupport::TestCase,
ActionDispatch::IntegrationTest as well as any inheriting from those.
Thus after the first `run` we'd have put in a composite filter in
`options[:filter]` making the next `run` create a linked list when it
failed to match the regexp and put the composite filter as the head.
Every runnable would accumulate more and more of the same filters,
which effectively acted like an expanding whitelist and we ran tests
from other runnables.
Clog the accumulation by returning nil if there's no filter to derive
a regexp from.
Note: we pass a seed in the tests because Minitest shuffles the runnables
to ensure the whitelist is expanded enough that the failure is triggered.
|
|
|
|
|
| |
For other task has become to use the rails command at doc and test,
I think that routes task also it is better to use the rails command.
|
|\
| |
| | |
move `test_generator_if_skip_action_cable_is_given_for_an_api_app` to the appropriate file
|
| |
| |
| |
| |
| |
| | |
appropriate file
Test of Rails API should be in `api_app_generator_test.rb`.
|
|/
|
|
|
|
| |
Generated engines should call `protect_from_forgery`. If this method
isn't called, then the Engine could be susceptible to XSS attacks.
Thanks @tomekr for reporting this to us!
|
|\
| |
| | |
Add options for rake routes task
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add two options: `-c` and `-g`.
`-g` option returns the urls name, verb and path fields that match the pattern.
`-c` option returns the urls for specific controller.
Fixes #18902, and Fixes #20420
[Anton Davydov & Vipul A M]
|
|\ \
| |/
|/|
| |
| | |
yahonda/shorten_internal_metadata_table_name_less_than_30_byte
Shorten ActiveRecord::InternalMetadata.table_name to ar_internal_metadata
|
| |
| |
| |
| | |
to support Oracle database which only supports 30 byte identifier length
|
|\ \
| | |
| | | |
Add Default Puma Config
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the `puma` command is run without any configuration options it will detect presence of a `config/puma.rb` file and use that. Currently there is discrepancy between `puma` command and `rails server` but Evan said it would be reasonable to add in reading in config from the default location. I am working on that right now as a feature in puma/puma.
Why do we need this? By default Puma uses 16 threads, and by default ActiveRecord only has 5 threads. Due to the architecture of AR it is guaranteed that if you're running with fewer DB connections than your server has threads you will hit `ActiveRecord::ConnectionTimeoutError ` eventually if your app gets modest amounts of traffic. Since we are providing a default webserver, we should provide reasonable configuration for that webserver.
This PR does a few things, first it sets the default Puma thread count to 5 to mach ActiveRecord's default. It sets the default environment to `"development"` and the default port to 300 so that booting the server with `$ puma` will give you the same default port as `rails server`. It is worth mentioning that by reading in from `PORT` environment variable this config can work with containerized deployments, such as on Heroku.
We are not using worker processes by default, that way JRuby and windows devs can use this configuration without modification. I went ahead and included a default `on_worker_boot`. It won't be used unless a worker count is specified, that means this config will not use it. Even though it's not being used now It will make someone who wants to try modifying their config to run extra workers easier.
cc/ @pixeltrix
|
|\ \ \
| |_|/
|/| | |
Redis sans EventMachine
|
| | |
| | |
| | |
| | |
| | |
| | | |
This new adapter does get a little more intimate with the redis-rb gem's
implementation than I would like, but it's the least bad of the
approaches I've come up with.
|
|/ / |
|
| | |
|