summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2023-07-21 02:16:51 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-07-21 02:16:51 +0000
commit22d86f519c414278dac1cdd918d76ddf98562ac1 (patch)
treee2b5b8b88721018d6c389dc48d482552020a80b9
parent4cf9726a7e595ed441954503400b5ef5d859f9ac (diff)
parent5468a014a89f62a19111e5cf322594574499aa71 (diff)
Merge "Make PointerEventDispatcherTest faster" into main
-rw-r--r--tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt6
-rw-r--r--tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt6
-rw-r--r--tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt12
3 files changed, 16 insertions, 8 deletions
diff --git a/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt b/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt
index 37b67f4c183c..075cf0cc5a45 100644
--- a/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt
+++ b/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt
@@ -113,13 +113,11 @@ class InputEventSenderAndReceiverTest {
val sent = SpyInputEventSender.Timeline(
inputEventId = 1, gpuCompletedTime = 3, presentTime = 2)
mReceiver.reportTimeline(sent.inputEventId, sent.gpuCompletedTime, sent.presentTime)
- val received = mSender.getTimeline()
- assertEquals(null, received)
+ mSender.assertNoEvents()
// Sender will no longer receive callbacks for this fd, even if receiver sends a valid
// timeline later
mReceiver.reportTimeline(2 /*inputEventId*/, 3 /*gpuCompletedTime*/, 4 /*presentTime*/)
- val receivedSecondTimeline = mSender.getTimeline()
- assertEquals(null, receivedSecondTimeline)
+ mSender.assertNoEvents()
}
/**
diff --git a/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt b/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt
index 1099878a1954..f311bc222d22 100644
--- a/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt
+++ b/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt
@@ -25,7 +25,6 @@ import android.view.WindowManagerPolicyConstants.PointerEventListener
import com.android.server.UiThread
import com.android.server.wm.PointerEventDispatcher
import org.junit.Assert.assertEquals
-import org.junit.Assert.assertNull
import org.junit.After
import org.junit.Before
import org.junit.Test
@@ -86,8 +85,7 @@ class PointerEventDispatcherTest {
// Since the listener raises an exception during the event handling, the event should be
// marked as 'not handled'.
assertEquals(SpyInputEventSender.FinishedSignal(seq, handled = false), finishedSignal)
- // Ensure that there aren't double finish calls. This would crash if there's a call
- // to finish twice.
- assertNull(mSender.getFinishedSignal())
+ // Ensure that there aren't double finish calls.
+ mSender.assertNoEvents()
}
}
diff --git a/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt b/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt
index 2d9af9a65d33..5cbfce534b15 100644
--- a/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt
+++ b/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt
@@ -27,10 +27,17 @@ import android.view.MotionEvent
import java.util.concurrent.LinkedBlockingQueue
import java.util.concurrent.TimeUnit
+import org.junit.Assert.assertNull
+
private fun <T> getEvent(queue: LinkedBlockingQueue<T>): T? {
return queue.poll(DEFAULT_DISPATCHING_TIMEOUT_MILLIS.toLong(), TimeUnit.MILLISECONDS)
}
+private fun <T> assertNoEvents(queue: LinkedBlockingQueue<T>) {
+ // Poll the queue with a shorter timeout, to make the check faster.
+ assertNull(queue.poll(100L, TimeUnit.MILLISECONDS))
+}
+
class SpyInputEventReceiver(channel: InputChannel, looper: Looper) :
InputEventReceiver(channel, looper) {
private val mInputEvents = LinkedBlockingQueue<InputEvent>()
@@ -72,4 +79,9 @@ class SpyInputEventSender(channel: InputChannel, looper: Looper) :
fun getTimeline(): Timeline? {
return getEvent(mTimelines)
}
+
+ fun assertNoEvents() {
+ assertNoEvents(mFinishedSignals)
+ assertNoEvents(mTimelines)
+ }
}