activerecord-cockroachdb-adapter icon indicating copy to clipboard operation
activerecord-cockroachdb-adapter copied to clipboard

[ActiveRecord 5.2 Test Failure] test/cases/migration/index_test.rb

Open alimi opened this issue 5 years ago • 0 comments

Failure:
ActiveRecord::Migration::IndexTest#test_rename_index_too_long [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:49]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:40

Failure:
ActiveRecord::Migration::IndexTest#test_double_add_index [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:54]:
[ArgumentError] exception expected, not
Class: <ActiveRecord::StatementInvalid>
Message: <"PG::InternalError: ERROR:  duplicate index name: \"some_idx\"\n: CREATE  INDEX  \"some_idx\" ON \"testings\"  (\"foo\")">
---Backtrace---
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `exec'
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `block (2 levels) in execute'
/Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:74:in `block in execute'
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
/Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
/Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:73:in `execute'
/Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb:466:in `add_index'
/Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb/schema_statements.rb:8:in `add_index'
/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:55:in `block in test_double_add_index'
---------------

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:52

Error:
ActiveRecord::Migration::IndexTest#test_add_index:
ArgumentError: No indexes found on testings with the options provided.
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb:1246:in `index_name_for_remove'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb:485:in `remove_index'
    /Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:153:in `test_add_index'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:151

Failure:
ActiveRecord::Migration::IndexTest#test_internal_index_with_name_matching_database_limit [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:86]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:82

Failure:
ActiveRecord::Migration::IndexTest#test_add_partial_index [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:203]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:201

Failure:
ActiveRecord::Migration::IndexTest#test_index_exists_on_multiple_columns [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:108]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:105

Failure:
ActiveRecord::Migration::IndexTest#test_unique_index_exists [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:126]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:123

Failure:
ActiveRecord::Migration::IndexTest#test_add_index_attribute_length_limit [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:148]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:145

Failure:
ActiveRecord::Migration::IndexTest#test_index_symbol_names [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:92]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:90

Failure:
ActiveRecord::Migration::IndexTest#test_remove_named_index [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:140]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:137

Failure:
ActiveRecord::Migration::IndexTest#test_rename_index [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:37]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:31

Failure:
ActiveRecord::Migration::IndexTest#test_named_index_exists [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:132]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:129

Failure:
ActiveRecord::Migration::IndexTest#test_index_exists_with_custom_name_checks_columns [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:113]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:111

Failure:
ActiveRecord::Migration::IndexTest#test_index_exists [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:101]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:98

Failure:
ActiveRecord::Migration::IndexTest#test_add_index_works_with_long_index_names [/Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:66]:
Expected false to be truthy.

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/migration/index_test.rb:63

See the Contributing Guide for instructions on running tests.

If the test isn't valid against CockroachDB

  1. Add a ruby file to test/excludes that matches the name of the test class if one doesn't already exist. For example to exclude a test from ActiveRecord::AdapterTest, create test/excludes/ActiveRecord/AdapterTest.rb.
  2. Add an exclude statement to the file with the name of the test to exclude and a description. For example to exclude test_indexes from ActiveRecord::AdapterTest: https://github.com/cockroachdb/activerecord-cockroachdb-adapter/blob/c3cb637bd855b36bbf9e76b7947162054b95022e/test/excludes/ActiveRecord/AdapterTest.rb#L1
  3. Finally, if the test can run against CockroachDB with a few changes, add it to test/cases. Everything from the ActiveRecord test suite will be available, so a lot of the excluded test can be copied over. Namespace the test under the CockroachDB module to avoid name collisions. See test/cases/adapter_test.rb for an example.

See https://github.com/cockroachdb/activerecord-cockroachdb-adapter/issues/48.

alimi avatar Apr 17 '20 19:04 alimi