Source: ruby-activerecord-nulldb-adapter
Version: 0.4.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ruby3.0

Hi,

We are about to enable building against ruby3.0 on unstable. During a test
rebuild, ruby-activerecord-nulldb-adapter was found to fail to build in that 
situation.

To reproduce this locally, you need to install ruby-all-dev from experimental
on an unstable system or build chroot.

Relevant part (hopefully):
>       Failure/Error: Employee.create
> 
>       ActiveModel::MissingAttributeError:
>         can't write unknown attribute `id`
>       # 
> /usr/share/rubygems-integration/all/gems/activemodel-6.0.3.7/lib/active_model/attribute.rb:206:in
>  `with_value_from_database'
>       # 
> /usr/share/rubygems-integration/all/gems/activemodel-6.0.3.7/lib/active_model/attribute_set.rb:49:in
>  `write_from_user'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/attribute_methods/write.rb:43:in
>  `_write_attribute'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/attribute_methods/primary_key.rb:24:in
>  `id='
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:936:in
>  `_create_record'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/counter_cache.rb:166:in
>  `_create_record'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/locking/optimistic.rb:70:in
>  `_create_record'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/attribute_methods/dirty.rb:211:in
>  `_create_record'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:331:in
>  `block in _create_record'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:101:in
>  `run_callbacks'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:825:in
>  `_run_create_callbacks'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:331:in
>  `_create_record'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/timestamp.rb:110:in
>  `_create_record'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:905:in
>  `create_or_update'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:327:in
>  `block in create_or_update'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:135:in
>  `run_callbacks'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:825:in
>  `_run_save_callbacks'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:327:in
>  `create_or_update'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/timestamp.rb:128:in
>  `create_or_update'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:470:in
>  `save'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/validations.rb:47:in
>  `save'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:314:in
>  `block in save'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:375:in
>  `block in with_transaction_returning_status'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in
>  `block in transaction'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/transaction.rb:280:in
>  `block in within_new_transaction'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in
>  `block (2 levels) in synchronize'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in
>  `handle_interrupt'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in
>  `block in synchronize'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in
>  `handle_interrupt'
>       # 
> /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in
>  `synchronize'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/transaction.rb:278:in
>  `within_new_transaction'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in
>  `transaction'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:212:in
>  `transaction'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:366:in
>  `with_transaction_returning_status'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:314:in
>  `save'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/suppressor.rb:44:in
>  `save'
>       # 
> /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:38:in
>  `create'
>       # ./spec/nulldb_spec.rb:314:in `block (3 levels) in <top (required)>'
> 
> Finished in 0.05675 seconds (files took 0.8446 seconds to load)
> 39 examples, 31 failures
> 
> Failed examples:
> 
> rspec ./spec/nulldb_spec.rb:101 # NullDB should set the @config instance 
> variable so plugins that assume its there can use it
> rspec ./spec/nulldb_spec.rb:105 # NullDB should enable instantiation of AR 
> objects without a database
> rspec ./spec/nulldb_spec.rb:109 # NullDB should remember columns defined in 
> migrations
> rspec ./spec/nulldb_spec.rb:116 # NullDB should have limit on name
> rspec ./spec/nulldb_spec.rb:120 # NullDB should return true on nullable field
> rspec ./spec/nulldb_spec.rb:124 # NullDB should return false on non-nullable 
> field
> rspec ./spec/nulldb_spec.rb:128 # NullDB should return the appropriate 
> primary key
> rspec ./spec/nulldb_spec.rb:132 # NullDB should return a nil primary key on 
> habtm
> rspec ./spec/nulldb_spec.rb:136 # NullDB should return an empty array of 
> columns for a table-less model
> rspec ./spec/nulldb_spec.rb:140 # NullDB should enable simulated saving of AR 
> objects
> rspec ./spec/nulldb_spec.rb:144 # NullDB should enable AR callbacks during 
> simulated save
> rspec ./spec/nulldb_spec.rb:149 # NullDB should enable simulated deletes of 
> AR objects
> rspec ./spec/nulldb_spec.rb:153 # NullDB should enable simulated creates of 
> AR objects
> rspec ./spec/nulldb_spec.rb:158 # NullDB should generate new IDs when 
> inserting unsaved objects
> rspec ./spec/nulldb_spec.rb:165 # NullDB should re-use object ID when 
> inserting saved objects
> rspec ./spec/nulldb_spec.rb:171 # NullDB should log executed SQL statements
> rspec ./spec/nulldb_spec.rb:178 # NullDB should have the adapter name 'NullDB'
> rspec ./spec/nulldb_spec.rb:182 # NullDB should support migrations
> rspec ./spec/nulldb_spec.rb:186 # NullDB should always have a schema_info 
> table definition
> rspec ./spec/nulldb_spec.rb:190 # NullDB should return an empty array from 
> #select
> rspec ./spec/nulldb_spec.rb:195 # NullDB should provide a way to set log 
> checkpoints
> rspec ./spec/nulldb_spec.rb:218 # NullDB should tag logged statements with 
> their entry point
> rspec ./spec/nulldb_spec.rb:252 # NullDB should allow #finish to be called on 
> the result of #execute
> rspec ./spec/nulldb_spec.rb:256 # NullDB should #to_a return empty array on 
> the result of #execute
> rspec ./spec/nulldb_spec.rb:268 # NullDB should support adding indexes
> rspec ./spec/nulldb_spec.rb:273 # NullDB should support unique indexes
> rspec ./spec/nulldb_spec.rb:278 # NullDB should support multi-column indexes
> rspec ./spec/nulldb_spec.rb:282 # NullDB should support custom index names
> rspec ./spec/nulldb_spec.rb:286 # NullDB should handle 
> ActiveRecord::ConnectionNotEstablished
> rspec ./spec/nulldb_spec.rb:291 # NullDB should handle count queries
> rspec ./spec/nulldb_spec.rb:311 # NullDB::RSpec::NullifiedDatabase 
> have_executed rspec matcher passes if an execution was made
> 
> /usr/bin/ruby3.0 
> -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib
>  /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec 
> --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
> ERROR: Test "ruby3.0" failed: 


The full build log is available at
https://people.debian.org/~kanashiro/ruby3.0/round2/builds/3/ruby-activerecord-nulldb-adapter/ruby-activerecord-nulldb-adapter_0.4.0-1+rebuild1633375085_amd64.build.txt

Attachment: signature.asc
Description: PGP signature

Reply via email to