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

Commit 0b5ecb05 authored by Kyunglyul Hyun's avatar Kyunglyul Hyun
Browse files

Make sure timeout message is handled

This change waits for the looper to finish dispatching
timeout message to fix test flakiness.

Note that mTestLooper.moveTimeForward doesn't work
as ScanManager checks the system clock

Bug: 312001909
Bug: 312468159
Bug: 312418181
Flag: TEST_ONLY
Test: atest ScanManagerTest
Change-Id: I3e10161144ceeaea15b03cad3b4a8c4bb466704b
parent 25552a3e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -572,6 +572,7 @@ public class ScanManagerTest {
            assertThat(client.settings.getScanMode()).isEqualTo(ScanMode);
            // Wait for scan timeout
            testSleep(DELAY_SCAN_TIMEOUT_MS + DELAY_ASYNC_MS);
            TestUtils.waitForLooperToFinishScheduledTask(mHandler.getLooper());
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
            assertThat(client.stats.isScanTimeout(client.scannerId)).isTrue();
            // Turn off screen
@@ -617,6 +618,7 @@ public class ScanManagerTest {
            assertThat(client.settings.getScanMode()).isEqualTo(ScanMode);
            // Wait for scan timeout
            testSleep(DELAY_SCAN_TIMEOUT_MS + DELAY_ASYNC_MS);
            TestUtils.waitForLooperToFinishScheduledTask(mHandler.getLooper());
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
            assertThat(client.stats.isScanTimeout(client.scannerId)).isTrue();
            // Turn off screen
@@ -745,6 +747,7 @@ public class ScanManagerTest {
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
            // Wait for upgrade duration
            testSleep(DELAY_SCAN_UPGRADE_DURATION_MS + DELAY_ASYNC_MS);
            TestUtils.waitForLooperToFinishScheduledTask(mHandler.getLooper());
            assertThat(client.settings.getScanMode()).isEqualTo(ScanMode);
        }
    }
@@ -789,6 +792,7 @@ public class ScanManagerTest {
            int max_duration = DELAY_SCAN_UPGRADE_DURATION_MS > DELAY_SCAN_DOWNGRADE_DURATION_MS ?
                    DELAY_SCAN_UPGRADE_DURATION_MS : DELAY_SCAN_DOWNGRADE_DURATION_MS;
            testSleep(max_duration + DELAY_ASYNC_MS);
            TestUtils.waitForLooperToFinishScheduledTask(mHandler.getLooper());
            assertThat(client.settings.getScanMode()).isEqualTo(ScanMode);
        }
    }
@@ -829,6 +833,7 @@ public class ScanManagerTest {
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
            // Wait for downgrade duration
            testSleep(DELAY_SCAN_DOWNGRADE_DURATION_MS + DELAY_ASYNC_MS);
            TestUtils.waitForLooperToFinishScheduledTask(mHandler.getLooper());
            assertThat(client.settings.getScanMode()).isEqualTo(ScanMode);
        }
    }
@@ -870,6 +875,7 @@ public class ScanManagerTest {
            sendMessageWaitForProcessed(createScreenOnOffMessage(false));
            // Wait for downgrade duration
            testSleep(DELAY_SCAN_DOWNGRADE_DURATION_MS + DELAY_ASYNC_MS);
            TestUtils.waitForLooperToFinishScheduledTask(mHandler.getLooper());
            assertThat(mScanManager.getRegularScanQueue().contains(client)).isTrue();
            assertThat(mScanManager.getSuspendedScanQueue().contains(client)).isFalse();
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);
@@ -913,6 +919,7 @@ public class ScanManagerTest {
            sendMessageWaitForProcessed(createImportanceMessage(false));
            // Wait for downgrade duration
            testSleep(DELAY_SCAN_DOWNGRADE_DURATION_MS + DELAY_ASYNC_MS);
            TestUtils.waitForLooperToFinishScheduledTask(mHandler.getLooper());
            assertThat(mScanManager.getRegularScanQueue().contains(client)).isTrue();
            assertThat(mScanManager.getSuspendedScanQueue().contains(client)).isFalse();
            assertThat(client.settings.getScanMode()).isEqualTo(expectedScanMode);