Fix NPE from onDestroy in sensor CtsVerifier tests
b/17834381
Clarify error message on timeout waiting for sensor events
b/17834380
- Update EventGap verification to skip first event
Change-Id: I2bbe210de09a6fab8ce13e5f5804f57765f9d317
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/base/SensorCtsTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/base/SensorCtsTestActivity.java
index 77f3a41..6e98121 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/base/SensorCtsTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/base/SensorCtsTestActivity.java
@@ -94,7 +94,9 @@
@Override
protected void onDestroy() {
super.onDestroy();
- mScreenManipulator.releaseScreenOn();
+ if (mScreenManipulator != null) {
+ mScreenManipulator.releaseScreenOn();
+ }
}
/**
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
index 5197184..4505633 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
@@ -169,8 +169,9 @@
String message = SensorCtsHelper.formatAssertionMessage(
"WaitForEvents",
mEnvironment,
- "count:%d, available:%d",
- eventCount, mEventLatch.getCount());
+ "requested:%d, received:%d",
+ eventCount,
+ eventCount - mEventLatch.getCount());
Assert.assertTrue(message, mEventLatch.await(timeoutUs, TimeUnit.MICROSECONDS));
} catch(InterruptedException e) {
// Ignore
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java
index 962e5ad..156afa8 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java
@@ -25,6 +25,9 @@
// Number of indices to print in assert message before truncating
private static final int TRUNCATE_MESSAGE_LENGTH = 3;
+ // Number of events to truncate (discard) from the initial events received
+ private static final int TRUNCATE_EVENTS_COUNT = 1;
+
private final int mExpectedDelayUs;
private final List<IndexedEventPair> mEventGaps = new LinkedList<IndexedEventPair>();
@@ -105,15 +108,16 @@
*/
@Override
protected void addSensorEventInternal(TestSensorEvent event) {
- if (mPreviousEvent != null) {
- long deltaNs = event.timestamp - mPreviousEvent.timestamp;
- long deltaUs = TimeUnit.MICROSECONDS.convert(deltaNs, TimeUnit.NANOSECONDS);
- if (deltaUs > mExpectedDelayUs * THRESHOLD) {
- mEventGaps.add(new IndexedEventPair(mIndex, event, mPreviousEvent));
+ if (mIndex >= TRUNCATE_EVENTS_COUNT) {
+ if (mPreviousEvent != null) {
+ long deltaNs = event.timestamp - mPreviousEvent.timestamp;
+ long deltaUs = TimeUnit.MICROSECONDS.convert(deltaNs, TimeUnit.NANOSECONDS);
+ if (deltaUs > mExpectedDelayUs * THRESHOLD) {
+ mEventGaps.add(new IndexedEventPair(mIndex, event, mPreviousEvent));
+ }
}
+ mPreviousEvent = event;
}
-
- mPreviousEvent = event;
mIndex++;
}
}