tmm1 / tmm1/test-queue

capybara's finalization process is not working with test-queue

Open
#83 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
628
Forks
68
PR merge metrics
No merged PRs in 30d

Description

test-queue exits worker process by calling Kernel#exit!. Kernel#exit! won't call finalization handler of a process registered by Kernel.at_exit.
On the other hand, capybara's finalization process is registered by Kernel.at_exit, so it won't be called when a worker process ends.

How can I finalize Selenium driver?
Should I override TestQueue::Runnder::spawn_workers and change Kernel#exit! to Kernel#exit ?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading lib/test_queue/runner.rb around line 303, where the worker calls Kernel#exit!, and compare it with Capybara's finalization registration in lib/capybara/selenium/driver.rb around line 40. Trace how worker shutdown is handled and verify that Selenium driver finalization occurs when a worker process exits.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.