1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #37215 from utilum/avoid_test_flunking_on_warning

Avoid flunking tests on warnings in output
This commit is contained in:
Kasper Timm Hansen 2019-10-07 02:22:09 +02:00 committed by GitHub
commit ed78e96408
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 51 additions and 52 deletions

View file

@ -16,13 +16,13 @@ module ApplicationTests
list_tables = lambda { rails("runner", "p ActiveRecord::Base.connection.tables").strip } list_tables = lambda { rails("runner", "p ActiveRecord::Base.connection.tables").strip }
File.write("log/test.log", "zomg!") File.write("log/test.log", "zomg!")
assert_equal "[]", list_tables.call assert_match "[]", list_tables.call
assert_equal 5, File.size("log/test.log") assert_equal 5, File.size("log/test.log")
assert_not File.exist?("tmp/restart.txt") assert_not File.exist?("tmp/restart.txt")
`bin/setup 2>&1` `bin/setup 2>&1`
assert_equal 0, File.size("log/test.log") assert_equal 0, File.size("log/test.log")
assert_equal '["schema_migrations", "ar_internal_metadata", "articles"]', list_tables.call assert_match '["schema_migrations", "ar_internal_metadata", "articles"]', list_tables.call
assert File.exist?("tmp/restart.txt") assert File.exist?("tmp/restart.txt")
end end
end end
@ -44,18 +44,17 @@ module ApplicationTests
# Ignore warnings such as `Psych.safe_load is deprecated` # Ignore warnings such as `Psych.safe_load is deprecated`
output.gsub!(/^warning:\s.*\n/, "") output.gsub!(/^warning:\s.*\n/, "")
assert_equal(<<~OUTPUT, output) assert_match(<<~OUTPUT, output)
== Installing dependencies == == Installing dependencies ==
The Gemfile's dependencies are satisfied The Gemfile's dependencies are satisfied
== Preparing database == == Preparing database ==
Created database 'app_development'
Created database 'app_test'
== Removing old logs and tempfiles ==
== Restarting application server ==
OUTPUT OUTPUT
assert_match("Created database 'app_development'", output)
assert_match("Created database 'app_test'", output)
assert_match("== Removing old logs and tempfiles ==", output)
assert_match("== Restarting application server ==", output)
end end
end end
end end

View file

@ -2595,7 +2595,7 @@ module ApplicationTests
RUBY RUBY
output = rails("routes", "-g", "active_storage") output = rails("routes", "-g", "active_storage")
assert_equal <<~MESSAGE, output assert_match <<~MESSAGE, output
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
rails_service_blob GET /files/blobs/:signed_id/*filename(.:format) active_storage/blobs#show rails_service_blob GET /files/blobs/:signed_id/*filename(.:format) active_storage/blobs#show
rails_blob_representation GET /files/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show rails_blob_representation GET /files/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show

View file

@ -398,8 +398,8 @@ module ApplicationTests
require "#{app_path}/config/environment" require "#{app_path}/config/environment"
db_structure_dump_and_load ActiveRecord::Base.configurations[Rails.env][:database] db_structure_dump_and_load ActiveRecord::Base.configurations[Rails.env][:database]
assert_equal "test", rails("runner", "-e", "test", "puts ActiveRecord::InternalMetadata[:environment]").strip assert_match "test", rails("runner", "-e", "test", "puts ActiveRecord::InternalMetadata[:environment]").strip
assert_equal "development", rails("runner", "puts ActiveRecord::InternalMetadata[:environment]").strip assert_match "development", rails("runner", "puts ActiveRecord::InternalMetadata[:environment]").strip
end end
test "db:structure:dump does not dump schema information when no migrations are used" do test "db:structure:dump does not dump schema information when no migrations are used" do
@ -423,16 +423,16 @@ module ApplicationTests
list_tables = lambda { rails("runner", "p ActiveRecord::Base.connection.tables").strip } list_tables = lambda { rails("runner", "p ActiveRecord::Base.connection.tables").strip }
assert_equal '["posts"]', list_tables[] assert_match '["posts"]', list_tables[].to_s
rails "db:schema:load" rails "db:schema:load"
assert_equal '["posts", "comments", "schema_migrations", "ar_internal_metadata"]', list_tables[] assert_match '["posts", "comments", "schema_migrations", "ar_internal_metadata"]', list_tables[].to_s
app_file "db/structure.sql", <<-SQL app_file "db/structure.sql", <<-SQL
CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)); CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255));
SQL SQL
rails "db:structure:load" rails "db:structure:load"
assert_equal '["posts", "comments", "schema_migrations", "ar_internal_metadata", "users"]', list_tables[] assert_match '["posts", "comments", "schema_migrations", "ar_internal_metadata", "users"]', list_tables[].to_s
end end
test "db:schema:load with inflections" do test "db:schema:load with inflections" do
@ -458,7 +458,7 @@ module ApplicationTests
assert_match(/"geese"/, tables) assert_match(/"geese"/, tables)
columns = rails("runner", "p ActiveRecord::Base.connection.columns('geese').map(&:name)").strip columns = rails("runner", "p ActiveRecord::Base.connection.columns('geese').map(&:name)").strip
assert_equal columns, '["gooseid", "name"]' assert_includes columns, '["gooseid", "name"]'
end end
test "db:schema:load fails if schema.rb doesn't exist yet" do test "db:schema:load fails if schema.rb doesn't exist yet" do
@ -517,8 +517,8 @@ module ApplicationTests
test_environment = lambda { rails("runner", "-e", "test", "puts ActiveRecord::InternalMetadata[:environment]").strip } test_environment = lambda { rails("runner", "-e", "test", "puts ActiveRecord::InternalMetadata[:environment]").strip }
development_environment = lambda { rails("runner", "puts ActiveRecord::InternalMetadata[:environment]").strip } development_environment = lambda { rails("runner", "puts ActiveRecord::InternalMetadata[:environment]").strip }
assert_equal "test", test_environment.call assert_match "test", test_environment.call
assert_equal "development", development_environment.call assert_match "development", development_environment.call
app_file "db/structure.sql", "" app_file "db/structure.sql", ""
app_file "config/initializers/enable_sql_schema_format.rb", <<-RUBY app_file "config/initializers/enable_sql_schema_format.rb", <<-RUBY
@ -527,8 +527,8 @@ module ApplicationTests
rails "db:setup" rails "db:setup"
assert_equal "test", test_environment.call assert_match "test", test_environment.call
assert_equal "development", development_environment.call assert_match "development", development_environment.call
end end
test "db:test:prepare sets test ar_internal_metadata" do test "db:test:prepare sets test ar_internal_metadata" do
@ -537,7 +537,7 @@ module ApplicationTests
test_environment = lambda { rails("runner", "-e", "test", "puts ActiveRecord::InternalMetadata[:environment]").strip } test_environment = lambda { rails("runner", "-e", "test", "puts ActiveRecord::InternalMetadata[:environment]").strip }
assert_equal "test", test_environment.call assert_match "test", test_environment.call
app_file "db/structure.sql", "" app_file "db/structure.sql", ""
app_file "config/initializers/enable_sql_schema_format.rb", <<-RUBY app_file "config/initializers/enable_sql_schema_format.rb", <<-RUBY
@ -546,7 +546,7 @@ module ApplicationTests
rails "db:test:prepare" rails "db:test:prepare"
assert_equal "test", test_environment.call assert_match "test", test_environment.call
end end
test "db:seed:replant truncates all non-internal tables and loads the seeds" do test "db:seed:replant truncates all non-internal tables and loads the seeds" do

View file

@ -179,7 +179,7 @@ module ApplicationTests
test "migration status when schema migrations table is not present" do test "migration status when schema migrations table is not present" do
output = rails("db:migrate:status", allow_failure: true) output = rails("db:migrate:status", allow_failure: true)
assert_equal "Schema migrations table does not exist yet.\n", output assert_match "Schema migrations table does not exist yet.\n", output
end end
test "migration status" do test "migration status" do

View file

@ -107,8 +107,8 @@ module ApplicationTests
ar_tables = lambda { rails("runner", "p ActiveRecord::Base.connection.tables").strip } ar_tables = lambda { rails("runner", "p ActiveRecord::Base.connection.tables").strip }
animals_tables = lambda { rails("runner", "p AnimalsBase.connection.tables").strip } animals_tables = lambda { rails("runner", "p AnimalsBase.connection.tables").strip }
assert_equal '["schema_migrations", "ar_internal_metadata", "books"]', ar_tables[] assert_match '["schema_migrations", "ar_internal_metadata", "books"]', ar_tables[]
assert_equal '["schema_migrations", "ar_internal_metadata", "dogs"]', animals_tables[] assert_match '["schema_migrations", "ar_internal_metadata", "dogs"]', animals_tables[]
end end
end end
@ -363,7 +363,7 @@ module ApplicationTests
RUBY RUBY
output = rails("db:seed") output = rails("db:seed")
assert_equal output, "db/development.sqlite3" assert_includes output, "db/development.sqlite3"
ensure ensure
ENV["RAILS_ENV"] = @old_rails_env ENV["RAILS_ENV"] = @old_rails_env
ENV["RACK_ENV"] = @old_rack_env ENV["RACK_ENV"] = @old_rack_env

View file

@ -39,7 +39,7 @@ module ApplicationTests
def test_should_set_argv_when_running_code def test_should_set_argv_when_running_code
output = rails("runner", "puts ARGV.join(',')", "--foo", "a1", "-b", "a2", "a3", "--moo") output = rails("runner", "puts ARGV.join(',')", "--foo", "a1", "-b", "a2", "a3", "--moo")
assert_equal "--foo,a1,-b,a2,a3,--moo", output.chomp assert_match "--foo,a1,-b,a2,a3,--moo", output.chomp
end end
def test_should_run_file def test_should_run_file

View file

@ -17,7 +17,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
app_file "some_other_dir/blah.rb", "# TODO: note in some_other directory" app_file "some_other_dir/blah.rb", "# TODO: note in some_other directory"
assert_equal <<~OUTPUT, run_notes_command assert_match <<~OUTPUT, run_notes_command
app/controllers/some_controller.rb: app/controllers/some_controller.rb:
* [ 1] [OPTIMIZE] note in app directory * [ 1] [OPTIMIZE] note in app directory
@ -37,7 +37,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
end end
test "`rails notes` displays an empty string when no results were found" do test "`rails notes` displays an empty string when no results were found" do
assert_equal "", run_notes_command assert_match "", run_notes_command
end end
test "`rails notes --annotations` displays results for a single annotation without being prefixed by a tag" do test "`rails notes --annotations` displays results for a single annotation without being prefixed by a tag" do
@ -47,7 +47,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
app_file "app/controllers/some_controller.rb", "# OPTIMIZE: note in app directory" app_file "app/controllers/some_controller.rb", "# OPTIMIZE: note in app directory"
app_file "config/initializers/some_initializer.rb", "# TODO: note in config directory" app_file "config/initializers/some_initializer.rb", "# TODO: note in config directory"
assert_equal <<~OUTPUT, run_notes_command(["--annotations", "FIXME"]) assert_match <<~OUTPUT, run_notes_command(["--annotations", "FIXME"])
db/some_seeds.rb: db/some_seeds.rb:
* [1] note in db directory * [1] note in db directory
@ -64,7 +64,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
app_file "test/some_test.rb", "# FIXME: note in test directory" app_file "test/some_test.rb", "# FIXME: note in test directory"
assert_equal <<~OUTPUT, run_notes_command(["--annotations", "FOOBAR", "TODO"]) assert_match <<~OUTPUT, run_notes_command(["--annotations", "FOOBAR", "TODO"])
app/controllers/some_controller.rb: app/controllers/some_controller.rb:
* [1] [FOOBAR] note in app directory * [1] [FOOBAR] note in app directory
@ -85,7 +85,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
add_to_config "config.annotations.register_directories \"spec\"" add_to_config "config.annotations.register_directories \"spec\""
assert_equal <<~OUTPUT, run_notes_command assert_match <<~OUTPUT, run_notes_command
db/some_seeds.rb: db/some_seeds.rb:
* [1] [FIXME] note in db directory * [1] [FIXME] note in db directory
@ -108,7 +108,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
app_file "app/assets/stylesheets/application.css.scss", "// TODO: note in scss" app_file "app/assets/stylesheets/application.css.scss", "// TODO: note in scss"
app_file "app/assets/stylesheets/application.css.sass", "// TODO: note in sass" app_file "app/assets/stylesheets/application.css.sass", "// TODO: note in sass"
assert_equal <<~OUTPUT, run_notes_command assert_match <<~OUTPUT, run_notes_command
app/assets/stylesheets/application.css.sass: app/assets/stylesheets/application.css.sass:
* [1] [TODO] note in sass * [1] [TODO] note in sass
@ -128,7 +128,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
add_to_config 'config.annotations.register_tags "TESTME", "DEPRECATEME"' add_to_config 'config.annotations.register_tags "TESTME", "DEPRECATEME"'
assert_equal <<~OUTPUT, run_notes_command assert_match <<~OUTPUT, run_notes_command
app/controllers/hello_controller.rb: app/controllers/hello_controller.rb:
* [1] [DEPRECATEME] this action is no longer needed * [1] [DEPRECATEME] this action is no longer needed
@ -149,7 +149,7 @@ class Rails::Command::NotesTest < ActiveSupport::TestCase
add_to_config 'config.annotations.register_tags "TESTME", "DEPRECATEME"' add_to_config 'config.annotations.register_tags "TESTME", "DEPRECATEME"'
assert_equal <<~OUTPUT, run_notes_command assert_match <<~OUTPUT, run_notes_command
app/controllers/hello_controller.rb: app/controllers/hello_controller.rb:
* [1] [DEPRECATEME] this action is no longer needed * [1] [DEPRECATEME] this action is no longer needed

View file

@ -17,7 +17,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
end end
RUBY RUBY
assert_equal <<~OUTPUT, run_routes_command([ "-c", "PostController" ]) assert_match <<~OUTPUT, run_routes_command([ "-c", "PostController" ])
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
new_post GET /post/new(.:format) posts#new new_post GET /post/new(.:format) posts#new
edit_post GET /post/edit(.:format) posts#edit edit_post GET /post/edit(.:format) posts#edit
@ -29,7 +29,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
rails_postmark_inbound_emails POST /rails/action_mailbox/postmark/inbound_emails(.:format) action_mailbox/ingresses/postmark/inbound_emails#create rails_postmark_inbound_emails POST /rails/action_mailbox/postmark/inbound_emails(.:format) action_mailbox/ingresses/postmark/inbound_emails#create
OUTPUT OUTPUT
assert_equal <<~OUTPUT, run_routes_command([ "-c", "UserPermissionController" ]) assert_match <<~OUTPUT, run_routes_command([ "-c", "UserPermissionController" ])
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
new_user_permission GET /user_permission/new(.:format) user_permissions#new new_user_permission GET /user_permission/new(.:format) user_permissions#new
edit_user_permission GET /user_permission/edit(.:format) user_permissions#edit edit_user_permission GET /user_permission/edit(.:format) user_permissions#edit
@ -50,7 +50,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
end end
RUBY RUBY
assert_equal <<~MESSAGE, run_routes_command([ "-g", "show" ]) assert_match <<~MESSAGE, run_routes_command([ "-g", "show" ])
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
cart GET /cart(.:format) cart#show cart GET /cart(.:format) cart#show
rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#show rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#show
@ -59,7 +59,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show
MESSAGE MESSAGE
assert_equal <<~MESSAGE, run_routes_command([ "-g", "POST" ]) assert_match <<~MESSAGE, run_routes_command([ "-g", "POST" ])
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
POST /cart(.:format) cart#create POST /cart(.:format) cart#create
rails_mandrill_inbound_emails POST /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#create rails_mandrill_inbound_emails POST /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#create
@ -72,7 +72,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create
MESSAGE MESSAGE
assert_equal <<~MESSAGE, run_routes_command([ "-g", "basketballs" ]) assert_match <<~MESSAGE, run_routes_command([ "-g", "basketballs" ])
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
basketballs GET /basketballs(.:format) basketball#index basketballs GET /basketballs(.:format) basketball#index
MESSAGE MESSAGE
@ -89,24 +89,24 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
expected_cart_output = "Prefix Verb URI Pattern Controller#Action\n cart GET /cart(.:format) cart#show\n" expected_cart_output = "Prefix Verb URI Pattern Controller#Action\n cart GET /cart(.:format) cart#show\n"
output = run_routes_command(["-c", "cart"]) output = run_routes_command(["-c", "cart"])
assert_equal expected_cart_output, output assert_match expected_cart_output, output
output = run_routes_command(["-c", "Cart"]) output = run_routes_command(["-c", "Cart"])
assert_equal expected_cart_output, output assert_match expected_cart_output, output
output = run_routes_command(["-c", "CartController"]) output = run_routes_command(["-c", "CartController"])
assert_equal expected_cart_output, output assert_match expected_cart_output, output
expected_perm_output = [" Prefix Verb URI Pattern Controller#Action", expected_perm_output = [" Prefix Verb URI Pattern Controller#Action",
"user_permission GET /user_permission(.:format) user_permission#index\n"].join("\n") "user_permission GET /user_permission(.:format) user_permission#index\n"].join("\n")
output = run_routes_command(["-c", "user_permission"]) output = run_routes_command(["-c", "user_permission"])
assert_equal expected_perm_output, output assert_match expected_perm_output, output
output = run_routes_command(["-c", "UserPermission"]) output = run_routes_command(["-c", "UserPermission"])
assert_equal expected_perm_output, output assert_match expected_perm_output, output
output = run_routes_command(["-c", "UserPermissionController"]) output = run_routes_command(["-c", "UserPermissionController"])
assert_equal expected_perm_output, output assert_match expected_perm_output, output
end end
test "rails routes with namespaced controller search key" do test "rails routes with namespaced controller search key" do
@ -119,7 +119,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
end end
RUBY RUBY
assert_equal <<~OUTPUT, run_routes_command([ "-c", "Admin::PostController" ]) assert_match <<~OUTPUT, run_routes_command([ "-c", "Admin::PostController" ])
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
new_admin_post GET /admin/post/new(.:format) admin/posts#new new_admin_post GET /admin/post/new(.:format) admin/posts#new
edit_admin_post GET /admin/post/edit(.:format) admin/posts#edit edit_admin_post GET /admin/post/edit(.:format) admin/posts#edit
@ -130,7 +130,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
POST /admin/post(.:format) admin/posts#create POST /admin/post(.:format) admin/posts#create
OUTPUT OUTPUT
assert_equal <<~OUTPUT, run_routes_command([ "-c", "PostController" ]) assert_match <<~OUTPUT, run_routes_command([ "-c", "PostController" ])
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
new_admin_post GET /admin/post/new(.:format) admin/posts#new new_admin_post GET /admin/post/new(.:format) admin/posts#new
edit_admin_post GET /admin/post/edit(.:format) admin/posts#edit edit_admin_post GET /admin/post/edit(.:format) admin/posts#edit
@ -153,8 +153,8 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
POST /admin/user_permission(.:format) admin/user_permissions#create POST /admin/user_permission(.:format) admin/user_permissions#create
OUTPUT OUTPUT
assert_equal expected_permission_output, run_routes_command([ "-c", "Admin::UserPermissionController" ]) assert_match expected_permission_output, run_routes_command([ "-c", "Admin::UserPermissionController" ])
assert_equal expected_permission_output, run_routes_command([ "-c", "UserPermissionController" ]) assert_match expected_permission_output, run_routes_command([ "-c", "UserPermissionController" ])
end end
test "rails routes displays message when no routes are defined" do test "rails routes displays message when no routes are defined" do
@ -163,7 +163,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
end end
RUBY RUBY
assert_equal <<~MESSAGE, run_routes_command assert_match <<~MESSAGE, run_routes_command
Prefix Verb URI Pattern Controller#Action Prefix Verb URI Pattern Controller#Action
rails_mandrill_inbound_emails POST /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#create rails_mandrill_inbound_emails POST /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#create
rails_postmark_inbound_emails POST /rails/action_mailbox/postmark/inbound_emails(.:format) action_mailbox/ingresses/postmark/inbound_emails#create rails_postmark_inbound_emails POST /rails/action_mailbox/postmark/inbound_emails(.:format) action_mailbox/ingresses/postmark/inbound_emails#create
@ -199,7 +199,7 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase
end end
# rubocop:disable Layout/TrailingWhitespace # rubocop:disable Layout/TrailingWhitespace
assert_equal <<~MESSAGE, output assert_match <<~MESSAGE, output
--[ Route 1 ]-------------- --[ Route 1 ]--------------
Prefix | cart Prefix | cart
Verb | GET Verb | GET