+ # create_fixtures() is a no-op for cached fixture sets, so
+ # uncache them all.
+ ActiveRecord::FixtureSet.reset_cache
+ ActiveRecord::FixtureSet.
+ create_fixtures(Rails.root.join('test', 'fixtures'), fixturesets)
+
+ # Dump cache of permissions etc.
+ Rails.cache.clear
+ ActiveRecord::Base.connection.clear_query_cache
+
+ # Reload database seeds
+ DatabaseSeeds.install
+ end
+ rescue ActiveRecord::StatementInvalid => e
+ if "#{e.inspect}" =~ /deadlock detected/i and (attempts_left -= 1) > 0
+ logger.info "Waiting for lock -- #{e.inspect}"
+ sleep 0.5
+ retry
+ end
+ raise