Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b303571 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix QueuedWorkTest#testHasPendingWork flake" into main

parents a556959b 93554484
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -163,18 +163,18 @@ public class QueuedWorkTest {

    @Test
    public void testHasPendingWork() {
        Semaphore releaser = new Semaphore(0);
        mQueuedWork.queue(
                () -> {
                    try {
                        releaser.acquire();
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }, false);
        final Semaphore releaser1 = new Semaphore(0);
        final Semaphore releaser2 = new Semaphore(0);
        mQueuedWork.queue(() -> releaser1.acquireUninterruptibly(), false);
        mQueuedWork.queue(() -> releaser2.release(), false);
        // Worker should be waiting for releaser1,
        // and have pending work to release releaser2
        assertThat(mQueuedWork.hasPendingWork()).isTrue();
        releaser.release();
        mQueuedWork.waitToFinish();

        // Allow worker to get to releasing releaser2
        releaser1.release();
        releaser2.acquireUninterruptibly();
        // If we got here then there is no pending work.
        assertThat(mQueuedWork.hasPendingWork()).isFalse();
    }
}
 No newline at end of file