aboutsummaryrefslogtreecommitdiff
path: root/tests/vehiclehal_test
diff options
context:
space:
mode:
authorSteve Paik <spaik@google.com>2018-04-27 13:28:31 -0700
committerSteve Paik <spaik@google.com>2018-06-02 03:48:39 +0000
commit4d257023389c23b8836f10cda1bfa1ea136f56c9 (patch)
treed9b0d6e859dc1db4b0f7acd01c6fb28d85c42026 /tests/vehiclehal_test
parentd3cb98e76080151bdfb5085b8971b5070f11d28b (diff)
downloadCar-4d257023389c23b8836f10cda1bfa1ea136f56c9.tar.gz
Create CarPropertyService and CarPropertyManager
CarPropertyService replaces Cabin, Hvac, Info, Sensor, and VendorExtension services. Bug: 78782959 Bug: 36649684 Bug: 68056035 Test: runtest -x packages/services/Car/tests/android_car_api_test runtest -x packages/services/Car/tests/carservice_unit_test Change-Id: I69756654473fe66ef95e9e2cd4f3c1045e3ac938 Merged-In: Ic0a94805f83cc0222fb2bcf9674b6031bc050986 (cherry picked from commit fc0257133967edcb217e07e9ab942690eeaae3de) (cherry picked from commit 0265d8348716b2971f76e697f410f4cf7128371c)
Diffstat (limited to 'tests/vehiclehal_test')
-rw-r--r--tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java27
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java
index 3b12d8751c..08544bdb60 100644
--- a/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java
+++ b/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarHvacTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertTrue;
import static java.lang.Integer.toHexString;
import android.car.Car;
+import android.car.hardware.CarPropertyConfig;
import android.car.hardware.CarPropertyValue;
import android.car.hardware.hvac.CarHvacManager;
import android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback;
@@ -58,6 +59,8 @@ public class CarHvacTest extends E2eCarTestBase {
// are in CONTINUOUS mode. They should be omitted when testing ON_CHANGE properties.
private static final Set<Integer> CONTINUOUS_HVAC_PROPS;
+ private Integer mNumPropEventsToSkip;
+
static {
CONTINUOUS_HVAC_PROPS = new ArraySet<>();
CONTINUOUS_HVAC_PROPS.add(VehicleProperty.ENV_OUTSIDE_TEMPERATURE);
@@ -75,7 +78,13 @@ public class CarHvacTest extends E2eCarTestBase {
public void onChangeEvent(CarPropertyValue carPropertyValue) {
VehiclePropValue event = Utils.fromHvacPropertyValue(carPropertyValue);
if (!CONTINUOUS_HVAC_PROPS.contains(event.prop)) {
- mVerifier.verify(Utils.fromHvacPropertyValue(carPropertyValue));
+ synchronized (mNumPropEventsToSkip) {
+ if (mNumPropEventsToSkip == 0) {
+ mVerifier.verify(Utils.fromHvacPropertyValue(carPropertyValue));
+ } else {
+ mNumPropEventsToSkip--;
+ }
+ }
}
}
@@ -85,6 +94,19 @@ public class CarHvacTest extends E2eCarTestBase {
}
}
+ private Integer calculateNumPropEventsToSkip(CarHvacManager hvacMgr) {
+ int numToSkip = 0;
+ try {
+ for (CarPropertyConfig c: hvacMgr.getPropertyList()) {
+ if (!CONTINUOUS_HVAC_PROPS.contains(c.getPropertyId())) {
+ numToSkip += c.getAreaCount();
+ }
+ }
+ } catch (Exception e) {
+ Log.d(TAG, "Unhandled exception thrown: ", e);
+ }
+ return Integer.valueOf(numToSkip);
+ }
@Test
public void testHvacOperations() throws Exception {
Log.d(TAG, "Prepare HVAC test data");
@@ -93,6 +115,8 @@ public class CarHvacTest extends E2eCarTestBase {
Log.d(TAG, "Start listening to the HAL");
CarHvacManager hvacMgr = (CarHvacManager) mCar.getCarManager(Car.HVAC_SERVICE);
+ // Calculate number of properties to skip due to registration event
+ mNumPropEventsToSkip = calculateNumPropEventsToSkip(hvacMgr);
CarHvacEventCallback callback = new CarHvacOnChangeEventListener(verifier);
hvacMgr.registerCallback(callback);
@@ -106,7 +130,6 @@ public class CarHvacTest extends E2eCarTestBase {
Log.d(TAG, "Send command to VHAL to stop generation");
hvacGenerator.stop();
-
hvacMgr.unregisterCallback(callback);
assertTrue("Detected mismatched events: " + verifier.getResultString(),