Increase VTS audio test timeout am: 40e61f8a16
am: 7e9a2778fe
Change-Id: I45a81c6a9007f0a5fd7ced0e6dd2c70b91b955e7
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..4929ba5
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,5 @@
+yim@google.com
+trong@google.com
+zhuoyao@google.com
+yuexima@google.com
+ryanjcampbell@google.com
diff --git a/audio/V2_0/build/Android.bp b/audio/V2_0/build/Android.bp
index 0a50416..4266f1a 100644
--- a/audio/V2_0/build/Android.bp
+++ b/audio/V2_0/build/Android.bp
@@ -93,9 +93,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -165,9 +162,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/audio/common/V2_0/build/Android.bp b/audio/common/V2_0/build/Android.bp
index 485b349..0d49052 100644
--- a/audio/common/V2_0/build/Android.bp
+++ b/audio/common/V2_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/audio/effect/V2_0/build/Android.bp b/audio/effect/V2_0/build/Android.bp
index 1a439b5..f2937ba 100644
--- a/audio/effect/V2_0/build/Android.bp
+++ b/audio/effect/V2_0/build/Android.bp
@@ -114,9 +114,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -200,9 +197,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/audio/effect/V2_0/target/AndroidTest.xml b/audio/effect/V2_0/target/AndroidTest.xml
index 949c16a..fe0122e 100644
--- a/audio/effect/V2_0/target/AndroidTest.xml
+++ b/audio/effect/V2_0/target/AndroidTest.xml
@@ -17,6 +17,7 @@
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
<option name="abort-on-push-failure" value="false"/>
<option name="push-group" value="HalHidlTargetTest.push"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/effect/2.0/xml/audio_effects_conf_V2_0.xsd->/data/local/tmp/audio_effects_conf_V2_0.xsd"/>
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
diff --git a/audio/effect/V2_0/target_profiling/AndroidTest.xml b/audio/effect/V2_0/target_profiling/AndroidTest.xml
index 1dbdf0e..ca6e8d9 100644
--- a/audio/effect/V2_0/target_profiling/AndroidTest.xml
+++ b/audio/effect/V2_0/target_profiling/AndroidTest.xml
@@ -22,6 +22,7 @@
<option name="push" value="DATA/lib64/android.hardware.audio.common@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.audio.common@2.0-vts.profiler.so"/>
<option name="push" value="DATA/lib/android.hardware.audio.effect@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio.effect@2.0-vts.profiler.so"/>
<option name="push" value="DATA/lib64/android.hardware.audio.effect@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.audio.effect@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/effect/2.0/xml/audio_effects_conf_V2_0.xsd->/data/local/tmp/audio_effects_conf_V2_0.xsd"/>
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
diff --git a/automotive/Android.bp b/automotive/Android.bp
index 1047dba..13c324a 100644
--- a/automotive/Android.bp
+++ b/automotive/Android.bp
@@ -4,5 +4,4 @@
subdirs = [
"evs/V1_0",
"vehicle/V2_0",
- "vehicle/V2_1",
]
diff --git a/automotive/evs/V1_0/build/Android.bp b/automotive/evs/V1_0/build/Android.bp
index 694cc80..87aef34 100644
--- a/automotive/evs/V1_0/build/Android.bp
+++ b/automotive/evs/V1_0/build/Android.bp
@@ -82,9 +82,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -147,9 +144,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/automotive/evs/V1_0/target/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to automotive/evs/V1_0/target/Android.mk
index ab678f7..b511a08 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/automotive/evs/V1_0/target/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalEvsV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/evs/V1_0/target
include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/evs/V1_0/target/AndroidTest.xml b/automotive/evs/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..025c8b3
--- /dev/null
+++ b/automotive/evs/V1_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalEvsV1_0Target test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalEvsV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.automotive.evs@1.0"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/automotive/evs/V1_0/target_profiling/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to automotive/evs/V1_0/target_profiling/Android.mk
index ab678f7..9070902 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/automotive/evs/V1_0/target_profiling/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalEvsV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/evs/V1_0/target_profiling
include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/evs/V1_0/target_profiling/AndroidTest.xml b/automotive/evs/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..2ce2141
--- /dev/null
+++ b/automotive/evs/V1_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalEvsV1_0Target test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalEvsV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.automotive.evs@1.0"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_0/build/Android.bp b/automotive/vehicle/V2_0/build/Android.bp
index 4054b7c..514ae0f 100644
--- a/automotive/vehicle/V2_0/build/Android.bp
+++ b/automotive/vehicle/V2_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
index 2fd0f4b..107a8f3 100644
--- a/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
+++ b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
@@ -199,67 +199,6 @@
asserts.assertEqual(1, len(propValue["value"]["int32Values"]))
asserts.assertEqual(value, propValue["value"]["int32Values"][0])
- def testObd2SensorProperties(self):
- """Test reading the live and freeze OBD2 frame properties.
-
- OBD2 (On-Board Diagnostics 2) is the industry standard protocol
- for retrieving diagnostic sensor information from vehicles.
- """
- class CheckRead(object):
- """This class wraps the logic of an actual property read.
-
- Attributes:
- testobject: the test case this object is used on behalf of.
- propertyId: the identifier of the Vehiche HAL property to read.
- name: the engineer-readable name of this test operation.
- """
-
- def __init__(self, testobject, propertyId, name):
- self.testobject = testobject
- self.propertyId = propertyId
- self.name = name
-
- def onReadSuccess(self, propValue):
- """Override this to perform any post-read validation.
-
- Args:
- propValue: the property value obtained from Vehicle HAL.
- """
- pass
-
- def __call__(self):
- """Reads the specified property and validates the result."""
- propValue = self.testobject.readVhalProperty(self.propertyId)
- asserts.assertNotEqual(propValue, None,
- msg="reading %s should not return None" %
- self.name)
- logging.info("%s = %s", self.name, propValue)
- self.onReadSuccess(propValue)
- logging.info("%s pass" % self.name)
-
- def checkLiveFrameRead():
- """Validates reading the OBD2_LIVE_FRAME (if available)."""
- checker = CheckRead(self,
- self.vtypes.VehicleProperty.OBD2_LIVE_FRAME,
- "OBD2_LIVE_FRAME")
- checker()
-
- def checkFreezeFrameRead():
- """Validates reading the OBD2_FREEZE_FRAME (if available)."""
- checker = CheckRead(self,
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME,
- "OBD2_FREEZE_FRAME")
- checker()
-
- isLiveSupported = self.vtypes.VehicleProperty.OBD2_LIVE_FRAME in self.propToConfig
- isFreezeSupported = self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME in self.propToConfig
- logging.info("isLiveSupported = %s, isFreezeSupported = %s",
- isLiveSupported, isFreezeSupported)
- if isLiveSupported:
- checkLiveFrameRead()
- if isFreezeSupported:
- checkFreezeFrameRead()
-
def testDrivingStatus(self):
"""Checks that DRIVING_STATUS property returns correct result."""
propValue = self.readVhalProperty(
@@ -686,5 +625,294 @@
time.sleep(1)
asserts.fail("Callback not called in 5 seconds.")
+ def getDiagnosticSupportInfo(self):
+ """Check which of the OBD2 diagnostic properties are supported."""
+ properties = [self.vtypes.VehicleProperty.OBD2_LIVE_FRAME,
+ self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME,
+ self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO,
+ self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]
+ return {x:self.isPropSupported(x) for x in properties}
+
+ class CheckRead(object):
+ """An object whose job it is to read a Vehicle HAL property and run
+ routine validation checks on the result."""
+
+ def __init__(self, test, propertyId, areaId=0):
+ """Creates a CheckRead instance.
+
+ Args:
+ test: the containing testcase object.
+ propertyId: the numeric identifier of the vehicle property.
+ """
+ self.test = test
+ self.propertyId = propertyId
+ self.areaId = 0
+
+ def validateGet(self, status, value):
+ """Validate the result of IVehicle.get.
+
+ Args:
+ status: the StatusCode returned from Vehicle HAL.
+ value: the VehiclePropValue returned from Vehicle HAL.
+
+ Returns: a VehiclePropValue instance, or None on failure."""
+ asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
+ asserts.assertNotEqual(value, None)
+ asserts.assertEqual(self.propertyId, value['prop'])
+ return value
+
+ def prepareRequest(self, propValue):
+ """Setup this request with any property-specific data.
+
+ Args:
+ propValue: a dictionary in the format of a VehiclePropValue.
+
+ Returns: a dictionary in the format of a VehclePropValue."""
+ return propValue
+
+ def __call__(self):
+ asserts.assertTrue(self.test.isPropSupported(self.propertyId), "error")
+ request = {
+ 'prop' : self.propertyId,
+ 'timestamp' : 0,
+ 'areaId' : self.areaId,
+ 'value' : {
+ 'int32Values' : [],
+ 'floatValues' : [],
+ 'int64Values' : [],
+ 'bytes' : [],
+ 'stringValue' : ""
+ }
+ }
+ request = self.prepareRequest(request)
+ requestPropValue = self.test.vtypes.Py2Pb("VehiclePropValue",
+ request)
+ status, responsePropValue = self.test.vehicle.get(requestPropValue)
+ return self.validateGet(status, responsePropValue)
+
+ class CheckWrite(object):
+ """An object whose job it is to write a Vehicle HAL property and run
+ routine validation checks on the result."""
+
+ def __init__(self, test, propertyId, areaId=0):
+ """Creates a CheckWrite instance.
+
+ Args:
+ test: the containing testcase object.
+ propertyId: the numeric identifier of the vehicle property.
+ areaId: the numeric identifier of the vehicle area.
+ """
+ self.test = test
+ self.propertyId = propertyId
+ self.areaId = 0
+
+ def validateSet(self, status):
+ """Validate the result of IVehicle.set.
+ Reading back the written-to property to ensure a consistent
+ value is fair game for this method.
+
+ Args:
+ status: the StatusCode returned from Vehicle HAL.
+
+ Returns: None."""
+ asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
+
+ def prepareRequest(self, propValue):
+ """Setup this request with any property-specific data.
+
+ Args:
+ propValue: a dictionary in the format of a VehiclePropValue.
+
+ Returns: a dictionary in the format of a VehclePropValue."""
+ return propValue
+
+ def __call__(self):
+ asserts.assertTrue(self.test.isPropSupported(self.propertyId), "error")
+ request = {
+ 'prop' : self.propertyId,
+ 'timestamp' : 0,
+ 'areaId' : self.areaId,
+ 'value' : {
+ 'int32Values' : [],
+ 'floatValues' : [],
+ 'int64Values' : [],
+ 'bytes' : [],
+ 'stringValue' : ""
+ }
+ }
+ request = self.prepareRequest(request)
+ requestPropValue = self.test.vtypes.Py2Pb("VehiclePropValue",
+ request)
+ status = self.test.vehicle.set(requestPropValue)
+ return self.validateSet(status)
+
+ def testReadObd2LiveFrame(self):
+ """Test that one can correctly read the OBD2 live frame."""
+ supportInfo = self.getDiagnosticSupportInfo()
+ if supportInfo[self.vtypes.VehicleProperty.OBD2_LIVE_FRAME]:
+ checkRead = self.CheckRead(self,
+ self.vtypes.VehicleProperty.OBD2_LIVE_FRAME)
+ checkRead()
+ else:
+ # live frame not supported by this HAL implementation. done
+ logging.info("OBD2_LIVE_FRAME not supported.")
+
+ def testReadObd2FreezeFrameInfo(self):
+ """Test that one can read the list of OBD2 freeze timestamps."""
+ supportInfo = self.getDiagnosticSupportInfo()
+ if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO]:
+ checkRead = self.CheckRead(self,
+ self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
+ checkRead()
+ else:
+ # freeze frame info not supported by this HAL implementation. done
+ logging.info("OBD2_FREEZE_FRAME_INFO not supported.")
+
+ def testReadValidObd2FreezeFrame(self):
+ """Test that one can read the OBD2 freeze frame data."""
+ class FreezeFrameCheckRead(self.CheckRead):
+ def __init__(self, test, timestamp):
+ self.test = test
+ self.propertyId = \
+ self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
+ self.timestamp = timestamp
+ self.areaId = 0
+
+ def prepareRequest(self, propValue):
+ propValue['value']['int64Values'] = [self.timestamp]
+ return propValue
+
+ def validateGet(self, status, value):
+ # None is acceptable, as a newer fault could have overwritten
+ # the one we're trying to read
+ if value is not None:
+ asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
+ asserts.assertEqual(self.propertyId, value['prop'])
+ asserts.assertEqual(self.timestamp, value['timestamp'])
+
+ supportInfo = self.getDiagnosticSupportInfo()
+ if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO] \
+ and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME]:
+ infoCheckRead = self.CheckRead(self,
+ self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
+ frameInfos = infoCheckRead()
+ timestamps = frameInfos["value"]["int64Values"]
+ for timestamp in timestamps:
+ freezeCheckRead = FreezeFrameCheckRead(self, timestamp)
+ freezeCheckRead()
+ else:
+ # freeze frame not supported by this HAL implementation. done
+ logging.info("OBD2_FREEZE_FRAME and _INFO not supported.")
+
+ def testReadInvalidObd2FreezeFrame(self):
+ """Test that trying to read freeze frame at invalid timestamps
+ behaves correctly (i.e. returns an error code)."""
+ class FreezeFrameCheckRead(self.CheckRead):
+ def __init__(self, test, timestamp):
+ self.test = test
+ self.propertyId = self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
+ self.timestamp = timestamp
+ self.areaId = 0
+
+ def prepareRequest(self, propValue):
+ propValue['value']['int64Values'] = [self.timestamp]
+ return propValue
+
+ def validateGet(self, status, value):
+ asserts.assertEqual(
+ self.test.vtypes.StatusCode.INVALID_ARG, status)
+
+ supportInfo = self.getDiagnosticSupportInfo()
+ invalidTimestamps = [0,482005800]
+ if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME]:
+ for timestamp in invalidTimestamps:
+ freezeCheckRead = FreezeFrameCheckRead(self, timestamp)
+ freezeCheckRead()
+ else:
+ # freeze frame not supported by this HAL implementation. done
+ logging.info("OBD2_FREEZE_FRAME not supported.")
+
+ def testClearValidObd2FreezeFrame(self):
+ """Test that deleting a diagnostic freeze frame works.
+ Given the timing behavor of OBD2_FREEZE_FRAME, the only sensible
+ definition of works here is that, after deleting a frame, trying to read
+ at its timestamp, will not be successful."""
+ class FreezeFrameClearCheckWrite(self.CheckWrite):
+ def __init__(self, test, timestamp):
+ self.test = test
+ self.propertyId = self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
+ self.timestamp = timestamp
+ self.areaId = 0
+
+ def prepareRequest(self, propValue):
+ propValue['value']['int64Values'] = [self.timestamp]
+ return propValue
+
+ def validateSet(self, status):
+ asserts.assertTrue(status in [
+ self.test.vtypes.StatusCode.OK,
+ self.test.vtypes.StatusCode.INVALID_ARG], "error")
+
+ class FreezeFrameCheckRead(self.CheckRead):
+ def __init__(self, test, timestamp):
+ self.test = test
+ self.propertyId = \
+ self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
+ self.timestamp = timestamp
+ self.areaId = 0
+
+ def prepareRequest(self, propValue):
+ propValue['value']['int64Values'] = [self.timestamp]
+ return propValue
+
+ def validateGet(self, status, value):
+ asserts.assertEqual(
+ self.test.vtypes.StatusCode.INVALID_ARG, status)
+
+ supportInfo = self.getDiagnosticSupportInfo()
+ if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO] \
+ and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME] \
+ and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]:
+ infoCheckRead = self.CheckRead(self,
+ self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
+ frameInfos = infoCheckRead()
+ timestamps = frameInfos["value"]["int64Values"]
+ for timestamp in timestamps:
+ checkWrite = FreezeFrameClearCheckWrite(self, timestamp)
+ checkWrite()
+ checkRead = FreezeFrameCheckRead(self, timestamp)
+ checkRead()
+ else:
+ # freeze frame not supported by this HAL implementation. done
+ logging.info("OBD2_FREEZE_FRAME, _CLEAR and _INFO not supported.")
+
+ def testClearInvalidObd2FreezeFrame(self):
+ """Test that deleting an invalid freeze frame behaves correctly."""
+ class FreezeFrameClearCheckWrite(self.CheckWrite):
+ def __init__(self, test, timestamp):
+ self.test = test
+ self.propertyId = \
+ self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
+ self.timestamp = timestamp
+ self.areaId = 0
+
+ def prepareRequest(self, propValue):
+ propValue['value']['int64Values'] = [self.timestamp]
+ return propValue
+
+ def validateSet(self, status):
+ asserts.assertEqual(self.test.vtypes.StatusCode.INVALID_ARG,
+ status, "PropId: 0x%s, Timestamp: %d" % (self.propertyId, self.timestamp))
+
+ supportInfo = self.getDiagnosticSupportInfo()
+ if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]:
+ invalidTimestamps = [0,482005800]
+ for timestamp in invalidTimestamps:
+ checkWrite = FreezeFrameClearCheckWrite(self, timestamp)
+ checkWrite()
+ else:
+ # freeze frame not supported by this HAL implementation. done
+ logging.info("OBD2_FREEZE_FRAME_CLEAR not supported.")
+
if __name__ == "__main__":
test_runner.main()
diff --git a/automotive/vehicle/V2_1/build/Android.bp b/automotive/vehicle/V2_1/build/Android.bp
deleted file mode 100644
index ed24785..0000000
--- a/automotive/vehicle/V2_1/build/Android.bp
+++ /dev/null
@@ -1,145 +0,0 @@
-// This file was auto-generated. Do not edit manually.
-// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
-
-// Generate .vts spec files.
-hal2vts {
- name: "android.hardware.automotive.vehicle@2.1-vts.spec",
- srcs: [
- ":android.hardware.automotive.vehicle@2.1_hal",
- ],
- out: [
- "android/hardware/automotive/vehicle/2.1/Vehicle.vts",
- "android/hardware/automotive/vehicle/2.1/types.vts",
- ],
-}
-
-// Build VTS driver.
-genrule {
- name: "android.hardware.automotive.vehicle@2.1-vts.driver_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.1/ $(genDir)/android/hardware/automotive/vehicle/2.1/",
- srcs: [
- ":android.hardware.automotive.vehicle@2.1_hal",
- ],
- out: [
- "android/hardware/automotive/vehicle/2.1/Vehicle.vts.cpp",
- "android/hardware/automotive/vehicle/2.1/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.automotive.vehicle@2.1-vts.driver_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.1/ $(genDir)/android/hardware/automotive/vehicle/2.1/",
- srcs: [
- ":android.hardware.automotive.vehicle@2.1_hal",
- ],
- out: [
- "android/hardware/automotive/vehicle/2.1/Vehicle.vts.h",
- "android/hardware/automotive/vehicle/2.1/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.automotive.vehicle@2.1-vts.driver",
- generated_sources: ["android.hardware.automotive.vehicle@2.1-vts.driver_genc++"],
- generated_headers: ["android.hardware.automotive.vehicle@2.1-vts.driver_genc++_headers"],
- export_generated_headers: ["android.hardware.automotive.vehicle@2.1-vts.driver_genc++_headers"],
- shared_libs: [
- "libcamera_metadata",
- "libcutils",
- "libfmq",
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libprotobuf-cpp-full",
- "libutils",
- "libvts_common",
- "libvts_datatype",
- "libvts_drivercomm",
- "libvts_measurement",
- "libvts_multidevice_proto",
- "android.hidl.allocator@1.0",
- "android.hardware.automotive.vehicle@2.1",
- "android.hardware.automotive.vehicle@2.0",
- "android.hardware.automotive.vehicle@2.0-vts.driver",
- ],
- export_shared_lib_headers: [
- "android.hardware.automotive.vehicle@2.0",
- "android.hardware.automotive.vehicle@2.0-vts.driver",
- ],
- cflags: [
- "-Wall",
- "-Werror",
-
- // These warnings are in code generated with vtsc
- // b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
- "-Wno-duplicate-decl-specifier",
- "-Wno-implicitly-unsigned-literal",
- ],
-}
-
-// Build VTS profiler.
-genrule {
- name: "android.hardware.automotive.vehicle@2.1-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.1/ $(genDir)/android/hardware/automotive/vehicle/2.1/",
- srcs: [
- ":android.hardware.automotive.vehicle@2.1_hal",
- ],
- out: [
- "android/hardware/automotive/vehicle/2.1/Vehicle.vts.cpp",
- "android/hardware/automotive/vehicle/2.1/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.automotive.vehicle@2.1-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.1/ $(genDir)/android/hardware/automotive/vehicle/2.1/",
- srcs: [
- ":android.hardware.automotive.vehicle@2.1_hal",
- ],
- out: [
- "android/hardware/automotive/vehicle/2.1/Vehicle.vts.h",
- "android/hardware/automotive/vehicle/2.1/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.automotive.vehicle@2.1-vts.profiler",
- generated_sources: ["android.hardware.automotive.vehicle@2.1-vts.profiler_genc++"],
- generated_headers: ["android.hardware.automotive.vehicle@2.1-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.automotive.vehicle@2.1-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libcutils",
- "libfmq",
- "libhidlbase",
- "libhidltransport",
- "libvts_common",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hardware.automotive.vehicle@2.1",
- "android.hardware.automotive.vehicle@2.0",
- "android.hardware.automotive.vehicle@2.0-vts.profiler",
- ],
- cflags: [
- "-Wall",
- "-Werror",
-
- // These warnings are in code generated with vtsc
- // b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
- "-Wno-duplicate-decl-specifier",
- "-Wno-implicitly-unsigned-literal",
- ],
-}
-
diff --git a/automotive/vehicle/V2_1/host/AndroidTest.xml b/automotive/vehicle/V2_1/host/AndroidTest.xml
deleted file mode 100644
index d6fe587..0000000
--- a/automotive/vehicle/V2_1/host/AndroidTest.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS VtsHalAutomotiveVehicleV2_1Host test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="abort-on-push-failure" value="false"/>
- <option name="push-group" value="HalHidlHostTest.push"/>
- <option name="cleanup" value="true"/>
- <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/Vehicle.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.1/Vehicle.vts"/>
- <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/types.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.1/types.vts"/>
- <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.0/vts/Vehicle.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/Vehicle.vts"/>
- <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/types.vts"/>
- <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.1-vts.driver.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.1-vts.driver.so"/>
- <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.1-vts.driver.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.1-vts.driver.so"/>
- <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.0-vts.driver.so"/>
- <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.0-vts.driver.so"/>
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VtsHalAutomotiveVehicleV2_1Host"/>
- <option name="test-case-path" value="vts/testcases/hal/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest"/>
- <option name="precondition-lshal" value="android.hardware.automotive.vehicle@2.1"/>
- <option name="test-timeout" value="1m"/>
- </test>
-</configuration>
diff --git a/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py b/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py
deleted file mode 100644
index cecb45a..0000000
--- a/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py
+++ /dev/null
@@ -1,382 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-import time
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test
-from vts.runners.host import const
-from vts.runners.host import keys
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-
-
-class VtsHalAutomotiveVehicleV2_1HostTest(base_test.BaseTestClass):
- """A simple testcase for the VEHICLE HIDL HAL."""
-
- def setUpClass(self):
- """Creates a mirror and init vehicle hal."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- results = self.dut.shell.one.Execute("id -u system")
- system_uid = results[const.STDOUT][0].strip()
- logging.info("system_uid: %s", system_uid)
-
- if self.coverage.enabled:
- self.coverage.LoadArtifacts()
- self.coverage.InitializeDeviceCoverage(self.dut)
-
- if self.profiling.enabled:
- self.profiling.EnableVTSProfiling(self.dut.shell.one)
-
- self.dut.hal.InitHidlHal(
- target_type="vehicle",
- target_basepaths=self.dut.libPaths,
- target_version=2.1,
- target_package="android.hardware.automotive.vehicle",
- target_component_name="IVehicle",
- bits=64 if self.dut.is64Bit else 32)
-
- self.vehicle = self.dut.hal.vehicle # shortcut
- self.vehicle.SetCallerUid(system_uid)
- self.vtypes = self.dut.hal.vehicle.GetHidlTypeInterface("types")
- logging.info("vehicle types: %s", self.vtypes)
- self.halProperties = {}
- for config in self.vehicle.getAllPropConfigs():
- logging.info('property %d -> %s', config['prop'], config)
- self.halProperties[config['prop']] = config
-
- def tearDownClass(self):
- """Disables the profiling.
-
- If profiling is enabled for the test, collect the profiling data
- and disable profiling after the test is done.
- """
- if self.profiling.enabled:
- self.profiling.ProcessTraceDataForTestCase(self.dut)
- self.profiling.ProcessAndUploadTraceData()
-
- if self.coverage.enabled:
- self.coverage.SetCoverageData(dut=self.dut, isGlobal=True)
-
- def isPropertySupported(self, propertyId):
- """Check whether a Vehicle HAL property is supported."""
- return propertyId in self.halProperties
-
- def getDiagnosticSupportInfo(self):
- """Check which of the OBD2 diagnostic properties are supported."""
- properties = [self.vtypes.VehicleProperty.OBD2_LIVE_FRAME,
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME,
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO,
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]
- return {x:self.isPropertySupported(x) for x in properties}
-
- class CheckRead(object):
- """An object whose job it is to read a Vehicle HAL property and run
- routine validation checks on the result."""
-
- def __init__(self, test, propertyId, areaId=0):
- """Creates a CheckRead instance.
-
- Args:
- test: the containing testcase object.
- propertyId: the numeric identifier of the vehicle property.
- """
- self.test = test
- self.propertyId = propertyId
- self.areaId = 0
-
- def validateGet(self, status, value):
- """Validate the result of IVehicle.get.
-
- Args:
- status: the StatusCode returned from Vehicle HAL.
- value: the VehiclePropValue returned from Vehicle HAL.
-
- Returns: a VehiclePropValue instance, or None on failure."""
- asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
- asserts.assertNotEqual(value, None)
- asserts.assertEqual(self.propertyId, value['prop'])
- return value
-
- def prepareRequest(self, propValue):
- """Setup this request with any property-specific data.
-
- Args:
- propValue: a dictionary in the format of a VehiclePropValue.
-
- Returns: a dictionary in the format of a VehclePropValue."""
- return propValue
-
- def __call__(self):
- asserts.assertTrue(self.test.isPropertySupported(self.propertyId), "error")
- request = {
- 'prop' : self.propertyId,
- 'timestamp' : 0,
- 'areaId' : self.areaId,
- 'value' : {
- 'int32Values' : [],
- 'floatValues' : [],
- 'int64Values' : [],
- 'bytes' : [],
- 'stringValue' : ""
- }
- }
- request = self.prepareRequest(request)
- requestPropValue = self.test.vtypes.Py2Pb("VehiclePropValue",
- request)
- status, responsePropValue = self.test.vehicle.get(requestPropValue)
- return self.validateGet(status, responsePropValue)
-
- class CheckWrite(object):
- """An object whose job it is to write a Vehicle HAL property and run
- routine validation checks on the result."""
-
- def __init__(self, test, propertyId, areaId=0):
- """Creates a CheckWrite instance.
-
- Args:
- test: the containing testcase object.
- propertyId: the numeric identifier of the vehicle property.
- areaId: the numeric identifier of the vehicle area.
- """
- self.test = test
- self.propertyId = propertyId
- self.areaId = 0
-
- def validateSet(self, status):
- """Validate the result of IVehicle.set.
- Reading back the written-to property to ensure a consistent
- value is fair game for this method.
-
- Args:
- status: the StatusCode returned from Vehicle HAL.
-
- Returns: None."""
- asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
-
- def prepareRequest(self, propValue):
- """Setup this request with any property-specific data.
-
- Args:
- propValue: a dictionary in the format of a VehiclePropValue.
-
- Returns: a dictionary in the format of a VehclePropValue."""
- return propValue
-
- def __call__(self):
- asserts.assertTrue(self.test.isPropertySupported(self.propertyId), "error")
- request = {
- 'prop' : self.propertyId,
- 'timestamp' : 0,
- 'areaId' : self.areaId,
- 'value' : {
- 'int32Values' : [],
- 'floatValues' : [],
- 'int64Values' : [],
- 'bytes' : [],
- 'stringValue' : ""
- }
- }
- request = self.prepareRequest(request)
- requestPropValue = self.test.vtypes.Py2Pb("VehiclePropValue",
- request)
- status = self.test.vehicle.set(requestPropValue)
- return self.validateSet(status)
-
- def testReadObd2LiveFrame(self):
- """Test that one can correctly read the OBD2 live frame."""
- supportInfo = self.getDiagnosticSupportInfo()
- if supportInfo[self.vtypes.VehicleProperty.OBD2_LIVE_FRAME]:
- checkRead = self.CheckRead(self,
- self.vtypes.VehicleProperty.OBD2_LIVE_FRAME)
- checkRead()
- else:
- # live frame not supported by this HAL implementation. done
- logging.info("OBD2_LIVE_FRAME not supported.")
-
- def testReadObd2FreezeFrameInfo(self):
- """Test that one can read the list of OBD2 freeze timestamps."""
- supportInfo = self.getDiagnosticSupportInfo()
- if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO]:
- checkRead = self.CheckRead(self,
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
- checkRead()
- else:
- # freeze frame info not supported by this HAL implementation. done
- logging.info("OBD2_FREEZE_FRAME_INFO not supported.")
-
- def testReadValidObd2FreezeFrame(self):
- """Test that one can read the OBD2 freeze frame data."""
- class FreezeFrameCheckRead(self.CheckRead):
- def __init__(self, test, timestamp):
- self.test = test
- self.propertyId = \
- self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
- self.timestamp = timestamp
- self.areaId = 0
-
- def prepareRequest(self, propValue):
- propValue['value']['int64Values'] = [self.timestamp]
- return propValue
-
- def validateGet(self, status, value):
- # None is acceptable, as a newer fault could have overwritten
- # the one we're trying to read
- if value is not None:
- asserts.assertEqual(self.vtypes.StatusCode.OK, status)
- asserts.assertEqual(self.propertyId, value['prop'])
- asserts.assertEqual(self.timestamp, value['timestamp'])
-
- supportInfo = self.getDiagnosticSupportInfo()
- if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO] \
- and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME]:
- infoCheckRead = self.CheckRead(self,
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
- frameInfos = infoCheckRead()
- timestamps = frameInfos["value"]["int64Values"]
- for timestamp in timestamps:
- freezeCheckRead = FreezeFrameCheckRead(self, timestamp)
- freezeCheckRead()
- for timestamp in invalidTimestamps:
- request = self.emptyValueProperty(
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME)
- status, value = self.vehicle.get(request)
- else:
- # freeze frame not supported by this HAL implementation. done
- logging.info("OBD2_FREEZE_FRAME and _INFO not supported.")
-
- def testReadInvalidObd2FreezeFrame(self):
- """Test that trying to read freeze frame at invalid timestamps
- behaves correctly (i.e. returns an error code)."""
- class FreezeFrameCheckRead(self.CheckRead):
- def __init__(self, test, timestamp):
- self.test = test
- self.propertyId = self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
- self.timestamp = timestamp
- self.areaId = 0
-
- def prepareRequest(self, propValue):
- propValue['value']['int64Values'] = [self.timestamp]
- return propValue
-
- def validateGet(self, status, value):
- # If we get freeze frame data here, something is wrong
- asserts.assertEqual(None, value)
- asserts.assertEqual(
- self.test.vtypes.StatusCode.INVALID_ARG, status)
-
- supportInfo = self.getDiagnosticSupportInfo()
- invalidTimestamps = [0,482005800]
- if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME]:
- for timestamp in invalidTimestamps:
- freezeCheckRead = FreezeFrameCheckRead(self, timestamp)
- freezeCheckRead()
- else:
- # freeze frame not supported by this HAL implementation. done
- logging.info("OBD2_FREEZE_FRAME not supported.")
-
- def testClearValidObd2FreezeFrame(self):
- """Test that deleting a diagnostic freeze frame works.
- Given the timing behavor of OBD2_FREEZE_FRAME, the only sensible
- definition of works here is that, after deleting a frame, trying to read
- at its timestamp, will not be successful."""
- class FreezeFrameClearCheckWrite(self.CheckWrite):
- def __init__(self, test, timestamp):
- self.test = test
- self.propertyId = self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
- self.timestamp = timestamp
- self.areaId = 0
-
- def prepareRequest(self, propValue):
- propValue['value']['int64Values'] = [self.timestamp]
- return propValue
-
- def validateSet(self, status):
- asserts.assertTrue(status in [
- self.test.vtypes.StatusCode.OK,
- self.test.vtypes.StatusCode.INVALID_ARG], "error")
-
- class FreezeFrameCheckRead(self.CheckRead):
- def __init__(self, test, timestamp):
- self.test = test
- self.propertyId = \
- self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
- self.timestamp = timestamp
- self.areaId = 0
-
- def prepareRequest(self, propValue):
- propValue['value']['int64Values'] = [self.timestamp]
- return propValue
-
- def validateGet(self, status, value):
- # If we get freeze frame data here, something is wrong
- asserts.assertEqual(None, value)
- asserts.assertEqual(
- self.test.vtypes.StatusCode.INVALID_ARG, status)
-
- supportInfo = self.getDiagnosticSupportInfo()
- if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO] \
- and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME] \
- and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]:
- infoCheckRead = self.CheckRead(self,
- self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
- frameInfos = infoCheckRead()
- timestamps = frameInfos["value"]["int64Values"]
- for timestamp in timestamps:
- checkWrite = FreezeFrameClearCheckWrite(self, timestamp)
- checkWrite()
- checkRead = FreezeFrameCheckRead(self, timestamp)
- checkRead()
- else:
- # freeze frame not supported by this HAL implementation. done
- logging.info("OBD2_FREEZE_FRAME, _CLEAR and _INFO not supported.")
-
- def testClearInvalidObd2FreezeFrame(self):
- """Test that deleting an invalid freeze frame behaves correctly."""
- class FreezeFrameClearCheckWrite(self.CheckWrite):
- def __init__(self, test, timestamp):
- self.test = test
- self.propertyId = \
- self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
- self.timestamp = timestamp
- self.areaId = 0
-
- def prepareRequest(self, propValue):
- propValue['value']['int64Values'] = [self.timestamp]
- return propValue
-
- def validateSet(self, status):
- asserts.assertEqual(self.test.vtypes.StatusCode.INVALID_ARG,
- status)
-
- supportInfo = self.getDiagnosticSupportInfo()
- if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]:
- invalidTimestamps = [0,482005800]
- for timestamp in invalidTimestamps:
- checkWrite = FreezeFrameClearCheckWrite(self, timestamp)
- checkWrite()
- else:
- # freeze frame not supported by this HAL implementation. done
- logging.info("OBD2_FREEZE_FRAME_CLEAR not supported.")
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/automotive/vehicle/V2_1/host/__init__.py b/automotive/vehicle/V2_1/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/automotive/vehicle/V2_1/host/__init__.py
+++ /dev/null
diff --git a/automotive/vehicle/V2_1/host_profiling/Android.mk b/automotive/vehicle/V2_1/host_profiling/Android.mk
deleted file mode 100644
index 639e3ef..0000000
--- a/automotive/vehicle/V2_1/host_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1HostProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/vehicle/V2_1/host_profiling/AndroidTest.xml b/automotive/vehicle/V2_1/host_profiling/AndroidTest.xml
deleted file mode 100644
index a68c06c..0000000
--- a/automotive/vehicle/V2_1/host_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS VtsHalAutomotiveVehicleV2_1HostProfiling test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HalHidlHostProfilingTest.push"/>
- <option name="cleanup" value="true"/>
- <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/Vehicle.vts->/data/local/tmp/spec/Vehicle.vts"/>
- <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/types.vts->/data/local/tmp/spec/types.vts"/>
- <option name="push" value="DATA/lib/android.hardware.automotive.vehicle.vts.driver@2.1.so->/data/local/tmp/32/android.hardware.automotive.vehicle.vts.driver@2.1.so"/>
- <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle.vts.driver@2.1.so->/data/local/tmp/64/android.hardware.automotive.vehicle.vts.driver@2.1.so"/>
- <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.1-vts.profiler.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.1-vts.profiler.so"/>
- <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.1-vts.profiler.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.1-vts.profiler.so"/>
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VtsHalAutomotiveVehicleV2_1HostProfiling"/>
- <option name="test-case-path" value="vts/testcases/hal/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest"/>
- <option name="enable-profiling" value="true"/>
- <option name="precondition-lshal" value="android.hardware.automotive.vehicle@2.1"/>
- <option name="test-timeout" value="1m"/>
- </test>
-</configuration>
diff --git a/biometrics/fingerprint/V2_1/build/Android.bp b/biometrics/fingerprint/V2_1/build/Android.bp
index 8ab1ab4..c4fb80e 100644
--- a/biometrics/fingerprint/V2_1/build/Android.bp
+++ b/biometrics/fingerprint/V2_1/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/bluetooth/V1_0/build/Android.bp b/bluetooth/V1_0/build/Android.bp
index 9d263bd..d289977 100644
--- a/bluetooth/V1_0/build/Android.bp
+++ b/bluetooth/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/boot/V1_0/build/Android.bp b/boot/V1_0/build/Android.bp
index f3cf3da..f020db0 100644
--- a/boot/V1_0/build/Android.bp
+++ b/boot/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/broadcastradio/V1_0/build/Android.bp b/broadcastradio/V1_0/build/Android.bp
index 286b693..04244cd 100644
--- a/broadcastradio/V1_0/build/Android.bp
+++ b/broadcastradio/V1_0/build/Android.bp
@@ -82,9 +82,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -147,9 +144,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/broadcastradio/V1_1/build/Android.bp b/broadcastradio/V1_1/build/Android.bp
index dd33221..f64c410 100644
--- a/broadcastradio/V1_1/build/Android.bp
+++ b/broadcastradio/V1_1/build/Android.bp
@@ -84,9 +84,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -150,9 +147,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/broadcastradio/V1_1/target/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to broadcastradio/V1_1/target/Android.mk
index ab678f7..7ec9a3c 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/broadcastradio/V1_1/target/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalBroadcastradioV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_1/target
include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_1/target/AndroidTest.xml b/broadcastradio/V1_1/target/AndroidTest.xml
new file mode 100644
index 0000000..00c6a69
--- /dev/null
+++ b/broadcastradio/V1_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBroadcastradioV1_0Target test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBroadcastradioV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.broadcastradio@1.1"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/broadcastradio/V1_1/target_profiling/Android.mk
similarity index 84%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to broadcastradio/V1_1/target_profiling/Android.mk
index ab678f7..a4ee112 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/broadcastradio/V1_1/target_profiling/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalBroadcastradioV1_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_1/target_profiling
include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_1/target_profiling/AndroidTest.xml b/broadcastradio/V1_1/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..07ae310
--- /dev/null
+++ b/broadcastradio/V1_1/target_profiling/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBroadcastradioV1_1TargetProfiling test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="DATA/lib/android.hardware.broadcastradio@1.1-vts.profiler.so->/data/local/tmp/32/android.hardware.broadcastradio@1.1-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.broadcastradio@1.1-vts.profiler.so->/data/local/tmp/64/android.hardware.broadcastradio@1.1-vts.profiler.so"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBroadcastradioV1_1TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.broadcastradio@1.1"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/build/soong/hal2vts.go b/build/soong/hal2vts.go
index 9e79acc..01ac1fd 100644
--- a/build/soong/hal2vts.go
+++ b/build/soong/hal2vts.go
@@ -130,9 +130,11 @@
return h.generatedHeaders
}
-func hal2vtsFactory() (blueprint.Module, []interface{}) {
+func hal2vtsFactory() android.Module {
h := &hal2vts{}
- return android.InitAndroidModule(h, &h.properties)
+ h.AddProperties(&h.properties)
+ android.InitAndroidModule(h)
+ return h
}
func vtsList(config android.Config) *android.Paths {
diff --git a/camera/common/V1_0/build/Android.bp b/camera/common/V1_0/build/Android.bp
index 3af91a2..47e91b2 100644
--- a/camera/common/V1_0/build/Android.bp
+++ b/camera/common/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/camera/device/V1_0/build/Android.bp b/camera/device/V1_0/build/Android.bp
index c0cac42..8232106 100644
--- a/camera/device/V1_0/build/Android.bp
+++ b/camera/device/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -151,9 +148,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/camera/device/V3_2/build/Android.bp b/camera/device/V3_2/build/Android.bp
index 62ac728..9094150 100644
--- a/camera/device/V3_2/build/Android.bp
+++ b/camera/device/V3_2/build/Android.bp
@@ -85,9 +85,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -151,9 +148,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/camera/metadata/V3_2/build/Android.bp b/camera/metadata/V3_2/build/Android.bp
index 96bffd4..ca9b055 100644
--- a/camera/metadata/V3_2/build/Android.bp
+++ b/camera/metadata/V3_2/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/camera/provider/V2_4/build/Android.bp b/camera/provider/V2_4/build/Android.bp
index b4b28da..e80e66c 100644
--- a/camera/provider/V2_4/build/Android.bp
+++ b/camera/provider/V2_4/build/Android.bp
@@ -87,9 +87,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -153,9 +150,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/cas/Android.bp b/cas/Android.bp
new file mode 100644
index 0000000..8c4fa06
--- /dev/null
+++ b/cas/Android.bp
@@ -0,0 +1,7 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+ "V1_0",
+ "native/V1_0",
+]
diff --git a/automotive/vehicle/V2_1/Android.bp b/cas/V1_0/Android.bp
similarity index 100%
copy from automotive/vehicle/V2_1/Android.bp
copy to cas/V1_0/Android.bp
diff --git a/cas/V1_0/build/Android.bp b/cas/V1_0/build/Android.bp
new file mode 100644
index 0000000..0f85302
--- /dev/null
+++ b/cas/V1_0/build/Android.bp
@@ -0,0 +1,151 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+ name: "android.hardware.cas@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.cas@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/1.0/Cas.vts",
+ "android/hardware/cas/1.0/CasListener.vts",
+ "android/hardware/cas/1.0/DescramblerBase.vts",
+ "android/hardware/cas/1.0/MediaCasService.vts",
+ "android/hardware/cas/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.cas@1.0-vts.driver_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/cas/1.0/ $(genDir)/android/hardware/cas/1.0/",
+ srcs: [
+ ":android.hardware.cas@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/1.0/Cas.vts.cpp",
+ "android/hardware/cas/1.0/CasListener.vts.cpp",
+ "android/hardware/cas/1.0/DescramblerBase.vts.cpp",
+ "android/hardware/cas/1.0/MediaCasService.vts.cpp",
+ "android/hardware/cas/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.cas@1.0-vts.driver_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/cas/1.0/ $(genDir)/android/hardware/cas/1.0/",
+ srcs: [
+ ":android.hardware.cas@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/1.0/Cas.vts.h",
+ "android/hardware/cas/1.0/CasListener.vts.h",
+ "android/hardware/cas/1.0/DescramblerBase.vts.h",
+ "android/hardware/cas/1.0/MediaCasService.vts.h",
+ "android/hardware/cas/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.cas@1.0-vts.driver",
+ generated_sources: ["android.hardware.cas@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.cas@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.cas@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libcamera_metadata",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libprotobuf-cpp-full",
+ "libutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "android.hidl.allocator@1.0",
+ "android.hardware.cas@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.cas@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/cas/1.0/ $(genDir)/android/hardware/cas/1.0/",
+ srcs: [
+ ":android.hardware.cas@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/1.0/Cas.vts.cpp",
+ "android/hardware/cas/1.0/CasListener.vts.cpp",
+ "android/hardware/cas/1.0/DescramblerBase.vts.cpp",
+ "android/hardware/cas/1.0/MediaCasService.vts.cpp",
+ "android/hardware/cas/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.cas@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/cas/1.0/ $(genDir)/android/hardware/cas/1.0/",
+ srcs: [
+ ":android.hardware.cas@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/1.0/Cas.vts.h",
+ "android/hardware/cas/1.0/CasListener.vts.h",
+ "android/hardware/cas/1.0/DescramblerBase.vts.h",
+ "android/hardware/cas/1.0/MediaCasService.vts.h",
+ "android/hardware/cas/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.cas@1.0-vts.profiler",
+ generated_sources: ["android.hardware.cas@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.cas@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.cas@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.cas@1.0",
+
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/cas/V1_0/target/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to cas/V1_0/target/Android.mk
index ab678f7..72836ba 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/cas/V1_0/target/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalCasV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/cas/V1_0/target
include test/vts/tools/build/Android.host_config.mk
diff --git a/cas/V1_0/target/AndroidTest.xml b/cas/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..5d87515
--- /dev/null
+++ b/cas/V1_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalCasV1_0Target test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalCasV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCasV1_0TargetTest/VtsHalCasV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCasV1_0TargetTest/VtsHalCasV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.cas@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/Android.bp b/cas/native/V1_0/Android.bp
similarity index 100%
copy from automotive/vehicle/V2_1/Android.bp
copy to cas/native/V1_0/Android.bp
diff --git a/cas/native/V1_0/build/Android.bp b/cas/native/V1_0/build/Android.bp
new file mode 100644
index 0000000..e667395
--- /dev/null
+++ b/cas/native/V1_0/build/Android.bp
@@ -0,0 +1,139 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+ name: "android.hardware.cas.native@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.cas.native@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/native/1.0/Descrambler.vts",
+ "android/hardware/cas/native/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.cas.native@1.0-vts.driver_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas.native@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/cas/native/1.0/ $(genDir)/android/hardware/cas/native/1.0/",
+ srcs: [
+ ":android.hardware.cas.native@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/native/1.0/Descrambler.vts.cpp",
+ "android/hardware/cas/native/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.cas.native@1.0-vts.driver_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas.native@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/cas/native/1.0/ $(genDir)/android/hardware/cas/native/1.0/",
+ srcs: [
+ ":android.hardware.cas.native@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/native/1.0/Descrambler.vts.h",
+ "android/hardware/cas/native/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.cas.native@1.0-vts.driver",
+ generated_sources: ["android.hardware.cas.native@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.cas.native@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.cas.native@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libcamera_metadata",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libprotobuf-cpp-full",
+ "libutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "android.hidl.allocator@1.0",
+ "android.hardware.cas.native@1.0",
+ "android.hardware.cas@1.0",
+ "android.hardware.cas@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.cas@1.0",
+ "android.hardware.cas@1.0-vts.driver",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.cas.native@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas.native@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/cas/native/1.0/ $(genDir)/android/hardware/cas/native/1.0/",
+ srcs: [
+ ":android.hardware.cas.native@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/native/1.0/Descrambler.vts.cpp",
+ "android/hardware/cas/native/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.cas.native@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.cas.native@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/cas/native/1.0/ $(genDir)/android/hardware/cas/native/1.0/",
+ srcs: [
+ ":android.hardware.cas.native@1.0_hal",
+ ],
+ out: [
+ "android/hardware/cas/native/1.0/Descrambler.vts.h",
+ "android/hardware/cas/native/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.cas.native@1.0-vts.profiler",
+ generated_sources: ["android.hardware.cas.native@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.cas.native@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.cas.native@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.cas.native@1.0",
+ "android.hardware.cas@1.0",
+ "android.hardware.cas@1.0-vts.profiler",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/configstore/V1_0/build/Android.bp b/configstore/V1_0/build/Android.bp
index 26fec59..373af03 100644
--- a/configstore/V1_0/build/Android.bp
+++ b/configstore/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/configstore/V1_0/target_replay/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to configstore/V1_0/target_replay/Android.mk
index ab678f7..2132348 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/configstore/V1_0/target_replay/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalConfigstoreV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_0/target_replay
include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_0/target_replay/AndroidTest.xml b/configstore/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..b6d5d8c
--- /dev/null
+++ b/configstore/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalConfigstoreV1_0TargetReplay test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlHostTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/configstore/1.0/vts/SurfaceFlingerConfigs.vts->/data/local/tmp/spec/android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts"/>
+ <option name="push" value="spec/hardware/interfaces/configstore/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/configstore/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.configstore@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.configstore@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.configstore@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.configstore@1.0-vts.driver.so"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalConfigstoreV1_0TargetReplay"/>
+ <option name="binary-test-type" value="hal_hidl_replay_test"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/configstore/V1_0/android.hardware.configstore_1.0_16680329225052.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.configstore@1.0"/>
+ <option name="precondition-lshal" value="android.hardware.configstore@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_0/build/Android.bp b/contexthub/V1_0/build/Android.bp
index 9a16c0a..f1af8e5 100644
--- a/contexthub/V1_0/build/Android.bp
+++ b/contexthub/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/drm/V1_0/build/Android.bp b/drm/V1_0/build/Android.bp
index 729cc45..81bb65c 100644
--- a/drm/V1_0/build/Android.bp
+++ b/drm/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -152,9 +149,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/drm/V1_0/target/AndroidTest.xml b/drm/V1_0/target/AndroidTest.xml
index 9570ee7..132c9c0 100644
--- a/drm/V1_0/target/AndroidTest.xml
+++ b/drm/V1_0/target/AndroidTest.xml
@@ -17,8 +17,8 @@
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
<option name="abort-on-push-failure" value="false"/>
<option name="push-group" value="HalHidlTargetTest.push"/>
- <option name="push" value="DATA/lib/drm-vts-test-libs->/data/local/tmp/32/lib"/>
- <option name="push" value="DATA/lib64/drm-vts-test-libs->/data/local/tmp/64/lib"/>
+ <option name="push" value="vendor/lib/drm-vts-test-libs->/data/local/tmp/32/lib"/>
+ <option name="push" value="vendor/lib64/drm-vts-test-libs->/data/local/tmp/64/lib"/>
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
diff --git a/drm/V1_0/target_profiling/AndroidTest.xml b/drm/V1_0/target_profiling/AndroidTest.xml
index f936094..071123c 100644
--- a/drm/V1_0/target_profiling/AndroidTest.xml
+++ b/drm/V1_0/target_profiling/AndroidTest.xml
@@ -18,8 +18,8 @@
<option name="abort-on-push-failure" value="false"/>
<option name="push-group" value="HalHidlTargetProfilingTest.push"/>
<option name="cleanup" value="true"/>
- <option name="push" value="DATA/lib/drm-vts-test-libs->/data/local/tmp/32/lib"/>
- <option name="push" value="DATA/lib64/drm-vts-test-libs->/data/local/tmp/64/lib"/>
+ <option name="push" value="vendor/lib/drm-vts-test-libs->/data/local/tmp/32/lib"/>
+ <option name="push" value="vendor/lib64/drm-vts-test-libs->/data/local/tmp/64/lib"/>
<option name="push" value="DATA/lib/android.hardware.drm@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.drm@1.0-vts.profiler.so"/>
<option name="push" value="DATA/lib64/android.hardware.drm@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.drm@1.0-vts.profiler.so"/>
</target_preparer>
diff --git a/dumpstate/V1_0/build/Android.bp b/dumpstate/V1_0/build/Android.bp
index 6da14ea..27c5f48 100644
--- a/dumpstate/V1_0/build/Android.bp
+++ b/dumpstate/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/dumpstate/V1_0/target/Android.mk
similarity index 86%
rename from automotive/vehicle/V2_1/host/Android.mk
rename to dumpstate/V1_0/target/Android.mk
index ab678f7..04ea176 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/dumpstate/V1_0/target/Android.mk
@@ -18,6 +18,7 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalDumpstateV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/dumpstate/V1_0/target
include test/vts/tools/build/Android.host_config.mk
+
diff --git a/dumpstate/V1_0/target/AndroidTest.xml b/dumpstate/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..14431d7
--- /dev/null
+++ b/dumpstate/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VtsHalDumpstateV1_0Target test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDumpstateV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDumpstateV1_0TargetTest/VtsHalDumpstateV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDumpstateV1_0TargetTest/VtsHalDumpstateV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.dumpstate@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/gatekeeper/V1_0/build/Android.bp b/gatekeeper/V1_0/build/Android.bp
index c566980..b9d3330 100644
--- a/gatekeeper/V1_0/build/Android.bp
+++ b/gatekeeper/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/gatekeeper/V1_0/target_replay/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to gatekeeper/V1_0/target_replay/Android.mk
index ab678f7..d53e149 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/gatekeeper/V1_0/target_replay/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalGatekeeperV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/V1_0/target_replay
include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/V1_0/target_replay/AndroidTest.xml b/gatekeeper/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..9d1cf7e
--- /dev/null
+++ b/gatekeeper/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGatekeeperV1_0TargetReplay test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlHostTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/gatekeeper/1.0/vts/Gatekeeper.vts->/data/local/tmp/spec/android/hardware/gatekeeper/1.0/Gatekeeper.vts"/>
+ <option name="push" value="spec/hardware/interfaces/gatekeeper/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/gatekeeper/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.gatekeeper@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.gatekeeper@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.gatekeeper@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.gatekeeper@1.0-vts.driver.so"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGatekeeperV1_0TargetReplay"/>
+ <option name="binary-test-type" value="hal_hidl_replay_test"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/gatekeeper/V1_0/android.hardware.gatekeeper_1.0_450525506023.vts.trace"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/gatekeeper/V1_0/android.hardware.gatekeeper_1.0_39493054816.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.gatekeeper@1.0"/>
+ <option name="precondition-lshal" value="android.hardware.gatekeeper@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/gnss/V1_0/build/Android.bp b/gnss/V1_0/build/Android.bp
index 214de8b..338033f 100644
--- a/gnss/V1_0/build/Android.bp
+++ b/gnss/V1_0/build/Android.bp
@@ -130,9 +130,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -227,9 +224,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/graphics/allocator/V2_0/build/Android.bp b/graphics/allocator/V2_0/build/Android.bp
index b442eef..ed5ddd2 100644
--- a/graphics/allocator/V2_0/build/Android.bp
+++ b/graphics/allocator/V2_0/build/Android.bp
@@ -72,9 +72,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -130,9 +127,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/graphics/bufferqueue/V1_0/build/Android.bp b/graphics/bufferqueue/V1_0/build/Android.bp
index 512dfa9..d9a996c 100644
--- a/graphics/bufferqueue/V1_0/build/Android.bp
+++ b/graphics/bufferqueue/V1_0/build/Android.bp
@@ -79,9 +79,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -141,9 +138,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/graphics/common/V1_0/build/Android.bp b/graphics/common/V1_0/build/Android.bp
index 07d50dc..e5c1d82 100644
--- a/graphics/common/V1_0/build/Android.bp
+++ b/graphics/common/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/graphics/composer/V2_1/build/Android.bp b/graphics/composer/V2_1/build/Android.bp
index 8014599..9ed171a 100644
--- a/graphics/composer/V2_1/build/Android.bp
+++ b/graphics/composer/V2_1/build/Android.bp
@@ -81,9 +81,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -145,9 +142,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/graphics/composer/V2_1/target/AndroidTest.xml b/graphics/composer/V2_1/target/AndroidTest.xml
index 1cadf5b..56ea097 100644
--- a/graphics/composer/V2_1/target/AndroidTest.xml
+++ b/graphics/composer/V2_1/target/AndroidTest.xml
@@ -26,8 +26,20 @@
<option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
<option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
<option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="exclude-filter" value="r(.*/default.*)" />
+ <option name="precondition-lshal" value="android.hardware.graphics.composer@2.1"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsComposerV2_1Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
<option name="binary-test-disable-framework" value="true"/>
<option name="binary-test-stop-native-servers" value="true"/>
+ <option name="exclude-filter" value="r(.*/vr.*)" />
<option name="precondition-lshal" value="android.hardware.graphics.composer@2.1"/>
<option name="test-timeout" value="5m"/>
</test>
diff --git a/graphics/composer/V2_1/target_profiling/AndroidTest.xml b/graphics/composer/V2_1/target_profiling/AndroidTest.xml
index 240e6c2..eb10402 100644
--- a/graphics/composer/V2_1/target_profiling/AndroidTest.xml
+++ b/graphics/composer/V2_1/target_profiling/AndroidTest.xml
@@ -32,6 +32,7 @@
<option name="binary-test-disable-framework" value="true"/>
<option name="binary-test-stop-native-servers" value="true"/>
<option name="enable-profiling" value="true"/>
+ <option name="exclude-filter" value="r(.*/vr.*)" />
<option name="precondition-lshal" value="android.hardware.graphics.composer@2.1"/>
<option name="test-timeout" value="5m"/>
</test>
diff --git a/graphics/mapper/V2_0/build/Android.bp b/graphics/mapper/V2_0/build/Android.bp
index 1707a07..0af0d66 100644
--- a/graphics/mapper/V2_0/build/Android.bp
+++ b/graphics/mapper/V2_0/build/Android.bp
@@ -75,9 +75,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -135,9 +132,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/health/V1_0/build/Android.bp b/health/V1_0/build/Android.bp
index 2e621ce..ea7c913 100644
--- a/health/V1_0/build/Android.bp
+++ b/health/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/ir/V1_0/build/Android.bp b/ir/V1_0/build/Android.bp
index b2e9e7c..2b91e17 100644
--- a/ir/V1_0/build/Android.bp
+++ b/ir/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/keymaster/V3_0/build/Android.bp b/keymaster/V3_0/build/Android.bp
index 055a2e6..c8f9127 100644
--- a/keymaster/V3_0/build/Android.bp
+++ b/keymaster/V3_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/light/V2_0/build/Android.bp b/light/V2_0/build/Android.bp
index b4cfd7e..ea2a888 100644
--- a/light/V2_0/build/Android.bp
+++ b/light/V2_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/media/V1_0/build/Android.bp b/media/V1_0/build/Android.bp
index 2354adf..1ea4f95 100644
--- a/media/V1_0/build/Android.bp
+++ b/media/V1_0/build/Android.bp
@@ -72,9 +72,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -130,9 +127,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/media/omx/V1_0/build/Android.bp b/media/omx/V1_0/build/Android.bp
index 7308f9d..0465545 100644
--- a/media/omx/V1_0/build/Android.bp
+++ b/media/omx/V1_0/build/Android.bp
@@ -98,9 +98,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -172,9 +169,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/media/omx/V1_0/host/AndroidTest.xml b/media/omx/V1_0/host/AndroidTest.xml
index eec58b8..327bc73 100644
--- a/media/omx/V1_0/host/AndroidTest.xml
+++ b/media/omx/V1_0/host/AndroidTest.xml
@@ -35,10 +35,14 @@
<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_1920x1080_5000kbps_30fps.h264->/sdcard/media/bbb_avc_1920x1080_5000kbps_30fps.h264"/>
<option name="push" value="DATA/media/res/bbb_avc_1920x1080_5000kbps_30fps.info->/sdcard/media/bbb_avc_1920x1080_5000kbps_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"/>
@@ -46,14 +50,22 @@
<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_1280x720_1000kbps_25fps.m4v->/sdcard/media/bbb_mpeg4_1280x720_1000kbps_25fps.m4v"/>
<option name="push" value="DATA/media/res/bbb_mpeg4_1280x720_1000kbps_25fps.info->/sdcard/media/bbb_mpeg4_1280x720_1000kbps_25fps.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"/>
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/media/omx/V1_0/host_omxstore/Android.mk
similarity index 86%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to media/omx/V1_0/host_omxstore/Android.mk
index ab678f7..7f178b2 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/media/omx/V1_0/host_omxstore/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalMediaOmxStoreV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/media/omx/V1_0/host_omxstore
include test/vts/tools/build/Android.host_config.mk
diff --git a/media/omx/V1_0/host_omxstore/AndroidTest.xml b/media/omx/V1_0/host_omxstore/AndroidTest.xml
new file mode 100644
index 0000000..ee9d3e8
--- /dev/null
+++ b/media/omx/V1_0/host_omxstore/AndroidTest.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalMediaOmxStoreV1_0Host test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="true"/>
+ <option name="push-group" value="HalHidlHostTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/GraphicBufferSource.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/GraphicBufferSource.vts"/>
+ <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/Omx.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/Omx.vts"/>
+ <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxBufferSource.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxBufferSource.vts"/>
+ <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxNode.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxNode.vts"/>
+ <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxObserver.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxObserver.vts"/>
+ <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxStore.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxStore.vts"/>
+ <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/types.vts"/>
+ <option name="push" value="spec/hardware/interfaces/graphics/common/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/graphics/common/1.0/types.vts"/>
+ <option name="push" value="spec/hardware/interfaces/media/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/media/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.graphics.bufferqueue@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.graphics.bufferqueue@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.graphics.bufferqueue@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.graphics.bufferqueue@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib/android.hardware.graphics.common@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.graphics.common@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.graphics.common@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.graphics.common@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib/android.hardware.media@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.media@1.0-vts.driver.so"/>
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalMediaOmxStoreV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest"/>
+ <option name="hal-hidl-package-name" value="android.hardware.media.omx@1.0"/>
+ <option name="precondition-lshal" value="android.hardware.media.omx@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest.py b/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest.py
new file mode 100644
index 0000000..a8176d7
--- /dev/null
+++ b/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest.py
@@ -0,0 +1,470 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+"""This module is for VTS test cases involving IOmxStore and IOmx::listNodes().
+
+VtsHalMediaOmxStoreV1_0Host derives from base_test.BaseTestClass. It contains
+two independent tests: testListServiceAttributes() and
+testQueryCodecInformation(). The first one tests
+IOmxStore::listServiceAttributes() while the second one test multiple functions
+in IOmxStore as well as check the consistency of the return values with
+IOmx::listNodes().
+
+"""
+
+import logging
+import re
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import test_runner
+from vts.utils.python.controllers import android_device
+from vts.utils.python.precondition import precondition_utils
+
+
+class VtsHalMediaOmxStoreV1_0Host(base_test.BaseTestClass):
+ """Host test class to run the Media_OmxStore HAL."""
+
+ def setUpClass(self):
+ self.dut = self.registerController(android_device)[0]
+
+ self.dut.shell.InvokeTerminal('one')
+ self.dut.shell.one.Execute('setenforce 0') # SELinux permissive mode
+ if not precondition_utils.CanRunHidlHalTest(
+ self, self.dut, self.dut.shell.one):
+ self._skip_all_testcases = True
+ return
+
+ self.dut.hal.InitHidlHal(
+ target_type='media_omx',
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package='android.hardware.media.omx',
+ target_component_name='IOmxStore',
+ bits=int(self.abi_bitness))
+
+ self.omxstore = self.dut.hal.media_omx
+ self.vtypes = self.omxstore.GetHidlTypeInterface('types')
+
+ if self.coverage.enabled:
+ self.coverage.LoadArtifacts()
+ self.coverage.InitializeDeviceCoverage(self._dut)
+
+ def testListServiceAttributes(self):
+ """Test IOmxStore::listServiceAttributes().
+
+ Tests that IOmxStore::listServiceAttributes() can be called
+ successfully and returns sensible attributes.
+
+ An attribute has a name (key) and a value. Known attributes (represented
+ by variable "known" below) have certain specifications for valid values.
+ Unknown attributes that start with 'supports-' should only have '0' or
+ '1' as their value. Other unknown attributes do not cause the test to
+ fail, but are reported as warnings in the host log.
+
+ """
+
+ status, attributes = self.omxstore.listServiceAttributes()
+ asserts.assertEqual(self.vtypes.Status.OK, status,
+ 'listServiceAttributes() fails.')
+
+ # known is a dictionary whose keys are the known "key" for a service
+ # attribute pair (see IOmxStore::Attribute), and whose values are the
+ # corresponding regular expressions that will have to match with the
+ # "value" of the attribute pair. If listServiceAttributes() returns an
+ # attribute that has a matching key but an unmatched value, the test
+ # will fail.
+ known = {
+ 'max-video-encoder-input-buffers': re.compile('0|[1-9][0-9]*'),
+ 'supports-multiple-secure-codecs': re.compile('0|1'),
+ 'supports-secure-with-non-secure-codec': re.compile('0|1'),
+ }
+ # unknown is a list of pairs of regular expressions. For each attribute
+ # whose key is not known (i.e., does not match any of the keys in the
+ # "known" variable defined above), that key will be tried for a match
+ # with the first element of each pair of the variable "unknown". If a
+ # match occurs, the value of that same attribute will be tried for a
+ # match with the second element of the pair. If this second match fails,
+ # the test will fail.
+ unknown = [
+ (re.compile(r'supports-[a-z0-9\-]*'), re.compile('0|1')),
+ ]
+
+ # key_set is used to verify that listServiceAttributes() does not return
+ # duplicate attribute names.
+ key_set = set()
+ for attr in attributes:
+ attr_key = attr['key']
+ attr_value = attr['value']
+
+ # attr_key must not have been seen before.
+ assert(
+ attr_key not in key_set,
+ 'Service attribute "' + attr_key + '" has duplicates.')
+ key_set.add(attr_key)
+
+ if attr_key in known:
+ asserts.assertTrue(
+ known[attr_key].match(attr_value),
+ 'Service attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ else:
+ matched = False
+ for key_re, value_re in unknown:
+ if key_re.match(attr_key):
+ asserts.assertTrue(
+ value_re.match(attr_value),
+ 'Service attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ matched = True
+ if not matched:
+ logging.warning(
+ 'Unrecognized service attribute "' + attr_key + '" ' +
+ 'with value "' + attr_value + '".')
+
+ def testQueryCodecInformation(self):
+ """Query and verify information from IOmxStore and IOmx::listNodes().
+
+ This function performs three main checks:
+ 1. Information about roles and nodes returned from
+ IOmxStore::listRoles() conforms to the specifications in
+ IOmxStore.hal.
+ 2. Each node present in the information returned from
+ IOmxStore::listRoles() must be supported by its owner. A node is
+ considered "supported" by its owner if the IOmx instance
+ corresponding to that owner returns that node and all associated
+ roles when IOmx::listNodes() is called.
+ 3. The prefix string obtained form IOmxStore::getNodePrefix() must be
+ sensible, and is indeed a prefix of all the node names.
+
+ In step 1, node attributes are validated in the same manner as how
+ service attributes are validated in testListServiceAttributes().
+ Role names and mime types must be recognized by the function get_role()
+ defined below.
+
+ """
+
+ # Basic patterns for matching
+ class Pattern(object):
+ toggle = '(0|1)'
+ string = '(.*)'
+ num = '(0|([1-9][0-9]*))'
+ size = '(' + num + 'x' + num + ')'
+ ratio = '(' + num + ':' + num + ')'
+ range_num = '((' + num + '-' + num + ')|' + num + ')'
+ range_size = '((' + size + '-' + size + ')|' + size + ')'
+ range_ratio = '((' + ratio + '-' + ratio + ')|' + ratio + ')'
+ list_range_num = '(' + range_num + '(,' + range_num + ')*)'
+
+ # Matching rules for node attributes with fixed keys
+ attr_re = {
+ 'alignment' : Pattern.size,
+ 'bitrate-range' : Pattern.range_num,
+ 'block-aspect-ratio-range' : Pattern.range_ratio,
+ 'block-count-range' : Pattern.range_num,
+ 'block-size' : Pattern.size,
+ 'blocks-per-second-range' : Pattern.range_num,
+ 'complexity-default' : Pattern.num,
+ 'complexity-range' : Pattern.range_num,
+ 'feature-adaptive-playback' : Pattern.toggle,
+ 'feature-bitrate-control' : '(VBR|CBR|CQ)[,(VBR|CBR|CQ)]*',
+ 'feature-can-swap-width-height' : Pattern.toggle,
+ 'feature-intra-refresh' : Pattern.toggle,
+ 'feature-partial-frame' : Pattern.toggle,
+ 'feature-secure-playback' : Pattern.toggle,
+ 'feature-tunneled-playback' : Pattern.toggle,
+ 'frame-rate-range' : Pattern.range_num,
+ 'max-channel-count' : Pattern.num,
+ 'max-concurrent-instances' : Pattern.num,
+ 'max-supported-instances' : Pattern.num,
+ 'pixel-aspect-ratio-range' : Pattern.range_ratio,
+ 'quality-default' : Pattern.num,
+ 'quality-range' : Pattern.range_num,
+ 'quality-scale' : Pattern.string,
+ 'sample-rate-ranges' : Pattern.list_range_num,
+ 'size-range' : Pattern.range_size,
+ }
+
+ # Matching rules for node attributes with key patterns
+ attr_pattern_re = [
+ ('measured-frame-rate-' + Pattern.size +
+ '-range', Pattern.range_num),
+ (r'feature-[a-zA-Z0-9_\-]+', Pattern.string),
+ ]
+
+ # Matching rules for node names and owners
+ node_name_re = r'[a-zA-Z0-9.\-]+'
+ node_owner_re = r'[a-zA-Z0-9._\-]+'
+
+ # Compile all regular expressions
+ for key in attr_re:
+ attr_re[key] = re.compile(attr_re[key])
+ for index, value in enumerate(attr_pattern_re):
+ attr_pattern_re[index] = (re.compile(value[0]),
+ re.compile(value[1]))
+ node_name_re = re.compile(node_name_re)
+ node_owner_re = re.compile(node_owner_re)
+
+ # Mapping from mime types to roles.
+ # These values come from MediaDefs.cpp and OMXUtils.cpp
+ audio_mime_to_role = {
+ '3gpp' : 'amrnb',
+ 'ac3' : 'ac3',
+ 'amr-wb' : 'amrwb',
+ 'eac3' : 'eac3',
+ 'flac' : 'flac',
+ 'g711-alaw' : 'g711alaw',
+ 'g711-mlaw' : 'g711mlaw',
+ 'gsm' : 'gsm',
+ 'mp4a-latm' : 'aac',
+ 'mpeg' : 'mp3',
+ 'mpeg-L1' : 'mp1',
+ 'mpeg-L2' : 'mp2',
+ 'opus' : 'opus',
+ 'raw' : 'raw',
+ 'vorbis' : 'vorbis',
+ }
+ video_mime_to_role = {
+ '3gpp' : 'h263',
+ 'avc' : 'avc',
+ 'dolby-vision' : 'dolby-vision',
+ 'hevc' : 'hevc',
+ 'mp4v-es' : 'mpeg4',
+ 'mpeg2' : 'mpeg2',
+ 'x-vnd.on2.vp8' : 'vp8',
+ 'x-vnd.on2.vp9' : 'vp9',
+ }
+ def get_role(is_encoder, mime):
+ """Returns the role based on is_encoder and mime.
+
+ The mapping from a pair (is_encoder, mime) to a role string is
+ defined in frameworks/av/media/libmedia/MediaDefs.cpp and
+ frameworks/av/media/libstagefright/omx/OMXUtils.cpp. This function
+ does essentially the same work as GetComponentRole() in
+ OMXUtils.cpp.
+
+ Args:
+ is_encoder: A boolean indicating whether the role is for an
+ encoder or a decoder.
+ mime: A string of the desired mime type.
+
+ Returns:
+ A string for the requested role name, or None if mime is not
+ recognized.
+ """
+ mime_suffix = mime[6:]
+ middle = 'encoder.' if is_encoder else 'decoder.'
+ if mime.startswith('audio/'):
+ if mime_suffix not in audio_mime_to_role:
+ return None
+ prefix = 'audio_'
+ suffix = audio_mime_to_role[mime_suffix]
+ elif mime.startswith('video/'):
+ if mime_suffix not in video_mime_to_role:
+ return None
+ prefix = 'video_'
+ suffix = video_mime_to_role[mime_suffix]
+ else:
+ return None
+ return prefix + middle + suffix
+
+ # The test code starts here.
+ roles = self.omxstore.listRoles()
+
+ # A map from a node name to a set of roles.
+ node2roles = {}
+
+ # A map from an owner to a set of node names.
+ owner2nodes = {}
+
+ logging.info('Testing IOmxStore::listRoles()...')
+ # role_set is used for checking if there are duplicate roles.
+ role_set = set()
+ for role in roles:
+ role_name = role['role']
+ mime_type = role['type']
+ is_encoder = role['isEncoder']
+ nodes = role['nodes']
+
+ # The role name must not have duplicates.
+ asserts.assertFalse(
+ role_name in role_set,
+ 'Role "' + role_name + '" has duplicates.')
+
+ queried_role = get_role(is_encoder, mime_type)
+ # type and isEncoder must be known.
+ asserts.assertTrue(
+ queried_role,
+ 'Invalid mime type "' + mime_type + '" for ' +
+ ('an encoder.' if is_encoder else 'a decoder.'))
+ # type and isEncoder must be consistent with role.
+ asserts.assertEqual(
+ role_name, queried_role,
+ 'Role "' + role_name + '" does not match ' +
+ ('an encoder ' if is_encoder else 'a decoder ') +
+ 'for mime type "' + mime_type + '"')
+
+ # Save the role name to check for duplicates.
+ role_set.add(role_name)
+
+ # Ignore role.preferPlatformNodes for now.
+
+ # node_set is used for checking if there are duplicate node names
+ # for each role.
+ node_set = set()
+ for node in nodes:
+ node_name = node['name']
+ owner = node['owner']
+ attributes = node['attributes']
+
+ # For each role, the node name must not have duplicates.
+ asserts.assertFalse(
+ node_name in node_set,
+ 'Node "' + node_name + '" has duplicates for the same ' +
+ 'role "' + queried_role + '".')
+
+ # Check the format of node name
+ asserts.assertTrue(
+ node_name_re.match(node_name),
+ 'Node name "' + node_name + '" is invalid.')
+ # Check the format of node owner
+ asserts.assertTrue(
+ node_owner_re.match(owner),
+ 'Node owner "' + owner + '" is invalid.')
+
+ attr_map = {}
+ for attr in attributes:
+ attr_key = attr['key']
+ attr_value = attr['value']
+
+ # For each node and each role, the attribute key must not
+ # have duplicates.
+ asserts.assertFalse(
+ attr_key in attr_map,
+ 'Attribute "' + attr_key +
+ '" for node "' + node_name +
+ '"has duplicates.')
+
+ # Check the value against the corresponding regular
+ # expression.
+ if attr_key in attr_re:
+ asserts.assertTrue(
+ attr_re[attr_key].match(attr_value),
+ 'Attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ else:
+ key_found = False
+ for pattern_key, pattern_value in attr_pattern_re:
+ if pattern_key.match(attr_key):
+ asserts.assertTrue(
+ pattern_value.match(attr_value),
+ 'Attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ key_found = True
+ break
+ if not key_found:
+ logging.warning(
+ 'Unknown attribute "' +
+ attr_key + '" with value "' +
+ attr_value + '".')
+
+ # Store the key-value pair
+ attr_map[attr_key] = attr_value
+
+ if node_name not in node2roles:
+ node2roles[node_name] = {queried_role,}
+ if owner not in owner2nodes:
+ owner2nodes[owner] = {node_name,}
+ else:
+ owner2nodes[owner].add(node_name)
+ else:
+ node2roles[node_name].add(queried_role)
+
+ # Verify the information with IOmx::listNodes().
+ # IOmxStore::listRoles() and IOmx::listNodes() should give consistent
+ # information about nodes and roles.
+ logging.info('Verifying with IOmx::listNodes()...')
+ for owner in owner2nodes:
+ # Obtain the IOmx instance for each "owner"
+ omx = self.omxstore.getOmx(owner)
+ asserts.assertTrue(
+ omx,
+ 'Cannot obtain IOmx instance "' + owner + '".')
+
+ # Invoke IOmx::listNodes()
+ status, node_info_list = omx.listNodes()
+ asserts.assertEqual(
+ self.vtypes.Status.OK, status,
+ 'IOmx::listNodes() fails for IOmx instance "' + owner + '".')
+
+ # Verify that roles for each node match with the information from
+ # IOmxStore::listRoles().
+ node_set = set()
+ for node_info in node_info_list:
+ node = node_info['mName']
+ roles = node_info['mRoles']
+
+ # IOmx::listNodes() should not list duplicate node names.
+ asserts.assertFalse(
+ node in node_set,
+ 'IOmx::listNodes() lists duplicate nodes "' + node + '".')
+ node_set.add(node)
+
+ # Skip "hidden" nodes, i.e. those that are not advertised by
+ # IOmxStore::listRoles().
+ if node not in owner2nodes[owner]:
+ logging.warning(
+ 'IOmx::listNodes() lists unknown node "' + node +
+ '" for IOmx instance "' + owner + '".')
+ continue
+
+ # All the roles advertised by IOmxStore::listRoles() for this
+ # node must be included in role_set.
+ role_set = set(roles)
+ asserts.assertTrue(
+ node2roles[node] <= role_set,
+ 'IOmx::listNodes() for IOmx instance "' + owner + '" ' +
+ 'does not report some roles for node "' + node + '": ' +
+ ', '.join(node2roles[node] - role_set))
+
+ # Check that all nodes obtained from IOmxStore::listRoles() are
+ # supported by the their corresponding IOmx instances.
+ node_set_diff = owner2nodes[owner] - node_set
+ asserts.assertFalse(
+ node_set_diff,
+ 'IOmx::listNodes() for IOmx instance "' + owner + '" ' +
+ 'does not report some expected nodes: ' +
+ ', '.join(node_set_diff) + '.')
+
+ # Call IOmxStore::getNodePrefix().
+ prefix = self.omxstore.getNodePrefix()
+ logging.info('Checking node prefix: ' +
+ 'IOmxStore::getNodePrefix() returns "' + prefix + '".')
+
+ # Check that the prefix is a sensible string.
+ asserts.assertTrue(
+ node_name_re.match(prefix),
+ '"' + prefix + '" is not a valid prefix for node names.')
+
+ # Check that all node names have the said prefix.
+ for node in node2roles:
+ asserts.assertTrue(
+ node.startswith(prefix),
+ 'Node "' + node + '" does not start with ' +
+ 'prefix "' + prefix + '".')
+
+if __name__ == '__main__':
+ test_runner.main()
diff --git a/automotive/vehicle/V2_1/__init__.py b/media/omx/V1_0/host_omxstore/__init__.py
similarity index 100%
copy from automotive/vehicle/V2_1/__init__.py
copy to media/omx/V1_0/host_omxstore/__init__.py
diff --git a/memtrack/V1_0/build/Android.bp b/memtrack/V1_0/build/Android.bp
index 1801bf8..0da1ffe 100644
--- a/memtrack/V1_0/build/Android.bp
+++ b/memtrack/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/neuralnetworks/Android.bp b/neuralnetworks/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/neuralnetworks/Android.bp
@@ -0,0 +1,6 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+ "V1_0",
+]
diff --git a/automotive/vehicle/V2_1/Android.bp b/neuralnetworks/V1_0/Android.bp
similarity index 100%
copy from automotive/vehicle/V2_1/Android.bp
copy to neuralnetworks/V1_0/Android.bp
diff --git a/neuralnetworks/V1_0/build/Android.bp b/neuralnetworks/V1_0/build/Android.bp
new file mode 100644
index 0000000..e0229a9
--- /dev/null
+++ b/neuralnetworks/V1_0/build/Android.bp
@@ -0,0 +1,146 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+ name: "android.hardware.neuralnetworks@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.neuralnetworks@1.0_hal",
+ ],
+ out: [
+ "android/hardware/neuralnetworks/1.0/Device.vts",
+ "android/hardware/neuralnetworks/1.0/Event.vts",
+ "android/hardware/neuralnetworks/1.0/PreparedModel.vts",
+ "android/hardware/neuralnetworks/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.neuralnetworks@1.0-vts.driver_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+ srcs: [
+ ":android.hardware.neuralnetworks@1.0_hal",
+ ],
+ out: [
+ "android/hardware/neuralnetworks/1.0/Device.vts.cpp",
+ "android/hardware/neuralnetworks/1.0/Event.vts.cpp",
+ "android/hardware/neuralnetworks/1.0/PreparedModel.vts.cpp",
+ "android/hardware/neuralnetworks/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.neuralnetworks@1.0-vts.driver_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+ srcs: [
+ ":android.hardware.neuralnetworks@1.0_hal",
+ ],
+ out: [
+ "android/hardware/neuralnetworks/1.0/Device.vts.h",
+ "android/hardware/neuralnetworks/1.0/Event.vts.h",
+ "android/hardware/neuralnetworks/1.0/PreparedModel.vts.h",
+ "android/hardware/neuralnetworks/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.neuralnetworks@1.0-vts.driver",
+ generated_sources: ["android.hardware.neuralnetworks@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.neuralnetworks@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.neuralnetworks@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libcamera_metadata",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libprotobuf-cpp-full",
+ "libutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "android.hidl.allocator@1.0",
+ "android.hardware.neuralnetworks@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.neuralnetworks@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+ srcs: [
+ ":android.hardware.neuralnetworks@1.0_hal",
+ ],
+ out: [
+ "android/hardware/neuralnetworks/1.0/Device.vts.cpp",
+ "android/hardware/neuralnetworks/1.0/Event.vts.cpp",
+ "android/hardware/neuralnetworks/1.0/PreparedModel.vts.cpp",
+ "android/hardware/neuralnetworks/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.neuralnetworks@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+ srcs: [
+ ":android.hardware.neuralnetworks@1.0_hal",
+ ],
+ out: [
+ "android/hardware/neuralnetworks/1.0/Device.vts.h",
+ "android/hardware/neuralnetworks/1.0/Event.vts.h",
+ "android/hardware/neuralnetworks/1.0/PreparedModel.vts.h",
+ "android/hardware/neuralnetworks/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.neuralnetworks@1.0-vts.profiler",
+ generated_sources: ["android.hardware.neuralnetworks@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.neuralnetworks@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.neuralnetworks@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.neuralnetworks@1.0",
+
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/neuralnetworks/V1_0/target/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to neuralnetworks/V1_0/target/Android.mk
index ab678f7..521fc01 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/neuralnetworks/V1_0/target/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalNeuralnetworksV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/neuralnetworks/V1_0/target
include test/vts/tools/build/Android.host_config.mk
diff --git a/neuralnetworks/V1_0/target/AndroidTest.xml b/neuralnetworks/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..84dbdbc
--- /dev/null
+++ b/neuralnetworks/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalNeuralnetworksV1_0Target test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNeuralnetworksV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="precondition-lshal" value="android.hardware.neuralnetworks@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/neuralnetworks/V1_0/target_profiling/Android.mk
similarity index 84%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to neuralnetworks/V1_0/target_profiling/Android.mk
index ab678f7..37d2011 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/neuralnetworks/V1_0/target_profiling/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalNeuralnetworksV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/neuralnetworks/V1_0/target_profiling
include test/vts/tools/build/Android.host_config.mk
diff --git a/neuralnetworks/V1_0/target_profiling/AndroidTest.xml b/neuralnetworks/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..24131d4
--- /dev/null
+++ b/neuralnetworks/V1_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalNeuralnetworksV1_0TargetProfiling test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="DATA/lib/android.hardware.neuralnetworks@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.neuralnetworks@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.neuralnetworks@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.neuralnetworks@1.0-vts.profiler.so"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNeuralnetworksV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.neuralnetworks@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/nfc/V1_0/build/Android.bp b/nfc/V1_0/build/Android.bp
index da4c32b..53209c9 100644
--- a/nfc/V1_0/build/Android.bp
+++ b/nfc/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/power/V1_0/build/Android.bp b/power/V1_0/build/Android.bp
index 32dc0f7..a2c74b8 100644
--- a/power/V1_0/build/Android.bp
+++ b/power/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/power/V1_1/build/Android.bp b/power/V1_1/build/Android.bp
index 3d9e3ad..6e9ab9e 100644
--- a/power/V1_1/build/Android.bp
+++ b/power/V1_1/build/Android.bp
@@ -75,9 +75,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -135,9 +132,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/radio/V1_0/build/Android.bp b/radio/V1_0/build/Android.bp
index 3910e1e..e6f03ef 100644
--- a/radio/V1_0/build/Android.bp
+++ b/radio/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -152,9 +149,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/radio/V1_1/build/Android.bp b/radio/V1_1/build/Android.bp
index e45f7cc..2689191 100644
--- a/radio/V1_1/build/Android.bp
+++ b/radio/V1_1/build/Android.bp
@@ -84,9 +84,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -150,9 +147,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/radio/deprecated/V1_0/build/Android.bp b/radio/deprecated/V1_0/build/Android.bp
index 026ef95..da9ffc2 100644
--- a/radio/deprecated/V1_0/build/Android.bp
+++ b/radio/deprecated/V1_0/build/Android.bp
@@ -78,9 +78,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -140,9 +137,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/renderscript/V1_0/build/Android.bp b/renderscript/V1_0/build/Android.bp
index ebc0450..32e4db8 100644
--- a/renderscript/V1_0/build/Android.bp
+++ b/renderscript/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/renderscript/V1_0/target_profiling/AndroidTest.xml b/renderscript/V1_0/target_profiling/AndroidTest.xml
index 1d87e03..1e1223f 100644
--- a/renderscript/V1_0/target_profiling/AndroidTest.xml
+++ b/renderscript/V1_0/target_profiling/AndroidTest.xml
@@ -29,6 +29,6 @@
<option name="binary-test-type" value="hal_hidl_gtest"/>
<option name="enable-profiling" value="true"/>
<option name="precondition-lshal" value="android.hardware.renderscript@1.0"/>
- <option name="test-timeout" value="2m"/>
+ <option name="test-timeout" value="5m"/>
</test>
</configuration>
diff --git a/script/build/template/vts_build_template.bp b/script/build/template/vts_build_template.bp
index 0bd41e2..a9070f9 100644
--- a/script/build/template/vts_build_template.bp
+++ b/script/build/template/vts_build_template.bp
@@ -67,9 +67,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -124,9 +121,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/sensors/V1_0/build/Android.bp b/sensors/V1_0/build/Android.bp
index 5824821..100ac11 100644
--- a/sensors/V1_0/build/Android.bp
+++ b/sensors/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/soundtrigger/V2_0/build/Android.bp b/soundtrigger/V2_0/build/Android.bp
index d339e88..3c9f435 100644
--- a/soundtrigger/V2_0/build/Android.bp
+++ b/soundtrigger/V2_0/build/Android.bp
@@ -78,9 +78,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -140,9 +137,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/soundtrigger/V2_0/target/AndroidTest.xml b/soundtrigger/V2_0/target/AndroidTest.xml
index 6fe5197..d586ec4 100644
--- a/soundtrigger/V2_0/target/AndroidTest.xml
+++ b/soundtrigger/V2_0/target/AndroidTest.xml
@@ -28,7 +28,6 @@
<option name="binary-test-stop-native-servers" value="true"/>
<option name="precondition-lshal" value="android.hardware.soundtrigger@2.0"/>
<option name="precondition-file-path-prefix" value="/*/lib/hw/sound_trigger.primary." />
- <option name="skip-on-64bit-abi" value="true" />
<option name="test-timeout" value="5m"/>
</test>
</configuration>
diff --git a/soundtrigger/V2_0/target_profiling/AndroidTest.xml b/soundtrigger/V2_0/target_profiling/AndroidTest.xml
index b41e29f..594b9cb 100644
--- a/soundtrigger/V2_0/target_profiling/AndroidTest.xml
+++ b/soundtrigger/V2_0/target_profiling/AndroidTest.xml
@@ -34,7 +34,6 @@
<option name="enable-profiling" value="true"/>
<option name="precondition-lshal" value="android.hardware.soundtrigger@2.0"/>
<option name="precondition-file-path-prefix" value="/*/lib/hw/sound_trigger.primary." />
- <option name="skip-on-64bit-abi" value="true" />
<option name="test-timeout" value="5m"/>
</test>
</configuration>
diff --git a/tests/Android.bp b/tests/Android.bp
index aa484db..8347b83 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -12,5 +12,6 @@
"libhwbinder/V1_0",
"memory/V1_0",
"msgq/V1_0",
+ "multithread/V1_0",
"pointer/V1_0",
]
diff --git a/tests/bar/V1_0/build/Android.bp b/tests/bar/V1_0/build/Android.bp
index 63e4cf9..dfc5408 100644
--- a/tests/bar/V1_0/build/Android.bp
+++ b/tests/bar/V1_0/build/Android.bp
@@ -87,9 +87,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -155,9 +152,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/baz/V1_0/build/Android.bp b/tests/baz/V1_0/build/Android.bp
index 7ef1b8d..db0a36e 100644
--- a/tests/baz/V1_0/build/Android.bp
+++ b/tests/baz/V1_0/build/Android.bp
@@ -82,9 +82,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -147,9 +144,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/expression/V1_0/build/Android.bp b/tests/expression/V1_0/build/Android.bp
index 7ecb5b6..9e2de50 100644
--- a/tests/expression/V1_0/build/Android.bp
+++ b/tests/expression/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/extension/light/V2_0/build/Android.bp b/tests/extension/light/V2_0/build/Android.bp
index 3a06f75..542a023 100644
--- a/tests/extension/light/V2_0/build/Android.bp
+++ b/tests/extension/light/V2_0/build/Android.bp
@@ -75,9 +75,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -135,9 +132,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/foo/V1_0/build/Android.bp b/tests/foo/V1_0/build/Android.bp
index 87377e0..7cbdc9b 100644
--- a/tests/foo/V1_0/build/Android.bp
+++ b/tests/foo/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -152,9 +149,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/hash/V1_0/build/Android.bp b/tests/hash/V1_0/build/Android.bp
index 0998e6a..dec5e2d 100644
--- a/tests/hash/V1_0/build/Android.bp
+++ b/tests/hash/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/inheritance/V1_0/build/Android.bp b/tests/inheritance/V1_0/build/Android.bp
index 56acaa6..771aa05 100644
--- a/tests/inheritance/V1_0/build/Android.bp
+++ b/tests/inheritance/V1_0/build/Android.bp
@@ -79,9 +79,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -142,9 +139,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/libhwbinder/V1_0/build/Android.bp b/tests/libhwbinder/V1_0/build/Android.bp
index 2a47be3..c627bca 100644
--- a/tests/libhwbinder/V1_0/build/Android.bp
+++ b/tests/libhwbinder/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/memory/V1_0/build/Android.bp b/tests/memory/V1_0/build/Android.bp
index e4d3bc6..73cea09 100644
--- a/tests/memory/V1_0/build/Android.bp
+++ b/tests/memory/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tests/msgq/V1_0/build/Android.bp b/tests/msgq/V1_0/build/Android.bp
index 9f46d0d..5957117 100644
--- a/tests/msgq/V1_0/build/Android.bp
+++ b/tests/msgq/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/Android.bp b/tests/multithread/V1_0/Android.bp
similarity index 100%
copy from automotive/vehicle/V2_1/Android.bp
copy to tests/multithread/V1_0/Android.bp
diff --git a/tests/multithread/V1_0/build/Android.bp b/tests/multithread/V1_0/build/Android.bp
new file mode 100644
index 0000000..0b95f02
--- /dev/null
+++ b/tests/multithread/V1_0/build/Android.bp
@@ -0,0 +1,131 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+ name: "android.hardware.tests.multithread@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.tests.multithread@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/multithread/1.0/Multithread.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.tests.multithread@1.0-vts.driver_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tests/multithread/1.0/ $(genDir)/android/hardware/tests/multithread/1.0/",
+ srcs: [
+ ":android.hardware.tests.multithread@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/multithread/1.0/Multithread.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.multithread@1.0-vts.driver_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tests/multithread/1.0/ $(genDir)/android/hardware/tests/multithread/1.0/",
+ srcs: [
+ ":android.hardware.tests.multithread@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/multithread/1.0/Multithread.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.multithread@1.0-vts.driver",
+ generated_sources: ["android.hardware.tests.multithread@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.tests.multithread@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.multithread@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libcamera_metadata",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libprotobuf-cpp-full",
+ "libutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "android.hidl.allocator@1.0",
+ "android.hardware.tests.multithread@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.tests.multithread@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tests/multithread/1.0/ $(genDir)/android/hardware/tests/multithread/1.0/",
+ srcs: [
+ ":android.hardware.tests.multithread@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/multithread/1.0/Multithread.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.multithread@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tests/multithread/1.0/ $(genDir)/android/hardware/tests/multithread/1.0/",
+ srcs: [
+ ":android.hardware.tests.multithread@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/multithread/1.0/Multithread.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.multithread@1.0-vts.profiler",
+ generated_sources: ["android.hardware.tests.multithread@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.tests.multithread@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.multithread@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.tests.multithread@1.0",
+
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/tests/pointer/V1_0/build/Android.bp b/tests/pointer/V1_0/build/Android.bp
index 3c056da..e9a4d86 100644
--- a/tests/pointer/V1_0/build/Android.bp
+++ b/tests/pointer/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tetheroffload/config/V1_0/build/Android.bp b/tetheroffload/config/V1_0/build/Android.bp
index a738f67..ac1d51c 100644
--- a/tetheroffload/config/V1_0/build/Android.bp
+++ b/tetheroffload/config/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -119,6 +116,7 @@
"libvts_multidevice_proto",
"libprotobuf-cpp-full",
"android.hardware.tetheroffload.config@1.0",
+
],
cflags: [
"-Wall",
@@ -126,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tetheroffload/control/V1_0/build/Android.bp b/tetheroffload/control/V1_0/build/Android.bp
index 5840b14..d2d55b3 100644
--- a/tetheroffload/control/V1_0/build/Android.bp
+++ b/tetheroffload/control/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -129,6 +126,7 @@
"libvts_multidevice_proto",
"libprotobuf-cpp-full",
"android.hardware.tetheroffload.control@1.0",
+
],
cflags: [
"-Wall",
@@ -136,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/thermal/Android.bp b/thermal/Android.bp
index cdc8905..2e98897 100644
--- a/thermal/Android.bp
+++ b/thermal/Android.bp
@@ -3,4 +3,5 @@
subdirs = [
"V1_0",
+ "V1_1",
]
diff --git a/thermal/V1_0/build/Android.bp b/thermal/V1_0/build/Android.bp
index b48ac1a..aee3411 100644
--- a/thermal/V1_0/build/Android.bp
+++ b/thermal/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/thermal/V1_0/target_replay/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to thermal/V1_0/target_replay/Android.mk
index ab678f7..afe0919 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/thermal/V1_0/target_replay/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalThermalV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target_replay
include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target_replay/AndroidTest.xml b/thermal/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..aa1f542
--- /dev/null
+++ b/thermal/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalThermalV1_0TargetReplay test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlHostTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/thermal/1.0/vts/Thermal.vts->/data/local/tmp/spec/android/hardware/thermal/1.0/Thermal.vts"/>
+ <option name="push" value="spec/hardware/interfaces/thermal/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/thermal/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.thermal@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.thermal@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.thermal@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.thermal@1.0-vts.driver.so"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalThermalV1_0TargetReplay"/>
+ <option name="binary-test-type" value="hal_hidl_replay_test"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/thermal/V1_0/android.hardware.thermal_1.0_414823138144.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.thermal@1.0"/>
+ <option name="precondition-lshal" value="android.hardware.thermal@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/Android.bp b/thermal/V1_1/Android.bp
similarity index 100%
rename from automotive/vehicle/V2_1/Android.bp
rename to thermal/V1_1/Android.bp
diff --git a/thermal/V1_1/build/Android.bp b/thermal/V1_1/build/Android.bp
new file mode 100644
index 0000000..ecd29b4
--- /dev/null
+++ b/thermal/V1_1/build/Android.bp
@@ -0,0 +1,139 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+ name: "android.hardware.thermal@1.1-vts.spec",
+ srcs: [
+ ":android.hardware.thermal@1.1_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.1/Thermal.vts",
+ "android/hardware/thermal/1.1/ThermalCallback.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.thermal@1.1-vts.driver_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/thermal/1.1/ $(genDir)/android/hardware/thermal/1.1/",
+ srcs: [
+ ":android.hardware.thermal@1.1_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.1/Thermal.vts.cpp",
+ "android/hardware/thermal/1.1/ThermalCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.thermal@1.1-vts.driver_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/thermal/1.1/ $(genDir)/android/hardware/thermal/1.1/",
+ srcs: [
+ ":android.hardware.thermal@1.1_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.1/Thermal.vts.h",
+ "android/hardware/thermal/1.1/ThermalCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.thermal@1.1-vts.driver",
+ generated_sources: ["android.hardware.thermal@1.1-vts.driver_genc++"],
+ generated_headers: ["android.hardware.thermal@1.1-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.thermal@1.1-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libcamera_metadata",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libprotobuf-cpp-full",
+ "libutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "android.hidl.allocator@1.0",
+ "android.hardware.thermal@1.1",
+ "android.hardware.thermal@1.0",
+ "android.hardware.thermal@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.thermal@1.0",
+ "android.hardware.thermal@1.0-vts.driver",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.thermal@1.1-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/thermal/1.1/ $(genDir)/android/hardware/thermal/1.1/",
+ srcs: [
+ ":android.hardware.thermal@1.1_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.1/Thermal.vts.cpp",
+ "android/hardware/thermal/1.1/ThermalCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.thermal@1.1-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/thermal/1.1/ $(genDir)/android/hardware/thermal/1.1/",
+ srcs: [
+ ":android.hardware.thermal@1.1_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.1/Thermal.vts.h",
+ "android/hardware/thermal/1.1/ThermalCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.thermal@1.1-vts.profiler",
+ generated_sources: ["android.hardware.thermal@1.1-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.thermal@1.1-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.thermal@1.1-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.thermal@1.1",
+ "android.hardware.thermal@1.0",
+ "android.hardware.thermal@1.0-vts.profiler",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/thermal/V1_1/target/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to thermal/V1_1/target/Android.mk
index ab678f7..1d209ea 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/thermal/V1_1/target/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalThermalV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_1/target
include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_1/target/AndroidTest.xml b/thermal/V1_1/target/AndroidTest.xml
new file mode 100644
index 0000000..b421d39
--- /dev/null
+++ b/thermal/V1_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalThermalV1_1Target test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalThermalV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalThermalV1_1TargetTest/VtsHalThermalV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalThermalV1_1TargetTest/VtsHalThermalV1_1TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.thermal@1.1"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/thermal/V1_1/target_profiling/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to thermal/V1_1/target_profiling/Android.mk
index ab678f7..29257c3 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/thermal/V1_1/target_profiling/Android.mk
@@ -18,6 +18,6 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
+LOCAL_MODULE := VtsHalThermalV1_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_1/target_profiling
include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_1/target_profiling/AndroidTest.xml b/thermal/V1_1/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..240d23a
--- /dev/null
+++ b/thermal/V1_1/target_profiling/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalThermalV1_1TargetProfiling test cases">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="DATA/lib/android.hardware.thermal@1.1-vts.profiler.so->/data/local/tmp/32/android.hardware.thermal@1.1-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.thermal@1.1-vts.profiler.so->/data/local/tmp/64/android.hardware.thermal@1.1-vts.profiler.so"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalThermalV1_1TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalThermalV1_1TargetTest/VtsHalThermalV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalThermalV1_1TargetTest/VtsHalThermalV1_1TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.thermal@1.1"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/host/Android.mk b/treble/hidl_shim/Android.mk
similarity index 85%
copy from automotive/vehicle/V2_1/host/Android.mk
copy to treble/hidl_shim/Android.mk
index ab678f7..01bacd7 100644
--- a/automotive/vehicle/V2_1/host/Android.mk
+++ b/treble/hidl_shim/Android.mk
@@ -18,6 +18,5 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
-include test/vts/tools/build/Android.host_config.mk
+LOCAL_MODULE := VtsTrebleHidlShim
+include test/vts/tools/build/Android.host_config.mk
\ No newline at end of file
diff --git a/treble/hidl_shim/AndroidTest.xml b/treble/hidl_shim/AndroidTest.xml
new file mode 100644
index 0000000..a186b03
--- /dev/null
+++ b/treble/hidl_shim/AndroidTest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VtsTrebleHidlShim">
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="push-group" value="HostDrivenTest.push" />
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsTrebleHidlShim" />
+ <option name="test-case-path" value="vts/testcases/hal/treble/hidl_shim/VtsTrebleHidlShimTest" />
+ </test>
+</configuration>
diff --git a/treble/hidl_shim/VtsTrebleHidlShimTest.py b/treble/hidl_shim/VtsTrebleHidlShimTest.py
new file mode 100644
index 0000000..f05a44e
--- /dev/null
+++ b/treble/hidl_shim/VtsTrebleHidlShimTest.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import test_runner
+from vts.utils.python.common import vintf_utils
+from vts.utils.python.controllers import android_device
+from vts.utils.python.file import target_file_utils
+from vts.utils.python.os import path_utils
+
+
+class VtsTrebleHidlShimTest(base_test.BaseTestClass):
+ """Ensures existence of at least one HIDL shim library (32 or 64-bit)."""
+
+ VENDOR_MANIFEST_FILE_PATH = '/vendor/manifest.xml'
+ SHIM_DIRS = [
+ '/system/lib/', '/system/lib64/', '/vendor/lib/', '/vendor/lib64/'
+ ]
+
+ def setUpClass(self):
+ self.dut = self.registerController(android_device)[0]
+ self.dut.shell.InvokeTerminal(
+ 'VtsTrebleHidlShim') # creates a remote shell instance.
+ self.shell = self.dut.shell.VtsTrebleHidlShim
+
+ def missingHidlShims(self, hal_dictionary):
+ """Finds HALs listed in hal_dictionary that are missing shims on device.
+
+ Args:
+ hal_dictionary:
+ {key: hal_name@version, value: vintf_utils.HalDescription object}
+ Returns:
+ a list of the hal_keys (hal_name@version) for which no HIDL shim was
+ found on device
+ """
+ missing_hidl_shims = []
+ for hal_key, hal_info in hal_dictionary.iteritems():
+ for shim_dir in self.SHIM_DIRS:
+ hidl_shim_path = path_utils.JoinTargetPath(
+ shim_dir, hal_key + '.so')
+ found = target_file_utils.Exists(hidl_shim_path, self.shell)
+ if found:
+ break
+ if not found:
+ missing_hidl_shims.append(hal_key)
+ return missing_hidl_shims
+
+ def testHidlShimExists(self):
+ """Checks that at least one HIDL shim (32 or 64-bit) exists on device.
+
+ For all HALs registered in /vendor/manifest.xml, at least one HIDL shim
+ must exist on device under one of the dirs listed in self.SHIM_DIRS.
+ """
+ vendor_manifest_xml = target_file_utils.ReadFileContent(
+ self.VENDOR_MANIFEST_FILE_PATH, self.shell)
+ manifest_hwbinder_hals, manifest_passthrough_hals = vintf_utils.GetHalDescriptions(
+ vendor_manifest_xml)
+
+ missing_hidl_shims_hwbinder = self.missingHidlShims(
+ manifest_hwbinder_hals)
+ missing_hidl_shims_passthrough = self.missingHidlShims(
+ manifest_passthrough_hals)
+
+ asserts.assertTrue(
+ len(missing_hidl_shims_hwbinder) == 0 and
+ len(missing_hidl_shims_passthrough) == 0,
+ ('No HIDL shim library (neither 32 or 64-bit) was found on device for the following HALs: %s, %s'
+ ) % (missing_hidl_shims_hwbinder, missing_hidl_shims_passthrough))
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/automotive/vehicle/V2_1/__init__.py b/treble/hidl_shim/__init__.py
similarity index 100%
rename from automotive/vehicle/V2_1/__init__.py
rename to treble/hidl_shim/__init__.py
diff --git a/treble/vintf/Android.bp b/treble/vintf/Android.bp
index f151f3e..5b626a5 100644
--- a/treble/vintf/Android.bp
+++ b/treble/vintf/Android.bp
@@ -20,12 +20,20 @@
],
shared_libs: [
"libbase",
- "libutils",
+ "libcutils",
"libhidlbase",
"libhidltransport",
+ "liblog",
+ "libutils",
+ "libz",
+ ],
+ static_libs: [
"libhidl-gen-hash",
"libhidl-gen-utils",
+ "libselinux",
+ "libtinyxml2",
"libvintf",
],
+ group_static_libs: true,
}
diff --git a/treble/vintf/vts_treble_vintf_test.cpp b/treble/vintf/vts_treble_vintf_test.cpp
index 4f83174..f933150 100644
--- a/treble/vintf/vts_treble_vintf_test.cpp
+++ b/treble/vintf/vts_treble_vintf_test.cpp
@@ -14,12 +14,15 @@
* limitations under the License.
*/
+#include <chrono>
#include <functional>
+#include <future>
#include <iostream>
#include <map>
#include <set>
#include <sstream>
#include <string>
+#include <thread>
#include <vector>
#include <android/hidl/manager/1.0/IServiceManager.h>
@@ -40,6 +43,7 @@
using android::vintf::HalManifest;
using android::vintf::Transport;
using android::vintf::Version;
+using android::vintf::VintfObject;
using std::cout;
using std::endl;
@@ -119,9 +123,9 @@
ASSERT_NE(passthrough_manager_, nullptr)
<< "Failed to get passthrough service manager." << endl;
- vendor_manifest_ = ::android::vintf::VintfObject::GetDeviceHalManifest();
- ASSERT_NE(vendor_manifest_, nullptr) << "Failed to get vendor HAL manifest."
- << endl;
+ vendor_manifest_ = VintfObject::GetDeviceHalManifest();
+ ASSERT_NE(vendor_manifest_, nullptr)
+ << "Failed to get vendor HAL manifest." << endl;
}
// Applies given function to each HAL instance in VINTF.
@@ -152,7 +156,15 @@
string minor_ver = std::to_string(version.minorVer);
string full_ver = major_ver + "." + minor_ver;
FQName fq_name{hal_name, full_ver, iface_name};
- fn(fq_name, instance_name);
+
+ auto future_result =
+ std::async([&]() { fn(fq_name, instance_name); });
+ auto timeout = std::chrono::milliseconds(500);
+ std::future_status status = future_result.wait_for(timeout);
+ if (status != std::future_status::ready) {
+ cout << "Timed out on: " << fq_name.string() << " " << instance_name
+ << endl;
+ }
}
}
}
@@ -239,7 +251,7 @@
sp<android::hidl::base::V1_0::IBase> hal_service =
GetHalService(fq_name, instance_name);
EXPECT_NE(hal_service, nullptr)
- << fq_name.package() << " not available." << endl;
+ << fq_name.string() << " not available." << endl;
};
ForEachHalInstance(is_available);
@@ -299,6 +311,29 @@
ForEachHalInstance(is_released);
}
+// Tests that vendor and framework are compatible.
+TEST(CompatiblityTest, VendorFrameworkCompatibility) {
+ string error;
+
+ EXPECT_TRUE(VintfObject::GetDeviceHalManifest()->checkCompatibility(
+ *VintfObject::GetFrameworkCompatibilityMatrix(), &error))
+ << error;
+
+ EXPECT_TRUE(VintfObject::GetFrameworkHalManifest()->checkCompatibility(
+ *VintfObject::GetDeviceCompatibilityMatrix(), &error))
+ << error;
+
+ // AVB version is not a compliance requirement.
+ EXPECT_TRUE(VintfObject::GetRuntimeInfo()->checkCompatibility(
+ *VintfObject::GetFrameworkCompatibilityMatrix(), &error,
+ ::android::vintf::DISABLE_AVB_CHECK))
+ << error;
+
+ EXPECT_EQ(0, VintfObject::CheckCompatibility(
+ {}, &error, ::android::vintf::DISABLE_AVB_CHECK))
+ << error;
+}
+
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
diff --git a/tv/cec/V1_0/build/Android.bp b/tv/cec/V1_0/build/Android.bp
index 2cd74f2..8c4cd99 100644
--- a/tv/cec/V1_0/build/Android.bp
+++ b/tv/cec/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/tv/input/V1_0/build/Android.bp b/tv/input/V1_0/build/Android.bp
index 932bdd6..99edc91 100644
--- a/tv/input/V1_0/build/Android.bp
+++ b/tv/input/V1_0/build/Android.bp
@@ -78,9 +78,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -140,9 +137,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/usb/V1_0/build/Android.bp b/usb/V1_0/build/Android.bp
index d01d318..9f7ce78 100644
--- a/usb/V1_0/build/Android.bp
+++ b/usb/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/usb/V1_1/build/Android.bp b/usb/V1_1/build/Android.bp
index 02ad66c..8288d41 100644
--- a/usb/V1_1/build/Android.bp
+++ b/usb/V1_1/build/Android.bp
@@ -78,9 +78,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -140,9 +137,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/vibrator/Android.bp b/vibrator/Android.bp
index cdc8905..2e98897 100644
--- a/vibrator/Android.bp
+++ b/vibrator/Android.bp
@@ -3,4 +3,5 @@
subdirs = [
"V1_0",
+ "V1_1",
]
diff --git a/vibrator/V1_0/build/Android.bp b/vibrator/V1_0/build/Android.bp
index b029ca3..0ee0a8c 100644
--- a/vibrator/V1_0/build/Android.bp
+++ b/vibrator/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -132,9 +129,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/automotive/vehicle/V2_1/Android.bp b/vibrator/V1_1/Android.bp
similarity index 100%
copy from automotive/vehicle/V2_1/Android.bp
copy to vibrator/V1_1/Android.bp
diff --git a/vibrator/V1_1/build/Android.bp b/vibrator/V1_1/build/Android.bp
new file mode 100644
index 0000000..2c8e8d6
--- /dev/null
+++ b/vibrator/V1_1/build/Android.bp
@@ -0,0 +1,139 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+ name: "android.hardware.vibrator@1.1-vts.spec",
+ srcs: [
+ ":android.hardware.vibrator@1.1_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.1/Vibrator.vts",
+ "android/hardware/vibrator/1.1/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.vibrator@1.1-vts.driver_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/vibrator/1.1/ $(genDir)/android/hardware/vibrator/1.1/",
+ srcs: [
+ ":android.hardware.vibrator@1.1_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.1/Vibrator.vts.cpp",
+ "android/hardware/vibrator/1.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.vibrator@1.1-vts.driver_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/vibrator/1.1/ $(genDir)/android/hardware/vibrator/1.1/",
+ srcs: [
+ ":android.hardware.vibrator@1.1_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.1/Vibrator.vts.h",
+ "android/hardware/vibrator/1.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.vibrator@1.1-vts.driver",
+ generated_sources: ["android.hardware.vibrator@1.1-vts.driver_genc++"],
+ generated_headers: ["android.hardware.vibrator@1.1-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.vibrator@1.1-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libcamera_metadata",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libprotobuf-cpp-full",
+ "libutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "android.hidl.allocator@1.0",
+ "android.hardware.vibrator@1.1",
+ "android.hardware.vibrator@1.0",
+ "android.hardware.vibrator@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.vibrator@1.0",
+ "android.hardware.vibrator@1.0-vts.driver",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.vibrator@1.1-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vibrator/1.1/ $(genDir)/android/hardware/vibrator/1.1/",
+ srcs: [
+ ":android.hardware.vibrator@1.1_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.1/Vibrator.vts.cpp",
+ "android/hardware/vibrator/1.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.vibrator@1.1-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vibrator/1.1/ $(genDir)/android/hardware/vibrator/1.1/",
+ srcs: [
+ ":android.hardware.vibrator@1.1_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.1/Vibrator.vts.h",
+ "android/hardware/vibrator/1.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.vibrator@1.1-vts.profiler",
+ generated_sources: ["android.hardware.vibrator@1.1-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.vibrator@1.1-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.vibrator@1.1-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.vibrator@1.1",
+ "android.hardware.vibrator@1.0",
+ "android.hardware.vibrator@1.0-vts.profiler",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+
+ // These warnings are in code generated with vtsc
+ // b/31362043
+ "-Wno-duplicate-decl-specifier",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/vr/V1_0/build/Android.bp b/vr/V1_0/build/Android.bp
index ee741b9..1497c9c 100644
--- a/vr/V1_0/build/Android.bp
+++ b/vr/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -127,9 +124,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/wifi/V1_0/build/Android.bp b/wifi/V1_0/build/Android.bp
index 053d733..1951f58 100644
--- a/wifi/V1_0/build/Android.bp
+++ b/wifi/V1_0/build/Android.bp
@@ -109,9 +109,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -192,9 +189,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/wifi/V1_1/build/Android.bp b/wifi/V1_1/build/Android.bp
index a2bb596..5d30b7a 100644
--- a/wifi/V1_1/build/Android.bp
+++ b/wifi/V1_1/build/Android.bp
@@ -75,9 +75,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -135,9 +132,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/wifi/offload/V1_0/build/Android.bp b/wifi/offload/V1_0/build/Android.bp
index b5c12f4..d64f0b4 100644
--- a/wifi/offload/V1_0/build/Android.bp
+++ b/wifi/offload/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -137,9 +134,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
diff --git a/wifi/supplicant/V1_0/build/Android.bp b/wifi/supplicant/V1_0/build/Android.bp
index 115cf55..ef5841c 100644
--- a/wifi/supplicant/V1_0/build/Android.bp
+++ b/wifi/supplicant/V1_0/build/Android.bp
@@ -106,9 +106,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],
@@ -187,9 +184,6 @@
// These warnings are in code generated with vtsc
// b/31362043
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-unused-private-field",
"-Wno-duplicate-decl-specifier",
"-Wno-implicitly-unsigned-literal",
],