Merge tag 'android-security-10.0.0_r53' into int/10/fp2
Android security 10.0.0 release 53
* tag 'android-security-10.0.0_r53':
Change-Id: I2a9ee5e1b36a54743d9301e8ff04e2d6db5f85ba
diff --git a/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
index 823bd12..9a294ab 100644
--- a/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
+++ b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
@@ -20,7 +20,6 @@
from vts.runners.host import asserts
from vts.runners.host import const
-from vts.runners.host import keys
from vts.runners.host import test_runner
from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
@@ -33,14 +32,15 @@
Attributes:
_arrived: boolean, the flag of onPropertyEvent received.
onPropertyEventCalled: integer, the number of onPropertyEvent received.
- onPropertySetCalled: integer, the number of onPropertySet received.
onPropertySetErrorCalled: integer, the number of onPropertySetError
received.
+ DEVICE_TMP_DIR: string, target device's tmp directory path.
"""
TEST_HAL_SERVICES = {
VEHICLE_V2_0_HAL,
}
+ DEVICE_TMP_DIR = "/data/local/tmp"
def setUpClass(self):
"""Creates a mirror and init vehicle hal."""
@@ -66,13 +66,19 @@
asserts.assertEqual(0x00ff0000, self.vtypes.VehiclePropertyType.MASK)
asserts.assertEqual(0x0f000000, self.vtypes.VehicleArea.MASK)
- def setUp(self):
- super(VtsHalAutomotiveVehicleV2_0HostTest, self).setUp()
self.propToConfig = {}
for config in self.vehicle.getAllPropConfigs():
self.propToConfig[config['prop']] = config
self.configList = self.propToConfig.values()
+ def tearDownClass(self):
+ """Performs clean-up pushed file"""
+
+ cmd_results = self.shell.Execute("rm -rf %s" % self.DEVICE_TMP_DIR)
+ if not cmd_results or any(cmd_results[const.EXIT_CODE]):
+ logging.info("Failed to remove: %s", cmd_results)
+ super(VtsHalAutomotiveVehicleV2_0HostTest, self).tearDownClass()
+
def testListProperties(self):
"""Checks whether some PropConfigs are returned.
@@ -314,6 +320,12 @@
vehiclePropValues)
self._arrived = True
+ def onPropertySetError(errorCode, propId, areaId):
+ logging.info(
+ "onPropertySetError, error: %d, prop: 0x%x, area: 0x%x",
+ errorCode, propId, areaId)
+ self._arrived = True
+
for c in self.configList:
if (c["access"] != self.vtypes.VehiclePropertyAccess.READ_WRITE or
c["changeMode"] != self.vtypes.VehiclePropertyChangeMode.ON_CHANGE or
@@ -328,6 +340,7 @@
callback = self.vehicle.GetHidlCallbackInterface(
"IVehicleCallback",
onPropertyEvent=onPropertyEvent,
+ onPropertySetError=onPropertySetError
)
subscribeOption = {
"propId": prop,
@@ -336,7 +349,9 @@
}
pbSubscribeOption = self.vtypes.Py2Pb("SubscribeOptions",
subscribeOption)
- self.vehicle.subscribe(callback, [pbSubscribeOption])
+ statusCode = self.vehicle.subscribe(callback, [pbSubscribeOption])
+ asserts.assertEqual(statusCode, 0,
+ "Must successfully subscribe to property 0x%x" % prop)
# Change value of properties
for area in c["areaConfigs"]:
@@ -355,20 +370,20 @@
logging.warning("Set value failed for Property 0x%x" % prop)
continue
- # Check PropertyEvent is received in 250ms
- waitingTime = 0.25
+ # Check callback is received in 5 second
+ waitingTime = 5
checkTimes = 5
for _ in xrange(checkTimes):
if self._arrived:
logging.info(
- "PropertyEvent for Property: 0x%x is received" %
+ "callback for Property: 0x%x is received" %
prop)
break
time.sleep(waitingTime/checkTimes)
if not self._arrived:
asserts.fail(
- "PropertyEvent is not received in 250ms for Property: 0x%x"
+ "callback is not received in 5 seconds for Property: 0x%x"
% prop)
self.vehicle.unsubscribe(callback, prop)
@@ -441,9 +456,9 @@
for c in self.configList:
# Continuous properties need to have a sampling frequency.
if c["changeMode"] == self.vtypes.VehiclePropertyChangeMode.CONTINUOUS:
- asserts.assertLess(
- 0.0, c["minSampleRate"],
- "minSampleRate should be > 0. Config list: %s" % c)
+ asserts.assertTrue(
+ c["minSampleRate"] >= 0.0 ,
+ "minSampleRate should be >= 0. Config list: %s" % c)
asserts.assertLess(
0.0, c["maxSampleRate"],
"maxSampleRate should be > 0. Config list: %s" % c)
@@ -455,6 +470,11 @@
# Boolean types don't have ranges
continue
+ if (c["access"] != self.vtypes.VehiclePropertyAccess.READ_WRITE and
+ c["access"] != self.vtypes.VehiclePropertyAccess.READ):
+ # Skip the test if properties are not readable.
+ continue
+
if c["prop"] in enumProperties:
# This property does not use traditional min/max ranges
continue
@@ -530,7 +550,7 @@
supported, val = self.getValueIfPropSupported(prop)
if supported:
asserts.assertEqual(str, type(val), "prop: 0x%x" % prop)
- asserts.assertLess(0, (len(val)), "prop: 0x%x" % prop)
+ asserts.assertTrue(0 <= (len(val)), "prop: 0x%x" % prop)
def testGlobalFloatProperties(self):
"""Verifies that values of global float properties are in the correct range"""
@@ -544,7 +564,6 @@
self.vtypes.VehicleProperty.PERF_STEERING_ANGLE : (-180, 180), # degrees
self.vtypes.VehicleProperty.PERF_ODOMETER : (0, 1000000), # km
self.vtypes.VehicleProperty.INFO_FUEL_CAPACITY : (0, 1000000), # milliliter
- self.vtypes.VehicleProperty.INFO_MODEL_YEAR : (1901, 2101), # year
}
for prop, validRange in floatProperties.iteritems():
@@ -653,7 +672,8 @@
self.assertLessOrEqual(value, rangeEnd, msg)
def getPropConfig(self, propertyId):
- return self.propToConfig[propertyId]
+ return self.propToConfig.get(propertyId)
+
def isPropSupported(self, propertyId):
return self.getPropConfig(propertyId) is not None
@@ -664,18 +684,12 @@
This also tests an HIDL async callback.
"""
self.onPropertyEventCalled = 0
- self.onPropertySetCalled = 0
self.onPropertySetErrorCalled = 0
def onPropertyEvent(vehiclePropValues):
logging.info("onPropertyEvent received: %s", vehiclePropValues)
self.onPropertyEventCalled += 1
- def onPropertySet(vehiclePropValue):
- logging.info("onPropertySet notification received: %s",
- vehiclePropValue)
- self.onPropertySetCalled += 1
-
def onPropertySetError(erroCode, propId, areaId):
logging.info(
"onPropertySetError, error: %d, prop: 0x%x, area: 0x%x",
@@ -703,28 +717,27 @@
callback = self.vehicle.GetHidlCallbackInterface(
"IVehicleCallback",
onPropertyEvent=onPropertyEvent,
- onPropertySet=onPropertySet,
onPropertySetError=onPropertySetError)
subscribeOptions = {
"propId": self.vtypes.VehicleProperty.ENGINE_OIL_TEMP,
- "sampleRate": 10.0, # Hz
+ "sampleRate": 1.0, # Hz
"flags": self.vtypes.SubscribeFlags.EVENTS_FROM_CAR,
}
pbSubscribeOptions = self.vtypes.Py2Pb("SubscribeOptions",
subscribeOptions)
- self.vehicle.subscribe(callback, [pbSubscribeOptions])
+ statusCode = self.vehicle.subscribe(callback, [pbSubscribeOptions])
+ if statusCode != 0:
+ asserts.fail("Can not register ENGINE_OIL_TEMP")
+
for _ in range(5):
if (self.onPropertyEventCalled > 0
- or self.onPropertySetCalled > 0
or self.onPropertySetErrorCalled > 0):
self.vehicle.unsubscribe(
callback, self.vtypes.VehicleProperty.ENGINE_OIL_TEMP)
return
time.sleep(1)
- self.vehicle.unsubscribe(
- callback, self.vtypes.VehicleProperty.ENGINE_OIL_TEMP)
asserts.fail("Callback not called in 5 seconds.")
def getDiagnosticSupportInfo(self):
diff --git a/biometrics/face/V1_0/target/AndroidTest.xml b/biometrics/face/V1_0/target/AndroidTest.xml
index 3776998..5f6a0cd 100644
--- a/biometrics/face/V1_0/target/AndroidTest.xml
+++ b/biometrics/face/V1_0/target/AndroidTest.xml
@@ -24,7 +24,7 @@
<option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBiometricsFaceV1_0TargetTest/VtsHalBiometricsFaceV1_0TargetTest"/>
<option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBiometricsFaceV1_0TargetTest/VtsHalBiometricsFaceV1_0TargetTest"/>
<option name="binary-test-type" value="hal_hidl_gtest"/>
- <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-disable-framework" value="false"/>
<option name="test-timeout" value="15m"/>
</test>
</configuration>
diff --git a/media/c2/V1_0/host/AndroidTest.xml b/media/c2/V1_0/host/AndroidTest.xml
index d1b75e2..d14f061 100644
--- a/media/c2/V1_0/host/AndroidTest.xml
+++ b/media/c2/V1_0/host/AndroidTest.xml
@@ -71,64 +71,64 @@
<option name="push" value="DATA/lib/android.hardware.media.c2@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.media.c2@1.0-vts.driver.so"/>
<option name="push" value="DATA/lib64/android.hardware.media.c2@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.media.c2@1.0-vts.driver.so"/>
- <option name="push" value="DATA/media/c2/res/bbb_352x288_420p_30fps_32frames.yuv->/sdcard/media/bbb_352x288_420p_30fps_32frames.yuv"/>
- <option name="push" value="DATA/media/c2/res/bbb_aac_stereo_128kbps_48000hz.aac->/sdcard/media/bbb_aac_stereo_128kbps_48000hz.aac"/>
- <option name="push" value="DATA/media/c2/res/bbb_aac_stereo_128kbps_48000hz.info->/sdcard/media/bbb_aac_stereo_128kbps_48000hz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_aac_stereo_128kbps_48000hz_multi_frame.info->/sdcard/media/bbb_aac_stereo_128kbps_48000hz_multi_frame.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_amrwb_1ch_14kbps_16000hz.amrwb->/sdcard/media/bbb_amrwb_1ch_14kbps_16000hz.amrwb"/>
- <option name="push" value="DATA/media/c2/res/bbb_amrwb_1ch_14kbps_16000hz.info->/sdcard/media/bbb_amrwb_1ch_14kbps_16000hz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_amrwb_1ch_14kbps_16000hz_multi_frame.info->/sdcard/media/bbb_amrwb_1ch_14kbps_16000hz_multi_frame.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_av1_176_144.av1->/sdcard/media/bbb_av1_176_144.av1"/>
- <option name="push" value="DATA/media/c2/res/bbb_av1_176_144.info->/sdcard/media/bbb_av1_176_144.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_av1_640_360.av1->/sdcard/media/bbb_av1_640_360.av1"/>
- <option name="push" value="DATA/media/c2/res/bbb_av1_640_360.info->/sdcard/media/bbb_av1_640_360.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_avc_176x144_300kbps_60fps.h264->/sdcard/media/bbb_avc_176x144_300kbps_60fps.h264"/>
- <option name="push" value="DATA/media/c2/res/bbb_avc_176x144_300kbps_60fps.info->/sdcard/media/bbb_avc_176x144_300kbps_60fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_avc_640x360_768kbps_30fps.h264->/sdcard/media/bbb_avc_640x360_768kbps_30fps.h264"/>
- <option name="push" value="DATA/media/c2/res/bbb_avc_640x360_768kbps_30fps.info->/sdcard/media/bbb_avc_640x360_768kbps_30fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_flac_stereo_680kbps_48000hz.flac->/sdcard/media/bbb_flac_stereo_680kbps_48000hz.flac"/>
- <option name="push" value="DATA/media/c2/res/bbb_flac_stereo_680kbps_48000hz.info->/sdcard/media/bbb_flac_stereo_680kbps_48000hz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_g711alaw_1ch_8khz.info->/sdcard/media/bbb_g711alaw_1ch_8khz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_g711alaw_1ch_8khz.raw->/sdcard/media/bbb_g711alaw_1ch_8khz.raw"/>
- <option name="push" value="DATA/media/c2/res/bbb_g711mulaw_1ch_8khz.info->/sdcard/media/bbb_g711mulaw_1ch_8khz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_g711mulaw_1ch_8khz.raw->/sdcard/media/bbb_g711mulaw_1ch_8khz.raw"/>
- <option name="push" value="DATA/media/c2/res/bbb_gsm_1ch_8khz_13kbps.info->/sdcard/media/bbb_gsm_1ch_8khz_13kbps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_gsm_1ch_8khz_13kbps.raw->/sdcard/media/bbb_gsm_1ch_8khz_13kbps.raw"/>
- <option name="push" value="DATA/media/c2/res/bbb_h263_352x288_300kbps_12fps.h263->/sdcard/media/bbb_h263_352x288_300kbps_12fps.h263"/>
- <option name="push" value="DATA/media/c2/res/bbb_h263_352x288_300kbps_12fps.info->/sdcard/media/bbb_h263_352x288_300kbps_12fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_hevc_176x144_176kbps_60fps.hevc->/sdcard/media/bbb_hevc_176x144_176kbps_60fps.hevc"/>
- <option name="push" value="DATA/media/c2/res/bbb_hevc_176x144_176kbps_60fps.info->/sdcard/media/bbb_hevc_176x144_176kbps_60fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_hevc_640x360_1600kbps_30fps.hevc->/sdcard/media/bbb_hevc_640x360_1600kbps_30fps.hevc"/>
- <option name="push" value="DATA/media/c2/res/bbb_hevc_640x360_1600kbps_30fps.info->/sdcard/media/bbb_hevc_640x360_1600kbps_30fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_mp3_stereo_192kbps_48000hz.info->/sdcard/media/bbb_mp3_stereo_192kbps_48000hz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_mp3_stereo_192kbps_48000hz.mp3->/sdcard/media/bbb_mp3_stereo_192kbps_48000hz.mp3"/>
- <option name="push" value="DATA/media/c2/res/bbb_mp3_stereo_192kbps_48000hz_multi_frame.info->/sdcard/media/bbb_mp3_stereo_192kbps_48000hz_multi_frame.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_mpeg2_176x144_105kbps_25fps.info->/sdcard/media/bbb_mpeg2_176x144_105kbps_25fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_mpeg2_176x144_105kbps_25fps.m2v->/sdcard/media/bbb_mpeg2_176x144_105kbps_25fps.m2v"/>
- <option name="push" value="DATA/media/c2/res/bbb_mpeg2_352x288_1mbps_60fps.info->/sdcard/media/bbb_mpeg2_352x288_1mbps_60fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_mpeg2_352x288_1mbps_60fps.m2v->/sdcard/media/bbb_mpeg2_352x288_1mbps_60fps.m2v"/>
- <option name="push" value="DATA/media/c2/res/bbb_mpeg4_352x288_512kbps_30fps.info->/sdcard/media/bbb_mpeg4_352x288_512kbps_30fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_mpeg4_352x288_512kbps_30fps.m4v->/sdcard/media/bbb_mpeg4_352x288_512kbps_30fps.m4v"/>
- <option name="push" value="DATA/media/c2/res/bbb_opus_stereo_128kbps_48000hz.info->/sdcard/media/bbb_opus_stereo_128kbps_48000hz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_opus_stereo_128kbps_48000hz.opus->/sdcard/media/bbb_opus_stereo_128kbps_48000hz.opus"/>
- <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_16khz_s16le.raw->/sdcard/media/bbb_raw_1ch_16khz_s16le.raw"/>
- <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_8khz_s16le.raw->/sdcard/media/bbb_raw_1ch_8khz_s16le.raw"/>
- <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_8khz_s32le.info->/sdcard/media/bbb_raw_1ch_8khz_s32le.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_8khz_s32le.raw->/sdcard/media/bbb_raw_1ch_8khz_s32le.raw"/>
- <option name="push" value="DATA/media/c2/res/bbb_raw_2ch_48khz_s16le.raw->/sdcard/media/bbb_raw_2ch_48khz_s16le.raw"/>
- <option name="push" value="DATA/media/c2/res/bbb_vorbis_stereo_128kbps_48000hz.info->/sdcard/media/bbb_vorbis_stereo_128kbps_48000hz.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_vorbis_stereo_128kbps_48000hz.vorbis->/sdcard/media/bbb_vorbis_stereo_128kbps_48000hz.vorbis"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp8_176x144_240kbps_60fps.info->/sdcard/media/bbb_vp8_176x144_240kbps_60fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp8_176x144_240kbps_60fps.vp8->/sdcard/media/bbb_vp8_176x144_240kbps_60fps.vp8"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp8_640x360_2mbps_30fps.info->/sdcard/media/bbb_vp8_640x360_2mbps_30fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp8_640x360_2mbps_30fps.vp8->/sdcard/media/bbb_vp8_640x360_2mbps_30fps.vp8"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp9_176x144_285kbps_60fps.info->/sdcard/media/bbb_vp9_176x144_285kbps_60fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp9_176x144_285kbps_60fps.vp9->/sdcard/media/bbb_vp9_176x144_285kbps_60fps.vp9"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp9_640x360_1600kbps_30fps.info->/sdcard/media/bbb_vp9_640x360_1600kbps_30fps.info"/>
- <option name="push" value="DATA/media/c2/res/bbb_vp9_640x360_1600kbps_30fps.vp9->/sdcard/media/bbb_vp9_640x360_1600kbps_30fps.vp9"/>
- <option name="push" value="DATA/media/c2/res/sine_amrnb_1ch_12kbps_8000hz.amrnb->/sdcard/media/sine_amrnb_1ch_12kbps_8000hz.amrnb"/>
- <option name="push" value="DATA/media/c2/res/sine_amrnb_1ch_12kbps_8000hz.info->/sdcard/media/sine_amrnb_1ch_12kbps_8000hz.info"/>
- <option name="push" value="DATA/media/c2/res/sine_amrnb_1ch_12kbps_8000hz_multi_frame.info->/sdcard/media/sine_amrnb_1ch_12kbps_8000hz_multi_frame.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_352x288_420p_30fps_32frames.yuv->/data/local/tmp/media/bbb_352x288_420p_30fps_32frames.yuv"/>
+ <option name="push" value="DATA/media/c2/res/bbb_aac_stereo_128kbps_48000hz.aac->/data/local/tmp/media/bbb_aac_stereo_128kbps_48000hz.aac"/>
+ <option name="push" value="DATA/media/c2/res/bbb_aac_stereo_128kbps_48000hz.info->/data/local/tmp/media/bbb_aac_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_aac_stereo_128kbps_48000hz_multi_frame.info->/data/local/tmp/media/bbb_aac_stereo_128kbps_48000hz_multi_frame.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_amrwb_1ch_14kbps_16000hz.amrwb->/data/local/tmp/media/bbb_amrwb_1ch_14kbps_16000hz.amrwb"/>
+ <option name="push" value="DATA/media/c2/res/bbb_amrwb_1ch_14kbps_16000hz.info->/data/local/tmp/media/bbb_amrwb_1ch_14kbps_16000hz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_amrwb_1ch_14kbps_16000hz_multi_frame.info->/data/local/tmp/media/bbb_amrwb_1ch_14kbps_16000hz_multi_frame.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_av1_176_144.av1->/data/local/tmp/media/bbb_av1_176_144.av1"/>
+ <option name="push" value="DATA/media/c2/res/bbb_av1_176_144.info->/data/local/tmp/media/bbb_av1_176_144.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_av1_640_360.av1->/data/local/tmp/media/bbb_av1_640_360.av1"/>
+ <option name="push" value="DATA/media/c2/res/bbb_av1_640_360.info->/data/local/tmp/media/bbb_av1_640_360.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_avc_176x144_300kbps_60fps.h264->/data/local/tmp/media/bbb_avc_176x144_300kbps_60fps.h264"/>
+ <option name="push" value="DATA/media/c2/res/bbb_avc_176x144_300kbps_60fps.info->/data/local/tmp/media/bbb_avc_176x144_300kbps_60fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_avc_640x360_768kbps_30fps.h264->/data/local/tmp/media/bbb_avc_640x360_768kbps_30fps.h264"/>
+ <option name="push" value="DATA/media/c2/res/bbb_avc_640x360_768kbps_30fps.info->/data/local/tmp/media/bbb_avc_640x360_768kbps_30fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_flac_stereo_680kbps_48000hz.flac->/data/local/tmp/media/bbb_flac_stereo_680kbps_48000hz.flac"/>
+ <option name="push" value="DATA/media/c2/res/bbb_flac_stereo_680kbps_48000hz.info->/data/local/tmp/media/bbb_flac_stereo_680kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_g711alaw_1ch_8khz.info->/data/local/tmp/media/bbb_g711alaw_1ch_8khz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_g711alaw_1ch_8khz.raw->/data/local/tmp/media/bbb_g711alaw_1ch_8khz.raw"/>
+ <option name="push" value="DATA/media/c2/res/bbb_g711mulaw_1ch_8khz.info->/data/local/tmp/media/bbb_g711mulaw_1ch_8khz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_g711mulaw_1ch_8khz.raw->/data/local/tmp/media/bbb_g711mulaw_1ch_8khz.raw"/>
+ <option name="push" value="DATA/media/c2/res/bbb_gsm_1ch_8khz_13kbps.info->/data/local/tmp/media/bbb_gsm_1ch_8khz_13kbps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_gsm_1ch_8khz_13kbps.raw->/data/local/tmp/media/bbb_gsm_1ch_8khz_13kbps.raw"/>
+ <option name="push" value="DATA/media/c2/res/bbb_h263_352x288_300kbps_12fps.h263->/data/local/tmp/media/bbb_h263_352x288_300kbps_12fps.h263"/>
+ <option name="push" value="DATA/media/c2/res/bbb_h263_352x288_300kbps_12fps.info->/data/local/tmp/media/bbb_h263_352x288_300kbps_12fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_hevc_176x144_176kbps_60fps.hevc->/data/local/tmp/media/bbb_hevc_176x144_176kbps_60fps.hevc"/>
+ <option name="push" value="DATA/media/c2/res/bbb_hevc_176x144_176kbps_60fps.info->/data/local/tmp/media/bbb_hevc_176x144_176kbps_60fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_hevc_640x360_1600kbps_30fps.hevc->/data/local/tmp/media/bbb_hevc_640x360_1600kbps_30fps.hevc"/>
+ <option name="push" value="DATA/media/c2/res/bbb_hevc_640x360_1600kbps_30fps.info->/data/local/tmp/media/bbb_hevc_640x360_1600kbps_30fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mp3_stereo_192kbps_48000hz.info->/data/local/tmp/media/bbb_mp3_stereo_192kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mp3_stereo_192kbps_48000hz.mp3->/data/local/tmp/media/bbb_mp3_stereo_192kbps_48000hz.mp3"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mp3_stereo_192kbps_48000hz_multi_frame.info->/data/local/tmp/media/bbb_mp3_stereo_192kbps_48000hz_multi_frame.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mpeg2_176x144_105kbps_25fps.info->/data/local/tmp/media/bbb_mpeg2_176x144_105kbps_25fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mpeg2_176x144_105kbps_25fps.m2v->/data/local/tmp/media/bbb_mpeg2_176x144_105kbps_25fps.m2v"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mpeg2_352x288_1mbps_60fps.info->/data/local/tmp/media/bbb_mpeg2_352x288_1mbps_60fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mpeg2_352x288_1mbps_60fps.m2v->/data/local/tmp/media/bbb_mpeg2_352x288_1mbps_60fps.m2v"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mpeg4_352x288_512kbps_30fps.info->/data/local/tmp/media/bbb_mpeg4_352x288_512kbps_30fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_mpeg4_352x288_512kbps_30fps.m4v->/data/local/tmp/media/bbb_mpeg4_352x288_512kbps_30fps.m4v"/>
+ <option name="push" value="DATA/media/c2/res/bbb_opus_stereo_128kbps_48000hz.info->/data/local/tmp/media/bbb_opus_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_opus_stereo_128kbps_48000hz.opus->/data/local/tmp/media/bbb_opus_stereo_128kbps_48000hz.opus"/>
+ <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_16khz_s16le.raw->/data/local/tmp/media/bbb_raw_1ch_16khz_s16le.raw"/>
+ <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_8khz_s16le.raw->/data/local/tmp/media/bbb_raw_1ch_8khz_s16le.raw"/>
+ <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_8khz_s32le.info->/data/local/tmp/media/bbb_raw_1ch_8khz_s32le.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_raw_1ch_8khz_s32le.raw->/data/local/tmp/media/bbb_raw_1ch_8khz_s32le.raw"/>
+ <option name="push" value="DATA/media/c2/res/bbb_raw_2ch_48khz_s16le.raw->/data/local/tmp/media/bbb_raw_2ch_48khz_s16le.raw"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vorbis_stereo_128kbps_48000hz.info->/data/local/tmp/media/bbb_vorbis_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vorbis_stereo_128kbps_48000hz.vorbis->/data/local/tmp/media/bbb_vorbis_stereo_128kbps_48000hz.vorbis"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp8_176x144_240kbps_60fps.info->/data/local/tmp/media/bbb_vp8_176x144_240kbps_60fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp8_176x144_240kbps_60fps.vp8->/data/local/tmp/media/bbb_vp8_176x144_240kbps_60fps.vp8"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp8_640x360_2mbps_30fps.info->/data/local/tmp/media/bbb_vp8_640x360_2mbps_30fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp8_640x360_2mbps_30fps.vp8->/data/local/tmp/media/bbb_vp8_640x360_2mbps_30fps.vp8"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp9_176x144_285kbps_60fps.info->/data/local/tmp/media/bbb_vp9_176x144_285kbps_60fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp9_176x144_285kbps_60fps.vp9->/data/local/tmp/media/bbb_vp9_176x144_285kbps_60fps.vp9"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp9_640x360_1600kbps_30fps.info->/data/local/tmp/media/bbb_vp9_640x360_1600kbps_30fps.info"/>
+ <option name="push" value="DATA/media/c2/res/bbb_vp9_640x360_1600kbps_30fps.vp9->/data/local/tmp/media/bbb_vp9_640x360_1600kbps_30fps.vp9"/>
+ <option name="push" value="DATA/media/c2/res/sine_amrnb_1ch_12kbps_8000hz.amrnb->/data/local/tmp/media/sine_amrnb_1ch_12kbps_8000hz.amrnb"/>
+ <option name="push" value="DATA/media/c2/res/sine_amrnb_1ch_12kbps_8000hz.info->/data/local/tmp/media/sine_amrnb_1ch_12kbps_8000hz.info"/>
+ <option name="push" value="DATA/media/c2/res/sine_amrnb_1ch_12kbps_8000hz_multi_frame.info->/data/local/tmp/media/sine_amrnb_1ch_12kbps_8000hz_multi_frame.info"/>
</target_preparer>
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
diff --git a/media/c2/V1_0/host/VtsHalMediaC2V1_0HostTest.py b/media/c2/V1_0/host/VtsHalMediaC2V1_0HostTest.py
index d2c1ff5..22620d7 100644
--- a/media/c2/V1_0/host/VtsHalMediaC2V1_0HostTest.py
+++ b/media/c2/V1_0/host/VtsHalMediaC2V1_0HostTest.py
@@ -18,6 +18,7 @@
import copy
import logging
import time
+import argparse
from vts.runners.host import asserts
from vts.runners.host import keys
@@ -91,9 +92,19 @@
tag)
test_cases = []
+ instance_parser = argparse.ArgumentParser()
+ instance_parser.add_argument('--hal_service_instance', type=str)
+
for gtest_case in gtest_cases:
test_suite = gtest_case.full_name
+ args = instance_parser.parse_args(gtest_case.args.split())
+ if args.hal_service_instance:
+ instance_name = args.hal_service_instance[args.hal_service_instance.rfind('/')+1:]
+ else:
+ continue
for component in self.components:
+ if instance_name != component['owner']:
+ continue
if self.AUDIO_ENC_TEST in test_suite and \
(component['domain'] != 2 or component['kind'] != 2):
continue
diff --git a/media/omx/V1_0/host/AndroidTest.xml b/media/omx/V1_0/host/AndroidTest.xml
index bdc9096..f6e9084 100644
--- a/media/omx/V1_0/host/AndroidTest.xml
+++ b/media/omx/V1_0/host/AndroidTest.xml
@@ -36,56 +36,56 @@
<option name="push" value="DATA/lib64/android.hardware.media@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.media@1.0-vts.driver.so"/>
<option name="push" value="DATA/lib/android.hardware.media.omx@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.media.omx@1.0-vts.driver.so"/>
<option name="push" value="DATA/lib64/android.hardware.media.omx@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.media.omx@1.0-vts.driver.so"/>
- <option name="push" value="DATA/media/res/bbb_352x288_420p_30fps_32frames.yuv->/sdcard/media/bbb_352x288_420p_30fps_32frames.yuv"/>
- <option name="push" value="DATA/media/res/bbb_avc_176x144_300kbps_60fps.h264->/sdcard/media/bbb_avc_176x144_300kbps_60fps.h264"/>
- <option name="push" value="DATA/media/res/bbb_avc_176x144_300kbps_60fps.info->/sdcard/media/bbb_avc_176x144_300kbps_60fps.info"/>
- <option name="push" value="DATA/media/res/bbb_avc_640x360_768kbps_30fps.h264->/sdcard/media/bbb_avc_640x360_768kbps_30fps.h264"/>
- <option name="push" value="DATA/media/res/bbb_avc_640x360_768kbps_30fps.info->/sdcard/media/bbb_avc_640x360_768kbps_30fps.info"/>
- <option name="push" value="DATA/media/res/bbb_mp3_stereo_192kbps_48000hz.info->/sdcard/media/bbb_mp3_stereo_192kbps_48000hz.info"/>
- <option name="push" value="DATA/media/res/bbb_mp3_stereo_192kbps_48000hz.mp3->/sdcard/media/bbb_mp3_stereo_192kbps_48000hz.mp3"/>
- <option name="push" value="DATA/media/res/bbb_flac_stereo_680kbps_48000hz.flac->/sdcard/media/bbb_flac_stereo_680kbps_48000hz.flac"/>
- <option name="push" value="DATA/media/res/bbb_flac_stereo_680kbps_48000hz.info->/sdcard/media/bbb_flac_stereo_680kbps_48000hz.info"/>
- <option name="push" value="DATA/media/res/bbb_raw_1ch_16khz_s16le.raw->/sdcard/media/bbb_raw_1ch_16khz_s16le.raw"/>
- <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s16le.raw->/sdcard/media/bbb_raw_1ch_8khz_s16le.raw"/>
- <option name="push" value="DATA/media/res/bbb_raw_2ch_48khz_s16le.raw->/sdcard/media/bbb_raw_2ch_48khz_s16le.raw"/>
- <option name="push" value="DATA/media/res/sine_amrnb_1ch_12kbps_8000hz.amrnb->/sdcard/media/sine_amrnb_1ch_12kbps_8000hz.amrnb"/>
- <option name="push" value="DATA/media/res/sine_amrnb_1ch_12kbps_8000hz.info->/sdcard/media/sine_amrnb_1ch_12kbps_8000hz.info"/>
- <option name="push" value="DATA/media/res/bbb_h263_352x288_300kbps_12fps.h263->/sdcard/media/bbb_h263_352x288_300kbps_12fps.h263"/>
- <option name="push" value="DATA/media/res/bbb_h263_352x288_300kbps_12fps.info->/sdcard/media/bbb_h263_352x288_300kbps_12fps.info"/>
- <option name="push" value="DATA/media/res/bbb_hevc_176x144_176kbps_60fps.hevc->/sdcard/media/bbb_hevc_176x144_176kbps_60fps.hevc"/>
- <option name="push" value="DATA/media/res/bbb_hevc_176x144_176kbps_60fps.info->/sdcard/media/bbb_hevc_176x144_176kbps_60fps.info"/>
- <option name="push" value="DATA/media/res/bbb_hevc_640x360_1600kbps_30fps.hevc->/sdcard/media/bbb_hevc_640x360_1600kbps_30fps.hevc"/>
- <option name="push" value="DATA/media/res/bbb_hevc_640x360_1600kbps_30fps.info->/sdcard/media/bbb_hevc_640x360_1600kbps_30fps.info"/>
- <option name="push" value="DATA/media/res/bbb_mpeg2_176x144_105kbps_25fps.m2v->/sdcard/media/bbb_mpeg2_176x144_105kbps_25fps.m2v"/>
- <option name="push" value="DATA/media/res/bbb_mpeg2_176x144_105kbps_25fps.info->/sdcard/media/bbb_mpeg2_176x144_105kbps_25fps.info"/>
- <option name="push" value="DATA/media/res/bbb_mpeg2_352x288_1mbps_60fps.m2v->/sdcard/media/bbb_mpeg2_352x288_1mbps_60fps.m2v"/>
- <option name="push" value="DATA/media/res/bbb_mpeg2_352x288_1mbps_60fps.info->/sdcard/media/bbb_mpeg2_352x288_1mbps_60fps.info"/>
- <option name="push" value="DATA/media/res/bbb_mpeg4_352x288_512kbps_30fps.m4v->/sdcard/media/bbb_mpeg4_352x288_512kbps_30fps.m4v"/>
- <option name="push" value="DATA/media/res/bbb_mpeg4_352x288_512kbps_30fps.info->/sdcard/media/bbb_mpeg4_352x288_512kbps_30fps.info"/>
- <option name="push" value="DATA/media/res/bbb_vp8_176x144_240kbps_60fps.vp8->/sdcard/media/bbb_vp8_176x144_240kbps_60fps.vp8"/>
- <option name="push" value="DATA/media/res/bbb_vp8_176x144_240kbps_60fps.info->/sdcard/media/bbb_vp8_176x144_240kbps_60fps.info"/>
- <option name="push" value="DATA/media/res/bbb_vp8_640x360_2mbps_30fps.vp8->/sdcard/media/bbb_vp8_640x360_2mbps_30fps.vp8"/>
- <option name="push" value="DATA/media/res/bbb_vp8_640x360_2mbps_30fps.info->/sdcard/media/bbb_vp8_640x360_2mbps_30fps.info"/>
- <option name="push" value="DATA/media/res/bbb_vp9_176x144_285kbps_60fps.vp9->/sdcard/media/bbb_vp9_176x144_285kbps_60fps.vp9"/>
- <option name="push" value="DATA/media/res/bbb_vp9_176x144_285kbps_60fps.info->/sdcard/media/bbb_vp9_176x144_285kbps_60fps.info"/>
- <option name="push" value="DATA/media/res/bbb_vp9_640x360_1600kbps_30fps.vp9->/sdcard/media/bbb_vp9_640x360_1600kbps_30fps.vp9"/>
- <option name="push" value="DATA/media/res/bbb_vp9_640x360_1600kbps_30fps.info->/sdcard/media/bbb_vp9_640x360_1600kbps_30fps.info"/>
- <option name="push" value="DATA/media/res/bbb_aac_stereo_128kbps_48000hz.aac->/sdcard/media/bbb_aac_stereo_128kbps_48000hz.aac"/>
- <option name="push" value="DATA/media/res/bbb_aac_stereo_128kbps_48000hz.info->/sdcard/media/bbb_aac_stereo_128kbps_48000hz.info"/>
- <option name="push" value="DATA/media/res/bbb_amrwb_1ch_14kbps_16000hz.amrwb->/sdcard/media/bbb_amrwb_1ch_14kbps_16000hz.amrwb"/>
- <option name="push" value="DATA/media/res/bbb_amrwb_1ch_14kbps_16000hz.info->/sdcard/media/bbb_amrwb_1ch_14kbps_16000hz.info"/>
- <option name="push" value="DATA/media/res/bbb_opus_stereo_128kbps_48000hz.opus->/sdcard/media/bbb_opus_stereo_128kbps_48000hz.opus"/>
- <option name="push" value="DATA/media/res/bbb_opus_stereo_128kbps_48000hz.info->/sdcard/media/bbb_opus_stereo_128kbps_48000hz.info"/>
- <option name="push" value="DATA/media/res/bbb_vorbis_stereo_128kbps_48000hz.vorbis->/sdcard/media/bbb_vorbis_stereo_128kbps_48000hz.vorbis"/>
- <option name="push" value="DATA/media/res/bbb_vorbis_stereo_128kbps_48000hz.info->/sdcard/media/bbb_vorbis_stereo_128kbps_48000hz.info"/>
- <option name="push" value="DATA/media/res/bbb_g711alaw_1ch_8khz.raw->/sdcard/media/bbb_g711alaw_1ch_8khz.raw"/>
- <option name="push" value="DATA/media/res/bbb_g711alaw_1ch_8khz.info->/sdcard/media/bbb_g711alaw_1ch_8khz.info"/>
- <option name="push" value="DATA/media/res/bbb_g711mulaw_1ch_8khz.raw->/sdcard/media/bbb_g711mulaw_1ch_8khz.raw"/>
- <option name="push" value="DATA/media/res/bbb_g711mulaw_1ch_8khz.info->/sdcard/media/bbb_g711mulaw_1ch_8khz.info"/>
- <option name="push" value="DATA/media/res/bbb_gsm_1ch_8khz_13kbps.raw->/sdcard/media/bbb_gsm_1ch_8khz_13kbps.raw"/>
- <option name="push" value="DATA/media/res/bbb_gsm_1ch_8khz_13kbps.info->/sdcard/media/bbb_gsm_1ch_8khz_13kbps.info"/>
- <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s32le.raw->/sdcard/media/bbb_raw_1ch_8khz_s32le.raw"/>
- <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s32le.info->/sdcard/media/bbb_raw_1ch_8khz_s32le.info"/>
+ <option name="push" value="DATA/media/res/bbb_352x288_420p_30fps_32frames.yuv->/data/local/tmp/media/bbb_352x288_420p_30fps_32frames.yuv"/>
+ <option name="push" value="DATA/media/res/bbb_avc_176x144_300kbps_60fps.h264->/data/local/tmp/media/bbb_avc_176x144_300kbps_60fps.h264"/>
+ <option name="push" value="DATA/media/res/bbb_avc_176x144_300kbps_60fps.info->/data/local/tmp/media/bbb_avc_176x144_300kbps_60fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_avc_640x360_768kbps_30fps.h264->/data/local/tmp/media/bbb_avc_640x360_768kbps_30fps.h264"/>
+ <option name="push" value="DATA/media/res/bbb_avc_640x360_768kbps_30fps.info->/data/local/tmp/media/bbb_avc_640x360_768kbps_30fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_mp3_stereo_192kbps_48000hz.info->/data/local/tmp/media/bbb_mp3_stereo_192kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_mp3_stereo_192kbps_48000hz.mp3->/data/local/tmp/media/bbb_mp3_stereo_192kbps_48000hz.mp3"/>
+ <option name="push" value="DATA/media/res/bbb_flac_stereo_680kbps_48000hz.flac->/data/local/tmp/media/bbb_flac_stereo_680kbps_48000hz.flac"/>
+ <option name="push" value="DATA/media/res/bbb_flac_stereo_680kbps_48000hz.info->/data/local/tmp/media/bbb_flac_stereo_680kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_raw_1ch_16khz_s16le.raw->/data/local/tmp/media/bbb_raw_1ch_16khz_s16le.raw"/>
+ <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s16le.raw->/data/local/tmp/media/bbb_raw_1ch_8khz_s16le.raw"/>
+ <option name="push" value="DATA/media/res/bbb_raw_2ch_48khz_s16le.raw->/data/local/tmp/media/bbb_raw_2ch_48khz_s16le.raw"/>
+ <option name="push" value="DATA/media/res/sine_amrnb_1ch_12kbps_8000hz.amrnb->/data/local/tmp/media/sine_amrnb_1ch_12kbps_8000hz.amrnb"/>
+ <option name="push" value="DATA/media/res/sine_amrnb_1ch_12kbps_8000hz.info->/data/local/tmp/media/sine_amrnb_1ch_12kbps_8000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_h263_352x288_300kbps_12fps.h263->/data/local/tmp/media/bbb_h263_352x288_300kbps_12fps.h263"/>
+ <option name="push" value="DATA/media/res/bbb_h263_352x288_300kbps_12fps.info->/data/local/tmp/media/bbb_h263_352x288_300kbps_12fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_hevc_176x144_176kbps_60fps.hevc->/data/local/tmp/media/bbb_hevc_176x144_176kbps_60fps.hevc"/>
+ <option name="push" value="DATA/media/res/bbb_hevc_176x144_176kbps_60fps.info->/data/local/tmp/media/bbb_hevc_176x144_176kbps_60fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_hevc_640x360_1600kbps_30fps.hevc->/data/local/tmp/media/bbb_hevc_640x360_1600kbps_30fps.hevc"/>
+ <option name="push" value="DATA/media/res/bbb_hevc_640x360_1600kbps_30fps.info->/data/local/tmp/media/bbb_hevc_640x360_1600kbps_30fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_mpeg2_176x144_105kbps_25fps.m2v->/data/local/tmp/media/bbb_mpeg2_176x144_105kbps_25fps.m2v"/>
+ <option name="push" value="DATA/media/res/bbb_mpeg2_176x144_105kbps_25fps.info->/data/local/tmp/media/bbb_mpeg2_176x144_105kbps_25fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_mpeg2_352x288_1mbps_60fps.m2v->/data/local/tmp/media/bbb_mpeg2_352x288_1mbps_60fps.m2v"/>
+ <option name="push" value="DATA/media/res/bbb_mpeg2_352x288_1mbps_60fps.info->/data/local/tmp/media/bbb_mpeg2_352x288_1mbps_60fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_mpeg4_352x288_512kbps_30fps.m4v->/data/local/tmp/media/bbb_mpeg4_352x288_512kbps_30fps.m4v"/>
+ <option name="push" value="DATA/media/res/bbb_mpeg4_352x288_512kbps_30fps.info->/data/local/tmp/media/bbb_mpeg4_352x288_512kbps_30fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_vp8_176x144_240kbps_60fps.vp8->/data/local/tmp/media/bbb_vp8_176x144_240kbps_60fps.vp8"/>
+ <option name="push" value="DATA/media/res/bbb_vp8_176x144_240kbps_60fps.info->/data/local/tmp/media/bbb_vp8_176x144_240kbps_60fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_vp8_640x360_2mbps_30fps.vp8->/data/local/tmp/media/bbb_vp8_640x360_2mbps_30fps.vp8"/>
+ <option name="push" value="DATA/media/res/bbb_vp8_640x360_2mbps_30fps.info->/data/local/tmp/media/bbb_vp8_640x360_2mbps_30fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_vp9_176x144_285kbps_60fps.vp9->/data/local/tmp/media/bbb_vp9_176x144_285kbps_60fps.vp9"/>
+ <option name="push" value="DATA/media/res/bbb_vp9_176x144_285kbps_60fps.info->/data/local/tmp/media/bbb_vp9_176x144_285kbps_60fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_vp9_640x360_1600kbps_30fps.vp9->/data/local/tmp/media/bbb_vp9_640x360_1600kbps_30fps.vp9"/>
+ <option name="push" value="DATA/media/res/bbb_vp9_640x360_1600kbps_30fps.info->/data/local/tmp/media/bbb_vp9_640x360_1600kbps_30fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_aac_stereo_128kbps_48000hz.aac->/data/local/tmp/media/bbb_aac_stereo_128kbps_48000hz.aac"/>
+ <option name="push" value="DATA/media/res/bbb_aac_stereo_128kbps_48000hz.info->/data/local/tmp/media/bbb_aac_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_amrwb_1ch_14kbps_16000hz.amrwb->/data/local/tmp/media/bbb_amrwb_1ch_14kbps_16000hz.amrwb"/>
+ <option name="push" value="DATA/media/res/bbb_amrwb_1ch_14kbps_16000hz.info->/data/local/tmp/media/bbb_amrwb_1ch_14kbps_16000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_opus_stereo_128kbps_48000hz.opus->/data/local/tmp/media/bbb_opus_stereo_128kbps_48000hz.opus"/>
+ <option name="push" value="DATA/media/res/bbb_opus_stereo_128kbps_48000hz.info->/data/local/tmp/media/bbb_opus_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_vorbis_stereo_128kbps_48000hz.vorbis->/data/local/tmp/media/bbb_vorbis_stereo_128kbps_48000hz.vorbis"/>
+ <option name="push" value="DATA/media/res/bbb_vorbis_stereo_128kbps_48000hz.info->/data/local/tmp/media/bbb_vorbis_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_g711alaw_1ch_8khz.raw->/data/local/tmp/media/bbb_g711alaw_1ch_8khz.raw"/>
+ <option name="push" value="DATA/media/res/bbb_g711alaw_1ch_8khz.info->/data/local/tmp/media/bbb_g711alaw_1ch_8khz.info"/>
+ <option name="push" value="DATA/media/res/bbb_g711mulaw_1ch_8khz.raw->/data/local/tmp/media/bbb_g711mulaw_1ch_8khz.raw"/>
+ <option name="push" value="DATA/media/res/bbb_g711mulaw_1ch_8khz.info->/data/local/tmp/media/bbb_g711mulaw_1ch_8khz.info"/>
+ <option name="push" value="DATA/media/res/bbb_gsm_1ch_8khz_13kbps.raw->/data/local/tmp/media/bbb_gsm_1ch_8khz_13kbps.raw"/>
+ <option name="push" value="DATA/media/res/bbb_gsm_1ch_8khz_13kbps.info->/data/local/tmp/media/bbb_gsm_1ch_8khz_13kbps.info"/>
+ <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s32le.raw->/data/local/tmp/media/bbb_raw_1ch_8khz_s32le.raw"/>
+ <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s32le.info->/data/local/tmp/media/bbb_raw_1ch_8khz_s32le.info"/>
</target_preparer>
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
<option name="test-module-name" value="VtsHalMediaOmxV1_0Host"/>
diff --git a/neuralnetworks/V1_2/target/AndroidTest.xml b/neuralnetworks/V1_2/target/AndroidTest.xml
index 18063fb..fea25d2 100644
--- a/neuralnetworks/V1_2/target/AndroidTest.xml
+++ b/neuralnetworks/V1_2/target/AndroidTest.xml
@@ -25,7 +25,7 @@
<option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNeuralnetworksV1_2TargetTest/VtsHalNeuralnetworksV1_2TargetTest"/>
<option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNeuralnetworksV1_2TargetTest/VtsHalNeuralnetworksV1_2TargetTest"/>
<option name="binary-test-type" value="hal_hidl_gtest"/>
- <option name="test-timeout" value="1h"/>
+ <option name="test-timeout" value="10h"/>
<option name="gtest-batch-mode" value="true"/>
</test>
</configuration>
diff --git a/treble/vintf/SingleManifestTest.cpp b/treble/vintf/SingleManifestTest.cpp
index 17ae647..c97d240 100644
--- a/treble/vintf/SingleManifestTest.cpp
+++ b/treble/vintf/SingleManifestTest.cpp
@@ -52,13 +52,19 @@
}
}
-void FailureHashMissing(const FQName &fq_name) {
+void FailureHashMissing(const FQName &fq_name,
+ bool vehicle_hal_in_automotive_device) {
if (LegacyAndExempt(fq_name)) {
cout << "[ WARNING ] " << fq_name.string()
<< " has an empty hash but is exempted because it is legacy. It is "
"still recommended to fix this. This is because it was compiled "
"without being frozen in a corresponding current.txt file."
<< endl;
+ } else if (vehicle_hal_in_automotive_device) {
+ cout << "[ WARNING ] " << fq_name.string()
+ << " has an empty hash but is exempted because it is IVehicle in an"
+ "automotive device."
+ << endl;
} else {
ADD_FAILURE()
<< fq_name.string()
@@ -395,6 +401,9 @@
// Tests that HAL interfaces are officially released.
TEST_P(SingleManifestTest, InterfacesAreReleased) {
+ // Device support automotive features.
+ const static bool automotive_device =
+ DeviceSupportsFeature("android.hardware.type.automotive");
// Verifies that HAL are released by fetching the hash of the interface and
// comparing it to the set of known hashes of released interfaces.
HalVerifyFn is_released = [](const FQName &fq_name,
@@ -438,11 +447,16 @@
}
string hash = hash_chain[i];
+ bool vehicle_hal_in_automotive_device =
+ automotive_device &&
+ fq_iface_name.string() ==
+ "android.hardware.automotive.vehicle@2.0::IVehicle";
if (hash == Hash::hexString(Hash::kEmptyHash)) {
- FailureHashMissing(fq_iface_name);
+ FailureHashMissing(fq_iface_name, vehicle_hal_in_automotive_device);
}
- if (IsAndroidPlatformInterface(fq_iface_name)) {
+ if (IsAndroidPlatformInterface(fq_iface_name) &&
+ !vehicle_hal_in_automotive_device) {
set<string> released_hashes = ReleasedHashes(fq_iface_name);
EXPECT_NE(released_hashes.find(hash), released_hashes.end())
<< "Hash not found. This interface was not released." << endl
diff --git a/treble/vintf/utils.cpp b/treble/vintf/utils.cpp
index d1d53b3..66ec01b 100644
--- a/treble/vintf/utils.cpp
+++ b/treble/vintf/utils.cpp
@@ -1,3 +1,4 @@
+
/*
* Copyright (C) 2018 The Android Open Source Project
*
@@ -105,6 +106,24 @@
return !PackageRoot(fq_iface_name).empty();
}
+// Returns true iff the device has the specified feature.
+bool DeviceSupportsFeature(const char *feature) {
+ bool device_supports_feature = false;
+ FILE *p = popen("pm list features", "re");
+ if (p) {
+ char *line = NULL;
+ size_t len = 0;
+ while (getline(&line, &len, p) > 0) {
+ if (strstr(line, feature)) {
+ device_supports_feature = true;
+ break;
+ }
+ }
+ pclose(p);
+ }
+ return device_supports_feature;
+}
+
// Returns the set of released hashes for a given HAL interface.
set<string> ReleasedHashes(const FQName &fq_iface_name) {
set<string> released_hashes{};
diff --git a/treble/vintf/utils.h b/treble/vintf/utils.h
index 024ca22..48bd889 100644
--- a/treble/vintf/utils.h
+++ b/treble/vintf/utils.h
@@ -92,6 +92,9 @@
// Returns true iff HAL interface is Android platform.
bool IsAndroidPlatformInterface(const FQName& fq_iface_name);
+// Returns true iff the device has the specified feature.
+bool DeviceSupportsFeature(const char* feature);
+
// Returns the set of released hashes for a given HAL interface.
set<string> ReleasedHashes(const FQName& fq_iface_name);