diff options
author | Steve Paik <spaik@google.com> | 2018-04-27 13:28:31 -0700 |
---|---|---|
committer | Steve Paik <spaik@google.com> | 2018-06-02 03:48:39 +0000 |
commit | 4d257023389c23b8836f10cda1bfa1ea136f56c9 (patch) | |
tree | d9b0d6e859dc1db4b0f7acd01c6fb28d85c42026 /tests/vehiclehal_test | |
parent | d3cb98e76080151bdfb5085b8971b5070f11d28b (diff) | |
download | Car-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.java | 27 |
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(), |