From a7471fbc1a70508015ae0bd1d3e14e93b22c21a6 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Sun, 13 Jul 2025 22:37:43 +1200 Subject: [PATCH] Fix test failure with fiber profiler. --- test/async/barrier.rb | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/test/async/barrier.rb b/test/async/barrier.rb index 79feda13..533453a6 100644 --- a/test/async/barrier.rb +++ b/test/async/barrier.rb @@ -18,29 +18,22 @@ with "#async" do let(:repeats) {40} - let(:delay) {0.01} it "should wait for all jobs to complete" do finished = 0 repeats.times.map do |i| barrier.async do |task| - sleep(delay) + task.yield finished += 1 - - # This task is a child task but not part of the barrier. - task.async do - sleep(delay*3) - end end end expect(barrier).not.to be(:empty?) - expect(finished).to be < repeats + expect(finished).to be <= repeats - duration = Async::Clock.measure{barrier.wait} + barrier.wait - expect(duration).to be_within(repeats * Sus::Fixtures::Time::QUANTUM).of(delay) expect(finished).to be == repeats expect(barrier).to be(:empty?) end