Skip to content
  • zzak's avatar
    71223ba6
    Fix "Test is missing assertions" is caught by Strict Warnings · 71223ba6
    zzak authored
    ```
    $ RAILS_STRICT_WARNINGS=1 bin/test \
      test/application/generators_test.rb \
      test/application/initializers/frameworks_test.rb \
      test/application/loading_test.rb \
      test/application/rake/tmp_test.rb \
      test/application/rake_test.rb
    
    Run options: --seed 7309
    
    .............................Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    E
    
    Error:
    ApplicationTests::RakeTests::TmpTest#test_tmp:clear_should_work_if_folder_missing:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/rake/tmp_test.rb:41
    
    Test is missing assertions: `test_ARGV_is_populated` /home/zzak/code/rails/railties/test/application/generators_test.rb:180
    E
    
    Error:
    ApplicationTests::GeneratorsTest#test_ARGV_is_populated:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_ARGV_is_populated` /home/zzak/code/rails/railties/test/application/generators_test.rb:180
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/generators_test.rb:180
    
    ......Test is missing assertions: `test_can_boot_with_an_unhealthy_database` /home/zzak/code/rails/railties/test/application/initializers/frameworks_test.rb:219
    E
    
    Error:
    ApplicationTests::FrameworksTest#test_can_boot_with_an_unhealthy_database:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_can_boot_with_an_unhealthy_database` /home/zzak/code/rails/railties/test/application/initializers/frameworks_test.rb:219
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/initializers/frameworks_test.rb:219
    
    ...............................Test is missing assertions: `test_loading_only_yml_fixtures` /home/zzak/code/rails/railties/test/application/rake_test.rb:202
    E
    
    Error:
    ApplicationTests::RakeTest#test_loading_only_yml_fixtures:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_loading_only_yml_fixtures` /home/zzak/code/rails/railties/test/application/rake_test.rb:202
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/rake_test.rb:202
    
    ...Test is missing assertions: `test_models_without_table_do_not_panic_on_scope_definitions_when_loaded` /home/zzak/code/rails/railties/test/application/loading_test.rb:82
    E
    
    Error:
    LoadingTest#test_models_without_table_do_not_panic_on_scope_definitions_when_loaded:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_models_without_table_do_not_panic_on_scope_definitions_when_loaded` /home/zzak/code/rails/railties/test/application/loading_test.rb:82
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/loading_test.rb:82
    ```
    
    This doesn't fail in CI because the warning is using a relative path:
    
    ```
    Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` test/application/rake/tmp_test.rb:41
    ```
    
    Ref: https://buildkite.com/rails/rails/builds/113871#01933e25-4b3c-47f9-9b74-ea4ac84c6ae2/1292-1298
    
    This can be reproduced locally like so:
    
    ```
    RAILS_STRICT_WARNINGS=true ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/application/rake/tmp_test.rb
    
    /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/bundler-2.5.16/lib/bundler/rubygems_ext.rb:250: warning: method redefined; discarding old encode_with
    /home/zzak/.rbenv/versions/3.3.6/lib/ruby/3.3.0/rubygems/dependency.rb:341: warning: previous definition of encode_with was here
    Run options: --seed 35733
    
    Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    E.
    
    Finished in 0.118110s, 16.9334 runs/s, 33.8668 assertions/s.
    
      1) Error:
    ApplicationTests::RakeTests::TmpTest#test_tmp:clear_should_work_if_folder_missing:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    2 runs, 4 assertions, 0 failures, 1 errors, 0 skips
    ```
    71223ba6
    Fix "Test is missing assertions" is caught by Strict Warnings
    zzak authored
    ```
    $ RAILS_STRICT_WARNINGS=1 bin/test \
      test/application/generators_test.rb \
      test/application/initializers/frameworks_test.rb \
      test/application/loading_test.rb \
      test/application/rake/tmp_test.rb \
      test/application/rake_test.rb
    
    Run options: --seed 7309
    
    .............................Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    E
    
    Error:
    ApplicationTests::RakeTests::TmpTest#test_tmp:clear_should_work_if_folder_missing:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/rake/tmp_test.rb:41
    
    Test is missing assertions: `test_ARGV_is_populated` /home/zzak/code/rails/railties/test/application/generators_test.rb:180
    E
    
    Error:
    ApplicationTests::GeneratorsTest#test_ARGV_is_populated:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_ARGV_is_populated` /home/zzak/code/rails/railties/test/application/generators_test.rb:180
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/generators_test.rb:180
    
    ......Test is missing assertions: `test_can_boot_with_an_unhealthy_database` /home/zzak/code/rails/railties/test/application/initializers/frameworks_test.rb:219
    E
    
    Error:
    ApplicationTests::FrameworksTest#test_can_boot_with_an_unhealthy_database:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_can_boot_with_an_unhealthy_database` /home/zzak/code/rails/railties/test/application/initializers/frameworks_test.rb:219
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/initializers/frameworks_test.rb:219
    
    ...............................Test is missing assertions: `test_loading_only_yml_fixtures` /home/zzak/code/rails/railties/test/application/rake_test.rb:202
    E
    
    Error:
    ApplicationTests::RakeTest#test_loading_only_yml_fixtures:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_loading_only_yml_fixtures` /home/zzak/code/rails/railties/test/application/rake_test.rb:202
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/rake_test.rb:202
    
    ...Test is missing assertions: `test_models_without_table_do_not_panic_on_scope_definitions_when_loaded` /home/zzak/code/rails/railties/test/application/loading_test.rb:82
    E
    
    Error:
    LoadingTest#test_models_without_table_do_not_panic_on_scope_definitions_when_loaded:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_models_without_table_do_not_panic_on_scope_definitions_when_loaded` /home/zzak/code/rails/railties/test/application/loading_test.rb:82
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    bin/test test/application/loading_test.rb:82
    ```
    
    This doesn't fail in CI because the warning is using a relative path:
    
    ```
    Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` test/application/rake/tmp_test.rb:41
    ```
    
    Ref: https://buildkite.com/rails/rails/builds/113871#01933e25-4b3c-47f9-9b74-ea4ac84c6ae2/1292-1298
    
    This can be reproduced locally like so:
    
    ```
    RAILS_STRICT_WARNINGS=true ruby -w -Itest -Ilib -I../activesupport/lib -I../actionpack/lib -I../actionview/lib -I../activemodel/lib test/application/rake/tmp_test.rb
    
    /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/bundler-2.5.16/lib/bundler/rubygems_ext.rb:250: warning: method redefined; discarding old encode_with
    /home/zzak/.rbenv/versions/3.3.6/lib/ruby/3.3.0/rubygems/dependency.rb:341: warning: previous definition of encode_with was here
    Run options: --seed 35733
    
    Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    E.
    
    Finished in 0.118110s, 16.9334 runs/s, 33.8668 assertions/s.
    
      1) Error:
    ApplicationTests::RakeTests::TmpTest#test_tmp:clear_should_work_if_folder_missing:
    ActiveSupport::RaiseWarnings::WarningError: Test is missing assertions: `test_tmp:clear_should_work_if_folder_missing` /home/zzak/code/rails/railties/test/application/rake/tmp_test.rb:41
    
        /home/zzak/code/rails/activesupport/lib/active_support/testing/strict_warnings.rb:38:in `warn'
    
    2 runs, 4 assertions, 0 failures, 1 errors, 0 skips
    ```
Loading