Created
March 8, 2016 22:24
-
-
Save maletor/e3b48a8180931b8d9844 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1) Error: | |
BugTest#test_after_save: | |
RuntimeError: self and other are not the same object | |
/Users/maletor/Desktop/test.rb:39:in `block in <class:Comment>' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:396:in `instance_exec' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:396:in `block in make_lambda' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:207:in `block in halting_and_conditional' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:456:in `block in call' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:456:in `each' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:456:in `call' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:101:in `__run_callbacks__' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activesupport/lib/active_support/callbacks.rb:750:in `_run_save_callbacks' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/callbacks.rb:298:in `create_or_update' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/persistence.rb:152:in `save!' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/validations.rb:50:in `save!' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/attribute_methods/dirty.rb:30:in `save!' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/transactions.rb:324:in `block in save!' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/transactions.rb:395:in `block in with_transaction_returning_status' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:231:in `transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/transactions.rb:211:in `transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/transactions.rb:392:in `with_transaction_returning_status' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/transactions.rb:324:in `save!' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/suppressor.rb:45:in `save!' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/has_many_association.rb:46:in `insert_record' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:519:in `block (2 levels) in _create_record' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:430:in `replace_on_target' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:423:in `add_to_target' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:517:in `block in _create_record' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:203:in `block in transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:233:in `block in transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:189:in `within_new_transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:233:in `transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/transactions.rb:211:in `transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:202:in `transaction' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:516:in `_create_record' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/has_many_association.rb:136:in `_create_record' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_association.rb:176:in `create!' | |
/Users/maletor/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bundler/gems/rails-da1fecce32db/activerecord/lib/active_record/associations/collection_proxy.rb:341:in `create!' | |
/Users/maletor/Desktop/test.rb:50:in `test_after_save' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
begin | |
require 'bundler/inline' | |
rescue LoadError => e | |
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler' | |
raise e | |
end | |
gemfile(true) do | |
source 'https://rubygems.org' | |
gem 'rails', github: 'rails/rails' | |
gem 'sqlite3' | |
end | |
require 'active_record' | |
require 'minitest/autorun' | |
require 'logger' | |
# This connection will do for database-independent bug reports. | |
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:') | |
ActiveRecord::Base.logger = Logger.new(STDOUT) | |
ActiveRecord::Schema.define do | |
create_table :posts, force: true do |t| | |
end | |
create_table :comments, force: true do |t| | |
t.integer :post_id | |
end | |
end | |
class Post < ActiveRecord::Base | |
has_many :comments, inverse_of: :post | |
end | |
class Comment < ActiveRecord::Base | |
belongs_to :post, inverse_of: :comments | |
after_save do | |
raise 'self and other are not the same object' unless equal?(post.comments.first) | |
end | |
end | |
class BugTest < Minitest::Test | |
def test_after_save | |
post = Post.create! | |
comment = post.comments.build | |
comment.save! | |
post = Post.create! | |
post.comments.create! | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment