Repository navigation
Apply Cuprite process_timeout and timeout to the registered driver - #4222
Conversation
|
There was a problem hiding this comment.
🟢 Approval recommended
The timeout settings now reach Ferrum through Cuprite’s supported driver configuration path.
0 open findings
What changed in this PR
Moves Cuprite timeout configuration to the custom driver registration so Ferrum receives it correctly.
Changes:
- Applies 240-second process and command timeouts to
:primer_cuprite. - Removes ineffective timeout options from
driven_by.
| File | Description |
|---|---|
test/test_helpers/cuprite_setup.rb |
Configures Cuprite timeouts during driver registration. |
test/system/test_case.rb |
Removes ignored driver options. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
#1465 moved
process_timeout: 240, timeout: 240into thedriven_byoptions so they would apply to system tests, but Rails only appliesdriven_byoptions to drivers it registers itself (:selenium,:cuprite,:rack_test,:playwright), so they are ignored for the custom-registered:primer_cupritedriver. As a result, Ferrum falls back to its 10-second default, and CI intermittently fails withFerrum::ProcessTimeoutError: Browser did not produce websocket url within 10 seconds. This moves the options into the:primer_cupritedriver registration so they take effect.@joelhawksley fyi, ViewComponent’s CI runs Primer’s test suite against every ViewComponent change, so this 10-second browser-startup timeout intermittently fails the “Test compatibility with Primer ViewComponents” check on unrelated ViewComponent PRs.