From 93899335aece402f21fb4663e86d680a5b8e2fec Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Mon, 30 Sep 2013 09:08:07 +0200 Subject: fix `test_sqlite3_mem` test run. marshalling between processes does not work with an in-memory db. This breaks the `test_sqlite3_mem` run (see stacktrace below). After that failure most tests start to fail randomly. ``` /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:512:in `table_structure': Could not find table 'posts' (ActiveRecord::StatementInvalid) from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:399:in `columns' from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/schema_cache.rb:93:in `block in prepare_default_proc' from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/schema_cache.rb:44:in `yield' from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/schema_cache.rb:44:in `columns' from /Users/senny/Projects/rails/activerecord/lib/active_record/model_schema.rb:208:in `columns' from /Users/senny/Projects/rails/activerecord/lib/active_record/model_schema.rb:249:in `column_defaults' from /Users/senny/Projects/rails/activerecord/lib/active_record/locking/optimistic.rb:171:in `column_defaults' from /Users/senny/Projects/rails/activerecord/lib/active_record/core.rb:167:in `initialize' from /Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:27:in `new' from /Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:27:in `new' from /Users/senny/Projects/rails/activerecord/test/cases/base_test.rb:1368:in `block in test_marshal_between_processes' from /Users/senny/Projects/rails/activerecord/test/cases/base_test.rb:1366:in `fork' from /Users/senny/Projects/rails/activerecord/test/cases/base_test.rb:1366:in `test_marshal_between_processes' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:110:in `block (3 levels) in run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:208:in `capture_exceptions' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:107:in `block (2 levels) in run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:260:in `time_it' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:106:in `block in run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:296:in `on_signal' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:280:in `with_info_handler' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:105:in `run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:268:in `block (2 levels) in run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:267:in `each' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:267:in `block in run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:296:in `on_signal' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:285:in `with_info_handler' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:266:in `run' from /Users/senny/Projects/rails/activesupport/lib/active_support/test_case.rb:31:in `block in __run' from /Users/senny/Projects/rails/activesupport/lib/active_support/test_case.rb:31:in `map' from /Users/senny/Projects/rails/activesupport/lib/active_support/test_case.rb:31:in `__run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:115:in `run' from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:46:in `block in autorun' ``` /cc @tenderlove --- activerecord/test/cases/base_test.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'activerecord/test/cases/base_test.rb') diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index a2f350817c..d4433ef889 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1348,6 +1348,7 @@ class BasicsTest < ActiveRecord::TestCase end def test_marshal_between_processes + skip "can't marshal between processes when using an in-memory db" if in_memory_db? skip "fork isn't supported" unless Process.respond_to?(:fork) # Define a new model to ensure there are no caches -- cgit v1.2.3