Skip to content

ParallelTests hangs with 0.19.0 if custom code includes wait_for_other_processes_to_finish #922

Open
@MichaelHoste

Description

@MichaelHoste

We've been using simplecov with rspec and parallel_tests for years (thanks!) and we had some issues when migrating from version 0.18.5 to 0.19.0.

On 0.19.0, after all the tests were executed, it just hangs/freezes and never finishes the job.

We noticed that 2 processes were still active and certainly waiting for each others. So we found out that the issue was this code in our application:

  config.after(:suite) do
    if ParallelTests.first_process?
      ParallelTests.wait_for_other_processes_to_finish

      # some stuff...
    end
  end

If we remove it, it works again.

We need it to execute some code after all the processes finishes, like it's documented here: https://github.com/grosser/parallel_tests#running-things-once

I guess other people, or gems, are using the same snippet and will have the same issue during migration. Do you know if there is a way to fix it, either on simplecov, parallel_tests or locally?

Our Ruby is ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19] but it also doesn't work on 2.7.1, and we're on rails 6.0.3.2 but that doesn't seem the issue here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions