diff options
author | Mikhail Naganov <mnaganov@google.com> | 2021-03-30 19:08:35 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-03-30 19:08:35 +0000 |
commit | a88897bc202df76edb242f68e9f15c26ea8e476f (patch) | |
tree | a27f06c5fbccff46f8f9ade37cbeac226f6c23e5 | |
parent | 987b215d3c433dadef0a782d23f352f4341864c6 (diff) | |
parent | 4ccb4f964228cefba19ffd3d8e8e40aae981c38f (diff) |
Merge "audio: Fix flakiness of HalAudioStreamWorkerTest" am: f6a701efeb am: 4ccb4f9642
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1656759
Change-Id: I37d2281ac85b1fd9e024d427751c57cf89923b37
-rw-r--r-- | audio/core/all-versions/vts/functional/tests/streamworker_tests.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/audio/core/all-versions/vts/functional/tests/streamworker_tests.cpp b/audio/core/all-versions/vts/functional/tests/streamworker_tests.cpp index 75116affc2..925fd33b4e 100644 --- a/audio/core/all-versions/vts/functional/tests/streamworker_tests.cpp +++ b/audio/core/all-versions/vts/functional/tests/streamworker_tests.cpp @@ -33,12 +33,6 @@ class TestWorker : public StreamWorker<TestWorker> { // Use nullptr to test error reporting from the worker thread. explicit TestWorker(TestStream* stream) : mStream(stream) {} - void ensureWorkerCycled() { - const size_t cyclesBefore = mWorkerCycles; - while (mWorkerCycles == cyclesBefore && !hasError()) { - sched_yield(); - } - } size_t getWorkerCycles() const { return mWorkerCycles; } bool hasWorkerCycleCalled() const { return mWorkerCycles != 0; } bool hasNoWorkerCycleCalled(useconds_t usec) { @@ -131,21 +125,21 @@ TEST_P(StreamWorkerTest, Uninitialized) { TEST_P(StreamWorkerTest, Start) { ASSERT_TRUE(worker.start()); - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_FALSE(worker.hasError()); } TEST_P(StreamWorkerTest, WorkerError) { ASSERT_TRUE(worker.start()); stream.error = true; - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_TRUE(worker.hasError()); EXPECT_TRUE(worker.hasNoWorkerCycleCalled(kWorkerIdleCheckTime)); } TEST_P(StreamWorkerTest, PauseResume) { ASSERT_TRUE(worker.start()); - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_FALSE(worker.hasError()); worker.pause(); EXPECT_TRUE(worker.hasNoWorkerCycleCalled(kWorkerIdleCheckTime)); @@ -159,7 +153,7 @@ TEST_P(StreamWorkerTest, PauseResume) { TEST_P(StreamWorkerTest, StopPaused) { ASSERT_TRUE(worker.start()); - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_FALSE(worker.hasError()); worker.pause(); worker.stop(); @@ -169,7 +163,7 @@ TEST_P(StreamWorkerTest, StopPaused) { TEST_P(StreamWorkerTest, PauseAfterErrorIgnored) { ASSERT_TRUE(worker.start()); stream.error = true; - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_TRUE(worker.hasError()); worker.pause(); EXPECT_TRUE(worker.hasNoWorkerCycleCalled(kWorkerIdleCheckTime)); @@ -179,7 +173,7 @@ TEST_P(StreamWorkerTest, PauseAfterErrorIgnored) { TEST_P(StreamWorkerTest, ResumeAfterErrorIgnored) { ASSERT_TRUE(worker.start()); stream.error = true; - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_TRUE(worker.hasError()); worker.resume(); EXPECT_TRUE(worker.hasNoWorkerCycleCalled(kWorkerIdleCheckTime)); @@ -188,14 +182,14 @@ TEST_P(StreamWorkerTest, ResumeAfterErrorIgnored) { TEST_P(StreamWorkerTest, WorkerErrorOnResume) { ASSERT_TRUE(worker.start()); - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_FALSE(worker.hasError()); worker.pause(); EXPECT_FALSE(worker.hasError()); stream.error = true; EXPECT_FALSE(worker.hasError()); worker.resume(); - worker.ensureWorkerCycled(); + worker.waitForAtLeastOneCycle(); EXPECT_TRUE(worker.hasError()); EXPECT_TRUE(worker.hasNoWorkerCycleCalled(kWorkerIdleCheckTime)); } |