1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Do not run app.executor callbacks in integration tests

This reverts changes made to integration tests in PR #23807.
The issue happens when using capybara with a driver that needs to start a
server in a separate thread like (poltergeist, selenium, etc).
Both threads the capybara server one and the test thread end running
syncronize over the interlock.
This commit is contained in:
Jorge Bejar and Santiago Pastorino 2016-03-02 16:30:52 -03:00
parent 4f21ac7e9c
commit cf075d9f55

View file

@ -455,24 +455,17 @@ module ActionDispatch
def before_setup # :nodoc:
@app = nil
@integration_session = nil
@execution_context = nil
super
end
def after_teardown # :nodoc:
remove!
super
end
def integration_session
@integration_session ||= create_session(app).tap { @execution_context = app.respond_to?(:executor) && app.executor.run! }
@integration_session ||= create_session(app)
end
# Reset the current session. This is useful for testing multiple sessions
# in a single test case.
def reset!
remove!
integration_session
@integration_session = create_session(app)
end
def create_session(app)
@ -488,8 +481,6 @@ module ActionDispatch
end
def remove! # :nodoc:
@execution_context.complete! if @execution_context
@execution_context = nil
@integration_session = nil
end