Update build file for profilier am: e516c12cce am: abeed21c9f
am: 5b4df770c8
Change-Id: I430d6be7d1950359be42428d47f51682ba60bc45
diff --git a/audio/Android.bp b/audio/Android.bp
new file mode 100644
index 0000000..009a762
--- /dev/null
+++ b/audio/Android.bp
@@ -0,0 +1,8 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+ "V2_0",
+ "common/V2_0",
+ "effect/V2_0",
+]
diff --git a/audio/V2_0/Android.bp b/audio/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/audio/V2_0/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 = [
+ "*",
+]
diff --git a/audio/V2_0/build/Android.bp b/audio/V2_0/build/Android.bp
new file mode 100644
index 0000000..99a29e2
--- /dev/null
+++ b/audio/V2_0/build/Android.bp
@@ -0,0 +1,173 @@
+// 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.audio@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.audio@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/Device.vts",
+ "android/hardware/audio/2.0/DevicesFactory.vts",
+ "android/hardware/audio/2.0/PrimaryDevice.vts",
+ "android/hardware/audio/2.0/Stream.vts",
+ "android/hardware/audio/2.0/StreamIn.vts",
+ "android/hardware/audio/2.0/StreamOut.vts",
+ "android/hardware/audio/2.0/StreamOutCallback.vts",
+ "android/hardware/audio/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.audio@2.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.audio@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ ":android.hardware.audio@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/Device.vts.cpp",
+ "android/hardware/audio/2.0/DevicesFactory.vts.cpp",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.cpp",
+ "android/hardware/audio/2.0/Stream.vts.cpp",
+ "android/hardware/audio/2.0/StreamIn.vts.cpp",
+ "android/hardware/audio/2.0/StreamOut.vts.cpp",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.cpp",
+ "android/hardware/audio/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio@2.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.audio@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ ":android.hardware.audio@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/Device.vts.h",
+ "android/hardware/audio/2.0/DevicesFactory.vts.h",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.h",
+ "android/hardware/audio/2.0/Stream.vts.h",
+ "android/hardware/audio/2.0/StreamIn.vts.h",
+ "android/hardware/audio/2.0/StreamOut.vts.h",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.h",
+ "android/hardware/audio/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio@2.0-vts.driver",
+ generated_sources: ["android.hardware.audio@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.audio@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio@2.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@2.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.audio@2.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.audio@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ ":android.hardware.audio@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/Device.vts.cpp",
+ "android/hardware/audio/2.0/DevicesFactory.vts.cpp",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.cpp",
+ "android/hardware/audio/2.0/Stream.vts.cpp",
+ "android/hardware/audio/2.0/StreamIn.vts.cpp",
+ "android/hardware/audio/2.0/StreamOut.vts.cpp",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.cpp",
+ "android/hardware/audio/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio@2.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.audio@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ ":android.hardware.audio@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/Device.vts.h",
+ "android/hardware/audio/2.0/DevicesFactory.vts.h",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.h",
+ "android/hardware/audio/2.0/Stream.vts.h",
+ "android/hardware/audio/2.0/StreamIn.vts.h",
+ "android/hardware/audio/2.0/StreamOut.vts.h",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.h",
+ "android/hardware/audio/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio@2.0-vts.profiler",
+ generated_sources: ["android.hardware.audio@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.audio@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio@2.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/audio/V2_0/target/Android.mk b/audio/V2_0/target/Android.mk
new file mode 100644
index 0000000..9a02d84
--- /dev/null
+++ b/audio/V2_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalAudioV2_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/audio/V2_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/V2_0/target/AndroidTest.xml b/audio/V2_0/target/AndroidTest.xml
new file mode 100644
index 0000000..2cb4377
--- /dev/null
+++ b/audio/V2_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 Audio V2_0 HIDL HAL's basic target-side 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="VtsHalAudioV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioV2_0TargetTest/VtsHalAudioV2_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioV2_0TargetTest/VtsHalAudioV2_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.audio@2.0"/>
+ <option name="test-timeout" value="20m"/>
+ </test>
+</configuration>
diff --git a/audio/V2_0/target_profiling/Android.mk b/audio/V2_0/target_profiling/Android.mk
new file mode 100644
index 0000000..f1e7176
--- /dev/null
+++ b/audio/V2_0/target_profiling/Android.mk
@@ -0,0 +1,24 @@
+#
+# 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 := VtsHalAudioV2_0TargetProfiling
+
+VTS_CONFIG_SRC_DIR := testcases/hal/audio/V2_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/V2_0/target_profiling/AndroidTest.xml b/audio/V2_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..becd2c8
--- /dev/null
+++ b/audio/V2_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?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 Audio V2_0 HIDL HAL's basic target-side, profiling 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.audio.common@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.profiler.so"/>
+ <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@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.audio@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.audio@2.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="VtsHalAudioV2_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioV2_0TargetTest/VtsHalAudioV2_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioV2_0TargetTest/VtsHalAudioV2_0TargetTest" />
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.audio@2.0"/>
+ <option name="test-timeout" value="20m"/>
+ </test>
+</configuration>
diff --git a/audio/common/V2_0/Android.bp b/audio/common/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/audio/common/V2_0/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 = [
+ "*",
+]
diff --git a/audio/common/V2_0/build/Android.bp b/audio/common/V2_0/build/Android.bp
new file mode 100644
index 0000000..8684806
--- /dev/null
+++ b/audio/common/V2_0/build/Android.bp
@@ -0,0 +1,135 @@
+// 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.audio.common@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.audio.common@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.audio.common@2.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.audio.common@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ ":android.hardware.audio.common@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.common@2.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.audio.common@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ ":android.hardware.audio.common@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.common@2.0-vts.driver",
+ generated_sources: ["android.hardware.audio.common@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.audio.common@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.common@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.audio.common@2.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.audio.common@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ ":android.hardware.audio.common@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.common@2.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.audio.common@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ ":android.hardware.audio.common@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.common@2.0-vts.profiler",
+ generated_sources: ["android.hardware.audio.common@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.audio.common@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.common@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/audio/effect/V2_0/Android.bp b/audio/effect/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/audio/effect/V2_0/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 = [
+ "*",
+]
diff --git a/audio/effect/V2_0/build/Android.bp b/audio/effect/V2_0/build/Android.bp
new file mode 100644
index 0000000..48ea803
--- /dev/null
+++ b/audio/effect/V2_0/build/Android.bp
@@ -0,0 +1,208 @@
+// 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.audio.effect@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.audio.effect@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts",
+ "android/hardware/audio/effect/2.0/Effect.vts",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts",
+ "android/hardware/audio/effect/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.audio.effect@2.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.audio.effect@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ ":android.hardware.audio.effect@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/Effect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.cpp",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.effect@2.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.audio.effect@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ ":android.hardware.audio.effect@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.h",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.h",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.h",
+ "android/hardware/audio/effect/2.0/Effect.vts.h",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.h",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.h",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.h",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.effect@2.0-vts.driver",
+ generated_sources: ["android.hardware.audio.effect@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.audio.effect@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.effect@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.effect@2.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@2.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.audio.effect@2.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.audio.effect@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ ":android.hardware.audio.effect@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/Effect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.cpp",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.effect@2.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.audio.effect@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ ":android.hardware.audio.effect@2.0_hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.h",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.h",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.h",
+ "android/hardware/audio/effect/2.0/Effect.vts.h",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.h",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.h",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.h",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.effect@2.0-vts.profiler",
+ generated_sources: ["android.hardware.audio.effect@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.audio.effect@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.effect@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.effect@2.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/audio/effect/V2_0/target/Android.mk b/audio/effect/V2_0/target/Android.mk
new file mode 100644
index 0000000..d67ad68
--- /dev/null
+++ b/audio/effect/V2_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalAudioEffectV2_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/audio/effect/V2_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/effect/V2_0/target/AndroidTest.xml b/audio/effect/V2_0/target/AndroidTest.xml
new file mode 100644
index 0000000..eb153a3
--- /dev/null
+++ b/audio/effect/V2_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 VtsHalAudioEffectV2_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="VtsHalAudioEffectV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioEffectV2_0TargetTest/VtsHalAudioEffectV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioEffectV2_0TargetTest/VtsHalAudioEffectV2_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.audio.effect@2.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/audio/effect/V2_0/target_profiling/Android.mk b/audio/effect/V2_0/target_profiling/Android.mk
new file mode 100644
index 0000000..7611426
--- /dev/null
+++ b/audio/effect/V2_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalAudioEffectV2_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/audio/effect/V2_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/effect/V2_0/target_profiling/AndroidTest.xml b/audio/effect/V2_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..8c0e735
--- /dev/null
+++ b/audio/effect/V2_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?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 VtsHalAudioEffectV2_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.audio.common@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.profiler.so"/>
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioEffectV2_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioEffectV2_0TargetTest/VtsHalAudioEffectV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioEffectV2_0TargetTest/VtsHalAudioEffectV2_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.audio.effect@2.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/automotive/Android.bp b/automotive/Android.bp
new file mode 100644
index 0000000..1047dba
--- /dev/null
+++ b/automotive/Android.bp
@@ -0,0 +1,8 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+ "evs/V1_0",
+ "vehicle/V2_0",
+ "vehicle/V2_1",
+]
diff --git a/automotive/__init__.py b/automotive/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/automotive/__init__.py
diff --git a/automotive/evs/V1_0/Android.bp b/automotive/evs/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/automotive/evs/V1_0/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 = [
+ "*",
+]
diff --git a/automotive/evs/V1_0/build/Android.bp b/automotive/evs/V1_0/build/Android.bp
new file mode 100644
index 0000000..215149a
--- /dev/null
+++ b/automotive/evs/V1_0/build/Android.bp
@@ -0,0 +1,155 @@
+// 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.evs@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.automotive.evs@1.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/evs/1.0/EvsCamera.vts",
+ "android/hardware/automotive/evs/1.0/EvsCameraStream.vts",
+ "android/hardware/automotive/evs/1.0/EvsDisplay.vts",
+ "android/hardware/automotive/evs/1.0/EvsEnumerator.vts",
+ "android/hardware/automotive/evs/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.automotive.evs@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.automotive.evs@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/automotive/evs/1.0/ $(genDir)/android/hardware/automotive/evs/1.0/",
+ srcs: [
+ ":android.hardware.automotive.evs@1.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/evs/1.0/EvsCamera.vts.cpp",
+ "android/hardware/automotive/evs/1.0/EvsCameraStream.vts.cpp",
+ "android/hardware/automotive/evs/1.0/EvsDisplay.vts.cpp",
+ "android/hardware/automotive/evs/1.0/EvsEnumerator.vts.cpp",
+ "android/hardware/automotive/evs/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.evs@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.automotive.evs@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/automotive/evs/1.0/ $(genDir)/android/hardware/automotive/evs/1.0/",
+ srcs: [
+ ":android.hardware.automotive.evs@1.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/evs/1.0/EvsCamera.vts.h",
+ "android/hardware/automotive/evs/1.0/EvsCameraStream.vts.h",
+ "android/hardware/automotive/evs/1.0/EvsDisplay.vts.h",
+ "android/hardware/automotive/evs/1.0/EvsEnumerator.vts.h",
+ "android/hardware/automotive/evs/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.automotive.evs@1.0-vts.driver",
+ generated_sources: ["android.hardware.automotive.evs@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.automotive.evs@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.automotive.evs@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.automotive.evs@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.automotive.evs@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.automotive.evs@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/automotive/evs/1.0/ $(genDir)/android/hardware/automotive/evs/1.0/",
+ srcs: [
+ ":android.hardware.automotive.evs@1.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/evs/1.0/EvsCamera.vts.cpp",
+ "android/hardware/automotive/evs/1.0/EvsCameraStream.vts.cpp",
+ "android/hardware/automotive/evs/1.0/EvsDisplay.vts.cpp",
+ "android/hardware/automotive/evs/1.0/EvsEnumerator.vts.cpp",
+ "android/hardware/automotive/evs/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.evs@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.automotive.evs@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/automotive/evs/1.0/ $(genDir)/android/hardware/automotive/evs/1.0/",
+ srcs: [
+ ":android.hardware.automotive.evs@1.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/evs/1.0/EvsCamera.vts.h",
+ "android/hardware/automotive/evs/1.0/EvsCameraStream.vts.h",
+ "android/hardware/automotive/evs/1.0/EvsDisplay.vts.h",
+ "android/hardware/automotive/evs/1.0/EvsEnumerator.vts.h",
+ "android/hardware/automotive/evs/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.automotive.evs@1.0-vts.profiler",
+ generated_sources: ["android.hardware.automotive.evs@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.automotive.evs@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.automotive.evs@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.automotive.evs@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/automotive/vehicle/V2_0/Android.bp b/automotive/vehicle/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/automotive/vehicle/V2_0/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 = [
+ "*",
+]
diff --git a/automotive/vehicle/V2_0/__init__.py b/automotive/vehicle/V2_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/automotive/vehicle/V2_0/__init__.py
diff --git a/automotive/vehicle/V2_0/build/Android.bp b/automotive/vehicle/V2_0/build/Android.bp
new file mode 100644
index 0000000..1a4e5e4
--- /dev/null
+++ b/automotive/vehicle/V2_0/build/Android.bp
@@ -0,0 +1,145 @@
+// 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.0-vts.spec",
+ srcs: [
+ ":android.hardware.automotive.vehicle@2.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts",
+ "android/hardware/automotive/vehicle/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.automotive.vehicle@2.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.automotive.vehicle@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ ":android.hardware.automotive.vehicle@2.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.vehicle@2.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.automotive.vehicle@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ ":android.hardware.automotive.vehicle@2.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.h",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.h",
+ "android/hardware/automotive/vehicle/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.automotive.vehicle@2.0-vts.driver",
+ generated_sources: ["android.hardware.automotive.vehicle@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.automotive.vehicle@2.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.automotive.vehicle@2.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.automotive.vehicle@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ ":android.hardware.automotive.vehicle@2.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.vehicle@2.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.automotive.vehicle@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ ":android.hardware.automotive.vehicle@2.0_hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.h",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.h",
+ "android/hardware/automotive/vehicle/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.automotive.vehicle@2.0-vts.profiler",
+ generated_sources: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.automotive.vehicle@2.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/automotive/vehicle/V2_0/host/Android.mk b/automotive/vehicle/V2_0/host/Android.mk
new file mode 100644
index 0000000..aa38340
--- /dev/null
+++ b/automotive/vehicle/V2_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/vehicle/V2_0/host/AndroidTest.xml b/automotive/vehicle/V2_0/host/AndroidTest.xml
new file mode 100644
index 0000000..605c226
--- /dev/null
+++ b/automotive/vehicle/V2_0/host/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 VtsHalAutomotiveVehicleV2_0Host 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.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/VehicleCallback.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/VehicleCallback.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.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_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest"/>
+ <option name="precondition-lshal" value="android.hardware.automotive.vehicle@2.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
new file mode 100644
index 0000000..2fd0f4b
--- /dev/null
+++ b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
@@ -0,0 +1,690 @@
+#!/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
+from vts.utils.python.precondition import precondition_utils
+
+
+class VtsHalAutomotiveVehicleV2_0HostTest(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
+ if not precondition_utils.CanRunHidlHalTest(
+ self, self.dut, self.dut.shell.one):
+ self._skip_all_testcases = True
+ return
+
+ 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.0,
+ target_package="android.hardware.automotive.vehicle",
+ target_component_name="IVehicle",
+ bits=int(self.abi_bitness))
+
+ 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)
+ asserts.assertEqual(0x00ff0000, self.vtypes.VehiclePropertyType.MASK)
+ asserts.assertEqual(0x0f000000, self.vtypes.VehicleArea.MASK)
+
+ 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._skip_all_testcases:
+ return
+
+ 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 setUp(self):
+ self.propToConfig = {}
+ for config in self.vehicle.getAllPropConfigs():
+ self.propToConfig[config['prop']] = config
+ self.configList = self.propToConfig.values()
+
+ def testListProperties(self):
+ """Checks whether some PropConfigs are returned.
+
+ Verifies that call to getAllPropConfigs is not failing and
+ it returns at least 1 vehicle property config.
+ """
+ logging.info("all supported properties: %s", self.configList)
+ asserts.assertLess(0, len(self.configList))
+
+ def testMandatoryProperties(self):
+ """Verifies that all mandatory properties are supported."""
+ # 1 property so far
+ mandatoryProps = set([self.vtypes.VehicleProperty.DRIVING_STATUS])
+ logging.info(self.vtypes.VehicleProperty.DRIVING_STATUS)
+
+ for config in self.configList:
+ mandatoryProps.discard(config['prop'])
+
+ asserts.assertEqual(0, len(mandatoryProps))
+
+ def emptyValueProperty(self, propertyId, areaId=0):
+ """Creates a property structure for use with the Vehicle HAL.
+
+ Args:
+ propertyId: the numeric identifier of the output property.
+ areaId: the numeric identifier of the vehicle area of the output
+ property. 0, or omitted, for global.
+
+ Returns:
+ a property structure for use with the Vehicle HAL.
+ """
+ return {
+ 'prop' : propertyId,
+ 'timestamp' : 0,
+ 'areaId' : areaId,
+ 'value' : {
+ 'int32Values' : [],
+ 'floatValues' : [],
+ 'int64Values' : [],
+ 'bytes' : [],
+ 'stringValue' : ""
+ }
+ }
+
+ def readVhalProperty(self, propertyId, areaId=0):
+ """Reads a specified property from Vehicle HAL.
+
+ Args:
+ propertyId: the numeric identifier of the property to be read.
+ areaId: the numeric identifier of the vehicle area to retrieve the
+ property for. 0, or omitted, for global.
+
+ Returns:
+ the value of the property as read from Vehicle HAL, or None
+ if it could not read successfully.
+ """
+ vp = self.vtypes.Py2Pb("VehiclePropValue",
+ self.emptyValueProperty(propertyId, areaId))
+ logging.info("0x%x get request: %s", propertyId, vp)
+ status, value = self.vehicle.get(vp)
+ logging.info("0x%x get response: %s, %s", propertyId, status, value)
+ if self.vtypes.StatusCode.OK == status:
+ return value
+ else:
+ logging.warning("attempt to read property 0x%x returned error %d",
+ propertyId, status)
+
+ def setVhalProperty(self, propertyId, value, areaId=0,
+ expectedStatus=0):
+ """Sets a specified property in the Vehicle HAL.
+
+ Args:
+ propertyId: the numeric identifier of the property to be set.
+ value: the value of the property, formatted as per the Vehicle HAL
+ (use emptyValueProperty() as a helper).
+ areaId: the numeric identifier of the vehicle area to set the
+ property for. 0, or omitted, for global.
+ expectedStatus: the StatusCode expected to be returned from setting
+ the property. 0, or omitted, for OK.
+ """
+ propValue = self.emptyValueProperty(propertyId, areaId)
+ for k in propValue["value"]:
+ if k in value:
+ if k == "stringValue":
+ propValue["value"][k] += value[k]
+ else:
+ propValue["value"][k].extend(value[k])
+ vp = self.vtypes.Py2Pb("VehiclePropValue", propValue)
+ logging.info("0x%x set request: %s", propertyId, vp)
+ status = self.vehicle.set(vp)
+ logging.info("0x%x set response: %s", propertyId, status)
+ if 0 == expectedStatus:
+ expectedStatus = self.vtypes.StatusCode.OK
+ asserts.assertEqual(expectedStatus, status, "Prop 0x%x" % propertyId)
+
+ def setAndVerifyIntProperty(self, propertyId, value, areaId=0):
+ """Sets a integer property in the Vehicle HAL and reads it back.
+
+ Args:
+ propertyId: the numeric identifier of the property to be set.
+ value: the int32 value of the property to be set.
+ areaId: the numeric identifier of the vehicle area to set the
+ property for. 0, or omitted, for global.
+ """
+ self.setVhalProperty(propertyId, {"int32Values" : [value]}, areaId=areaId)
+
+ propValue = self.readVhalProperty(propertyId, areaId=areaId)
+ 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(
+ self.vtypes.VehicleProperty.DRIVING_STATUS)
+ asserts.assertEqual(1, len(propValue["value"]["int32Values"]))
+ drivingStatus = propValue["value"]["int32Values"][0]
+
+ allStatuses = (self.vtypes.VehicleDrivingStatus.UNRESTRICTED
+ | self.vtypes.VehicleDrivingStatus.NO_VIDEO
+ | self.vtypes.VehicleDrivingStatus.NO_KEYBOARD_INPUT
+ | self.vtypes.VehicleDrivingStatus.NO_VOICE_INPUT
+ | self.vtypes.VehicleDrivingStatus.NO_CONFIG
+ | self.vtypes.VehicleDrivingStatus.LIMIT_MESSAGE_LEN)
+
+ asserts.assertEqual(allStatuses, allStatuses | drivingStatus)
+
+ def extractZonesAsList(self, supportedAreas):
+ """Converts bitwise area flags to list of zones"""
+ allZones = [
+ self.vtypes.VehicleAreaZone.ROW_1_LEFT,
+ self.vtypes.VehicleAreaZone.ROW_1_CENTER,
+ self.vtypes.VehicleAreaZone.ROW_1_RIGHT,
+ self.vtypes.VehicleAreaZone.ROW_1,
+ self.vtypes.VehicleAreaZone.ROW_2_LEFT,
+ self.vtypes.VehicleAreaZone.ROW_2_CENTER,
+ self.vtypes.VehicleAreaZone.ROW_2_RIGHT,
+ self.vtypes.VehicleAreaZone.ROW_2,
+ self.vtypes.VehicleAreaZone.ROW_3_LEFT,
+ self.vtypes.VehicleAreaZone.ROW_3_CENTER,
+ self.vtypes.VehicleAreaZone.ROW_3_RIGHT,
+ self.vtypes.VehicleAreaZone.ROW_3,
+ self.vtypes.VehicleAreaZone.ROW_4_LEFT,
+ self.vtypes.VehicleAreaZone.ROW_4_CENTER,
+ self.vtypes.VehicleAreaZone.ROW_4_RIGHT,
+ self.vtypes.VehicleAreaZone.ROW_4,
+ self.vtypes.VehicleAreaZone.WHOLE_CABIN,
+ ]
+
+ extractedZones = []
+ for zone in allZones:
+ if (zone & supportedAreas == zone):
+ extractedZones.append(zone)
+ return extractedZones
+
+
+ def testHvacPowerOn(self):
+ """Test power on/off and properties associated with it.
+
+ Gets the list of properties that are affected by the HVAC power state
+ and validates them.
+
+ Turns power on to start in a defined state, verifies that power is on
+ and properties are available. State change from on->off and verifies
+ that properties are no longer available, then state change again from
+ off->on to verify properties are now available again.
+ """
+
+ # Checks that HVAC_POWER_ON property is supported and returns valid
+ # result initially.
+ hvacPowerOnConfig = self.propToConfig[self.vtypes.VehicleProperty.HVAC_POWER_ON]
+ if hvacPowerOnConfig is None:
+ logging.info("HVAC_POWER_ON not supported")
+ return
+
+ zones = self.extractZonesAsList(hvacPowerOnConfig['supportedAreas'])
+ asserts.assertLess(0, len(zones), "supportedAreas for HVAC_POWER_ON property is invalid")
+
+ # TODO(pavelm): consider to check for all zones
+ zone = zones[0]
+
+ propValue = self.readVhalProperty(
+ self.vtypes.VehicleProperty.HVAC_POWER_ON, areaId=zone)
+
+ asserts.assertEqual(1, len(propValue["value"]["int32Values"]))
+ asserts.assertTrue(
+ propValue["value"]["int32Values"][0] in [0, 1],
+ "%d not a valid value for HVAC_POWER_ON" %
+ propValue["value"]["int32Values"][0]
+ )
+
+ # Checks that HVAC_POWER_ON config string returns valid result.
+ requestConfig = [self.vtypes.Py2Pb(
+ "VehicleProperty", self.vtypes.VehicleProperty.HVAC_POWER_ON)]
+ logging.info("HVAC power on config request: %s", requestConfig)
+ responseConfig = self.vehicle.getPropConfigs(requestConfig)
+ logging.info("HVAC power on config response: %s", responseConfig)
+ hvacTypes = set([
+ self.vtypes.VehicleProperty.HVAC_FAN_SPEED,
+ self.vtypes.VehicleProperty.HVAC_FAN_DIRECTION,
+ self.vtypes.VehicleProperty.HVAC_TEMPERATURE_CURRENT,
+ self.vtypes.VehicleProperty.HVAC_TEMPERATURE_SET,
+ self.vtypes.VehicleProperty.HVAC_DEFROSTER,
+ self.vtypes.VehicleProperty.HVAC_AC_ON,
+ self.vtypes.VehicleProperty.HVAC_MAX_AC_ON,
+ self.vtypes.VehicleProperty.HVAC_MAX_DEFROST_ON,
+ self.vtypes.VehicleProperty.HVAC_RECIRC_ON,
+ self.vtypes.VehicleProperty.HVAC_DUAL_ON,
+ self.vtypes.VehicleProperty.HVAC_AUTO_ON,
+ self.vtypes.VehicleProperty.HVAC_ACTUAL_FAN_SPEED_RPM,
+ ])
+ status = responseConfig[0]
+ asserts.assertEqual(self.vtypes.StatusCode.OK, status)
+ configString = responseConfig[1][0]["configString"]
+ configProps = []
+ if configString != "":
+ for prop in configString.split(","):
+ configProps.append(int(prop, 16))
+ for prop in configProps:
+ asserts.assertTrue(prop in hvacTypes,
+ "0x%X not an HVAC type" % prop)
+
+ # Turn power on.
+ self.setAndVerifyIntProperty(
+ self.vtypes.VehicleProperty.HVAC_POWER_ON, 1, areaId=zone)
+
+ # Check that properties that require power to be on can be set.
+ propVals = {}
+ for prop in configProps:
+ v = self.readVhalProperty(prop, areaId=zone)["value"]
+ self.setVhalProperty(prop, v, areaId=zone)
+ # Save the value for use later when trying to set the property when
+ # HVAC is off.
+ propVals[prop] = v
+
+ # Turn power off.
+ self.setAndVerifyIntProperty(
+ self.vtypes.VehicleProperty.HVAC_POWER_ON, 0, areaId=zone)
+
+ # Check that properties that require power to be on can't be set.
+ for prop in configProps:
+ self.setVhalProperty(
+ prop, propVals[prop],
+ areaId=zone,
+ expectedStatus=self.vtypes.StatusCode.NOT_AVAILABLE)
+
+ # Turn power on.
+ self.setAndVerifyIntProperty(
+ self.vtypes.VehicleProperty.HVAC_POWER_ON, 1, areaId=zone)
+
+ # Check that properties that require power to be on can be set.
+ for prop in configProps:
+ self.setVhalProperty(prop, propVals[prop], areaId=zone)
+
+ def testVehicleStaticProps(self):
+ """Verifies that static properties are configured correctly"""
+ staticProperties = set([
+ self.vtypes.VehicleProperty.INFO_VIN,
+ self.vtypes.VehicleProperty.INFO_MAKE,
+ self.vtypes.VehicleProperty.INFO_MODEL,
+ self.vtypes.VehicleProperty.INFO_MODEL_YEAR,
+ self.vtypes.VehicleProperty.INFO_FUEL_CAPACITY,
+ self.vtypes.VehicleProperty.HVAC_FAN_DIRECTION_AVAILABLE,
+ self.vtypes.VehicleProperty.AUDIO_HW_VARIANT,
+ self.vtypes.VehicleProperty.AP_POWER_BOOTUP_REASON,
+ ])
+ for c in self.configList:
+ prop = c['prop']
+ msg = "Prop 0x%x" % prop
+ if (c["prop"] in staticProperties):
+ asserts.assertEqual(self.vtypes.VehiclePropertyChangeMode.STATIC, c["changeMode"], msg)
+ asserts.assertEqual(self.vtypes.VehiclePropertyAccess.READ, c["access"], msg)
+ propValue = self.readVhalProperty(prop)
+ asserts.assertEqual(prop, propValue['prop'])
+ self.setVhalProperty(prop, propValue["value"],
+ expectedStatus=self.vtypes.StatusCode.ACCESS_DENIED)
+ else: # Non-static property
+ asserts.assertNotEqual(self.vtypes.VehiclePropertyChangeMode.STATIC, c["changeMode"], msg)
+
+ def testPropertyRanges(self):
+ """Retrieve the property ranges for all areas.
+
+ This checks that the areas noted in the config all give valid area
+ configs. Once these are validated, the values for all these areas
+ retrieved from the HIDL must be within the ranges defined."""
+ for c in self.configList:
+ # Continuous properties need to have a sampling frequency.
+ if c["changeMode"] & self.vtypes.VehiclePropertyChangeMode.CONTINUOUS != 0:
+ asserts.assertLess(0.0, c["minSampleRate"],
+ "minSampleRate should be > 0. Config list: %s" % c)
+ asserts.assertLess(0.0, c["maxSampleRate"],
+ "maxSampleRate should be > 0. Config list: %s" % c)
+ asserts.assertFalse(c["minSampleRate"] > c["maxSampleRate"],
+ "Prop 0x%x minSampleRate > maxSampleRate" %
+ c["prop"])
+
+ areasFound = 0
+ for a in c["areaConfigs"]:
+ # Make sure this doesn't override one of the other areas found.
+ asserts.assertEqual(0, areasFound & a["areaId"])
+ areasFound |= a["areaId"]
+
+ # Do some basic checking the min and max aren't mixed up.
+ checks = [
+ ("minInt32Value", "maxInt32Value"),
+ ("minInt64Value", "maxInt64Value"),
+ ("minFloatValue", "maxFloatValue")
+ ]
+ for minName, maxName in checks:
+ asserts.assertFalse(
+ a[minName] > a[maxName],
+ "Prop 0x%x Area 0x%X %s > %s: %d > %d" %
+ (c["prop"], a["areaId"],
+ minName, maxName, a[minName], a[maxName]))
+
+ # Get a value and make sure it's within the bounds.
+ propVal = self.readVhalProperty(c["prop"], a["areaId"])
+ # Some values may not be available, which is not an error.
+ if propVal is None:
+ continue
+ val = propVal["value"]
+ valTypes = {
+ "int32Values": ("minInt32Value", "maxInt32Value"),
+ "int64Values": ("minInt64Value", "maxInt64Value"),
+ "floatValues": ("minFloatValue", "maxFloatValue"),
+ }
+ for valType, valBoundNames in valTypes.items():
+ for v in val[valType]:
+ # Make sure value isn't less than the minimum.
+ asserts.assertFalse(
+ v < a[valBoundNames[0]],
+ "Prop 0x%x Area 0x%X %s < min: %s < %s" %
+ (c["prop"], a["areaId"],
+ valType, v, a[valBoundNames[0]]))
+ # Make sure value isn't greater than the maximum.
+ asserts.assertFalse(
+ v > a[valBoundNames[1]],
+ "Prop 0x%x Area 0x%X %s > max: %s > %s" %
+ (c["prop"], a["areaId"],
+ valType, v, a[valBoundNames[1]]))
+
+ def getValueIfPropSupported(self, propertyId):
+ """Returns tuple of boolean (indicating value supported or not) and the value itself"""
+ if (propertyId in self.propToConfig):
+ propValue = self.readVhalProperty(propertyId)
+ asserts.assertNotEqual(None, propValue, "expected value, prop: 0x%x" % propertyId)
+ asserts.assertEqual(propertyId, propValue['prop'])
+ return True, self.extractValue(propValue)
+ else:
+ return False, None
+
+ def testInfoVinMakeModel(self):
+ """Verifies INFO_VIN, INFO_MAKE, INFO_MODEL properties"""
+ stringProperties = set([
+ self.vtypes.VehicleProperty.INFO_VIN,
+ self.vtypes.VehicleProperty.INFO_MAKE,
+ self.vtypes.VehicleProperty.INFO_MODEL])
+ for prop in stringProperties:
+ supported, val = self.getValueIfPropSupported(prop)
+ if supported:
+ asserts.assertEqual(str, type(val), "prop: 0x%x" % prop)
+ asserts.assertLess(0, (len(val)), "prop: 0x%x" % prop)
+
+ def testGlobalFloatProperties(self):
+ """Verifies that values of global float properties are in the correct range"""
+ floatProperties = {
+ self.vtypes.VehicleProperty.ENV_CABIN_TEMPERATURE: (-50, 100), # celsius
+ self.vtypes.VehicleProperty.ENV_OUTSIDE_TEMPERATURE: (-50, 100), # celsius
+ self.vtypes.VehicleProperty.ENGINE_RPM : (0, 30000), # RPMs
+ self.vtypes.VehicleProperty.ENGINE_OIL_TEMP : (-50, 150), # celsius
+ self.vtypes.VehicleProperty.ENGINE_COOLANT_TEMP : (-50, 150), #
+ self.vtypes.VehicleProperty.PERF_VEHICLE_SPEED : (0, 150), # m/s, 150 m/s = 330 mph
+ self.vtypes.VehicleProperty.PERF_ODOMETER : (0, 1000000), # km
+ self.vtypes.VehicleProperty.INFO_FUEL_CAPACITY : (0, 1000000), # milliliter
+ self.vtypes.VehicleProperty.INFO_MODEL_YEAR : (1901, 2101), # year
+ }
+
+ for prop, validRange in floatProperties.iteritems():
+ supported, val = self.getValueIfPropSupported(prop)
+ if supported:
+ asserts.assertEqual(float, type(val))
+ self.assertValueInRangeForProp(val, validRange[0], validRange[1], prop)
+
+ def testGlobalBoolProperties(self):
+ """Verifies that values of global boolean properties are in the correct range"""
+ booleanProperties = set([
+ self.vtypes.VehicleProperty.PARKING_BRAKE_ON,
+ self.vtypes.VehicleProperty.FUEL_LEVEL_LOW,
+ self.vtypes.VehicleProperty.NIGHT_MODE,
+ self.vtypes.VehicleProperty.DOOR_LOCK,
+ self.vtypes.VehicleProperty.MIRROR_LOCK,
+ self.vtypes.VehicleProperty.MIRROR_FOLD,
+ self.vtypes.VehicleProperty.SEAT_BELT_BUCKLED,
+ self.vtypes.VehicleProperty.WINDOW_LOCK,
+ ])
+ for prop in booleanProperties:
+ self.verifyEnumPropIfSupported(prop, [0, 1])
+
+ def testGlobalEnumProperties(self):
+ """Verifies that values of global enum properties are in the correct range"""
+ enumProperties = {
+ self.vtypes.VehicleProperty.GEAR_SELECTION : self.vtypes.VehicleGear,
+ self.vtypes.VehicleProperty.CURRENT_GEAR : self.vtypes.VehicleGear,
+ self.vtypes.VehicleProperty.TURN_SIGNAL_STATE : self.vtypes.VehicleTurnSignal,
+ self.vtypes.VehicleProperty.IGNITION_STATE : self.vtypes.VehicleIgnitionState,
+ }
+ for prop, enum in enumProperties.iteritems():
+ self.verifyEnumPropIfSupported(prop, vars(enum).values())
+
+ def testDebugDump(self):
+ """Verifies that call to IVehicle#debugDump is not failing"""
+ dumpStr = self.vehicle.debugDump()
+ asserts.assertNotEqual(None, dumpStr)
+
+ def extractValue(self, propValue):
+ """Extracts value depending on data type of the property"""
+ if propValue == None:
+ return None
+
+ # Extract data type
+ dataType = propValue['prop'] & self.vtypes.VehiclePropertyType.MASK
+ val = propValue['value']
+ if self.vtypes.VehiclePropertyType.STRING == dataType:
+ asserts.assertNotEqual(None, val['stringValue'])
+ return val['stringValue']
+ elif self.vtypes.VehiclePropertyType.INT32 == dataType or \
+ self.vtypes.VehiclePropertyType.BOOLEAN == dataType:
+ asserts.assertEqual(1, len(val["int32Values"]))
+ return val["int32Values"][0]
+ elif self.vtypes.VehiclePropertyType.INT64 == dataType:
+ asserts.assertEqual(1, len(val["int64Values"]))
+ return val["int64Values"][0]
+ elif self.vtypes.VehiclePropertyType.FLOAT == dataType:
+ asserts.assertEqual(1, len(val["floatValues"]))
+ return val["floatValues"][0]
+ elif self.vtypes.VehiclePropertyType.INT32_VEC == dataType:
+ asserts.assertLess(0, len(val["int32Values"]))
+ return val["int32Values"]
+ elif self.vtypes.VehiclePropertyType.FLOAT_VEC == dataType:
+ asserts.assertLess(0, len(val["floatValues"]))
+ return val["floatValues"]
+ elif self.vtypes.VehiclePropertyType.BYTES == dataType:
+ asserts.assertLess(0, len(val["bytes"]))
+ return val["bytes"]
+ else:
+ return val
+
+ def verifyEnumPropIfSupported(self, propertyId, validValues):
+ """Verifies that if given property supported it is one of the value in validValues set"""
+ supported, val = self.getValueIfPropSupported(propertyId)
+ if supported:
+ asserts.assertEqual(int, type(val))
+ self.assertIntValueInRangeForProp(val, validValues, propertyId)
+
+ def assertLessOrEqual(self, first, second, msg=None):
+ """Asserts that first <= second"""
+ if second < first:
+ fullMsg = "%s is not less or equal to %s" % (first, second)
+ if msg:
+ fullMsg = "%s %s" % (fullMsg, msg)
+ fail(fullMsg)
+
+ def assertIntValueInRangeForProp(self, value, validValues, prop):
+ """Asserts that given value is in the validValues range"""
+ asserts.assertTrue(value in validValues,
+ "Invalid value %d for property: 0x%x, expected one of: %s" % (value, prop, validValues))
+
+ def assertValueInRangeForProp(self, value, rangeBegin, rangeEnd, prop):
+ """Asserts that given value is in the range [rangeBegin, rangeEnd]"""
+ msg = "Value %s is out of range [%s, %s] for property 0x%x" % (value, rangeBegin, rangeEnd, prop)
+ self.assertLessOrEqual(rangeBegin, value, msg)
+ self.assertLessOrEqual(value, rangeEnd, msg)
+
+ def getPropConfig(self, propertyId):
+ return self.propToConfig[propertyId]
+
+ def isPropSupported(self, propertyId):
+ return self.getPropConfig(propertyId) is not None
+
+ def testEngineOilTemp(self):
+ """tests engine oil temperature.
+
+ This also tests an HIDL async callback.
+ """
+ self.onPropertyEventCalled = 0
+ self.onPropertySetCalled = 0
+ self.onPropertySetErrorCalled = 0
+
+ def onPropertyEvent(vehiclePropValues):
+ logging.info("onPropertyEvent received: %s", vehiclePropValues)
+ self.onPropertyEventCalled += 1
+
+ def onPropertySet(vehiclePropValue):
+ logging.info("onPropertySet notification received: %s", vehiclePropValue)
+ self.onPropertySetCalled += 1
+
+ def onPropertySetError(erroCode, propId, areaId):
+ logging.info("onPropertySetError, error: %d, prop: 0x%x, area: 0x%x",
+ erroCode, prop, area)
+ self.onPropertySetErrorCalled += 1
+
+ config = self.getPropConfig(self.vtypes.VehicleProperty.ENGINE_OIL_TEMP)
+ if (config is None):
+ logging.info("ENGINE_OIL_TEMP property is not supported")
+ return # Property not supported, we are done here.
+
+ propValue = self.readVhalProperty(self.vtypes.VehicleProperty.ENGINE_OIL_TEMP)
+ asserts.assertEqual(1, len(propValue['value']['floatValues']))
+ oilTemp = propValue['value']['floatValues'][0]
+ logging.info("Current oil temperature: %f C", oilTemp)
+ asserts.assertLess(oilTemp, 200) # Check it is in reasinable range
+ asserts.assertLess(-50, oilTemp)
+
+ if (config["changeMode"] == self.vtypes.VehiclePropertyChangeMode.CONTINUOUS):
+ logging.info("ENGINE_OIL_TEMP is continuous property, subscribing...")
+ callback = self.vehicle.GetHidlCallbackInterface("IVehicleCallback",
+ onPropertyEvent=onPropertyEvent,
+ onPropertySet=onPropertySet,
+ onPropertySetError=onPropertySetError)
+
+ subscribeOptions = {
+ "propId" : self.vtypes.VehicleProperty.ENGINE_OIL_TEMP,
+ "vehicleAreas" : 0,
+ "sampleRate" : 10.0, # Hz
+ "flags" : self.vtypes.SubscribeFlags.HAL_EVENT,
+ }
+ pbSubscribeOptions = self.vtypes.Py2Pb("SubscribeOptions", subscribeOptions)
+
+ self.vehicle.subscribe(callback, [pbSubscribeOptions])
+ for _ in range(5):
+ if (self.onPropertyEventCalled > 0 or
+ self.onPropertySetCalled > 0 or
+ self.onPropertySetErrorCalled > 0):
+ return
+ time.sleep(1)
+ asserts.fail("Callback not called in 5 seconds.")
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/automotive/vehicle/V2_0/host/__init__.py b/automotive/vehicle/V2_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/automotive/vehicle/V2_0/host/__init__.py
diff --git a/automotive/vehicle/V2_0/host_profiling/Android.mk b/automotive/vehicle/V2_0/host_profiling/Android.mk
new file mode 100644
index 0000000..f4099a4
--- /dev/null
+++ b/automotive/vehicle/V2_0/host_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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_0HostProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_0/host_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/vehicle/V2_0/host_profiling/AndroidTest.xml b/automotive/vehicle/V2_0/host_profiling/AndroidTest.xml
new file mode 100644
index 0000000..b3f0f97
--- /dev/null
+++ b/automotive/vehicle/V2_0/host_profiling/AndroidTest.xml
@@ -0,0 +1,37 @@
+<?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_0HostProfiling 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="HalHidlHostProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <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/VehicleCallback.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/VehicleCallback.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.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"/>
+ <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.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="VtsHalAutomotiveVehicleV2_0HostProfiling"/>
+ <option name="test-case-path" value="vts/testcases/hal/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.automotive.vehicle@2.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/Android.bp b/automotive/vehicle/V2_1/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/automotive/vehicle/V2_1/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 = [
+ "*",
+]
diff --git a/automotive/vehicle/V2_1/build/Android.bp b/automotive/vehicle/V2_1/build/Android.bp
new file mode 100644
index 0000000..0cceeff
--- /dev/null
+++ b/automotive/vehicle/V2_1/build/Android.bp
@@ -0,0 +1,143 @@
+// 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: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "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-uninitialized",
+ "-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",
+ "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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/automotive/vehicle/__init__.py b/automotive/vehicle/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/automotive/vehicle/__init__.py
diff --git a/biometrics/Android.bp b/biometrics/Android.bp
new file mode 100644
index 0000000..8e0f4dc
--- /dev/null
+++ b/biometrics/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 = [
+ "fingerprint/V2_1",
+]
diff --git a/biometrics/fingerprint/V2_1/Android.bp b/biometrics/fingerprint/V2_1/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/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 = [
+ "*",
+]
diff --git a/biometrics/fingerprint/V2_1/build/Android.bp b/biometrics/fingerprint/V2_1/build/Android.bp
new file mode 100644
index 0000000..ebd0a58
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/build/Android.bp
@@ -0,0 +1,145 @@
+// 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.biometrics.fingerprint@2.1-vts.spec",
+ srcs: [
+ ":android.hardware.biometrics.fingerprint@2.1_hal",
+ ],
+ out: [
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts",
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts",
+ "android/hardware/biometrics/fingerprint/2.1/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.biometrics.fingerprint@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.biometrics.fingerprint@2.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
+ srcs: [
+ ":android.hardware.biometrics.fingerprint@2.1_hal",
+ ],
+ out: [
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.cpp",
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.cpp",
+ "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.biometrics.fingerprint@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.biometrics.fingerprint@2.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
+ srcs: [
+ ":android.hardware.biometrics.fingerprint@2.1_hal",
+ ],
+ out: [
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.h",
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.h",
+ "android/hardware/biometrics/fingerprint/2.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.biometrics.fingerprint@2.1-vts.driver",
+ generated_sources: ["android.hardware.biometrics.fingerprint@2.1-vts.driver_genc++"],
+ generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.biometrics.fingerprint@2.1",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.biometrics.fingerprint@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.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
+ srcs: [
+ ":android.hardware.biometrics.fingerprint@2.1_hal",
+ ],
+ out: [
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.cpp",
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.cpp",
+ "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.biometrics.fingerprint@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.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
+ srcs: [
+ ":android.hardware.biometrics.fingerprint@2.1_hal",
+ ],
+ out: [
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.h",
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.h",
+ "android/hardware/biometrics/fingerprint/2.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.biometrics.fingerprint@2.1-vts.profiler",
+ generated_sources: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.biometrics.fingerprint@2.1",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/biometrics/fingerprint/V2_1/target/Android.mk b/biometrics/fingerprint/V2_1/target/Android.mk
new file mode 100644
index 0000000..07a6a75
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalBiometricsFingerprintV2_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/biometrics/fingerprint/V2_1/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/biometrics/fingerprint/V2_1/target/AndroidTest.xml b/biometrics/fingerprint/V2_1/target/AndroidTest.xml
new file mode 100644
index 0000000..39ac560
--- /dev/null
+++ b/biometrics/fingerprint/V2_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 VtsHalBiometricsFingerprintV2_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="VtsHalBiometricsFingerprintV2_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBiometricsFingerprintV2_1TargetTest/VtsHalBiometricsFingerprintV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBiometricsFingerprintV2_1TargetTest/VtsHalBiometricsFingerprintV2_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.biometrics.fingerprint@2.1"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/biometrics/fingerprint/V2_1/target_profiling/Android.mk b/biometrics/fingerprint/V2_1/target_profiling/Android.mk
new file mode 100644
index 0000000..70ab2a2
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalBiometricsFingerprintV2_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/biometrics/fingerprint/V2_1/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/biometrics/fingerprint/V2_1/target_profiling/AndroidTest.xml b/biometrics/fingerprint/V2_1/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..9638452
--- /dev/null
+++ b/biometrics/fingerprint/V2_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 VtsHalBiometricsFingerprintV2_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.biometrics.fingerprint@2.1-vts.profiler.so->/data/local/tmp/32/android.hardware.biometrics.fingerprint@2.1-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.biometrics.fingerprint@2.1-vts.profiler.so->/data/local/tmp/64/android.hardware.biometrics.fingerprint@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="VtsHalBiometricsFingerprintV2_1TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBiometricsFingerprintV2_1TargetTest/VtsHalBiometricsFingerprintV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBiometricsFingerprintV2_1TargetTest/VtsHalBiometricsFingerprintV2_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.biometrics.fingerprint@2.1"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/biometrics/fingerprint/V2_1/target_replay/Android.mk b/biometrics/fingerprint/V2_1/target_replay/Android.mk
new file mode 100644
index 0000000..1743005
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalBiometricsFingerprintV2_1TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/biometrics/fingerprint/V2_1/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml b/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..6c26302
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/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 VtsHalBiometricsFingerprintV2_1TargetReplay 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="false"/>
+ <option name="push" value="spec/hardware/interfaces/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts->/data/local/tmp/spec/android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts"/>
+ <option name="push" value="spec/hardware/interfaces/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts->/data/local/tmp/spec/android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/biometrics/fingerprint/2.1/vts/types.vts->/data/local/tmp/spec/android/hardware/biometrics/fingerprint/2.1/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.biometrics.fingerprint@2.1-vts.driver.so->/data/local/tmp/32/android.hardware.biometrics.fingerprint@2.1-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.biometrics.fingerprint@2.1-vts.driver.so->/data/local/tmp/64/android.hardware.biometrics.fingerprint@2.1-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="VtsHalBiometricsFingerprintV2_1TargetReplay"/>
+ <option name="binary-test-type" value="hal_hidl_replay_test"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/biometrics/fingerprint/V2_1/android.hardware.biometrics.fingerprint@2.1_sailfish_1.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.biometrics.fingerprint@2.1"/>
+ <option name="precondition-lshal" value="android.hardware.biometrics.fingerprint@2.1"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/boot/V1_0/target/Android.mk b/boot/V1_0/target/Android.mk
new file mode 100644
index 0000000..6cd564a
--- /dev/null
+++ b/boot/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalBootV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/boot/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/boot/V1_0/target/AndroidTest.xml b/boot/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..470e578
--- /dev/null
+++ b/boot/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 VtsHalBootV1_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="VtsHalBootV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBootV1_0TargetTest/VtsHalBootV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBootV1_0TargetTest/VtsHalBootV1_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.boot@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/boot/V1_0/target/HalBootHidlTargetTest.config b/boot/V1_0/target/HalBootHidlTargetTest.config
new file mode 100644
index 0000000..ebb4d1b
--- /dev/null
+++ b/boot/V1_0/target/HalBootHidlTargetTest.config
@@ -0,0 +1,20 @@
+{
+ "use_gae_db": true,
+ "coverage": true,
+ "modules": [
+ {
+ "module_name": "system/lib64/hw/bootctrl.msm8996",
+ "git_project": {
+ "name": "platform/hardware/qcom/bootctrl",
+ "path": "hardware/qcom/bootctrl"
+ }
+ },
+ {
+ "module_name": "system/lib64/hw/android.hardware.boot@1.0-impl",
+ "git_project": {
+ "name": "platform/hardware/interfaces",
+ "path": "hardware/interfaces"
+ }
+ }
+ ]
+}
diff --git a/boot/V1_0/target_profiling/Android.mk b/boot/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..2df23cb
--- /dev/null
+++ b/boot/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalBootV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/boot/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/boot/V1_0/target_profiling/AndroidTest.xml b/boot/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..2d25a0f
--- /dev/null
+++ b/boot/V1_0/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 VtsHalBootV1_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.boot@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.boot@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.boot@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.boot@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="VtsHalBootV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBootV1_0TargetTest/VtsHalBootV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBootV1_0TargetTest/VtsHalBootV1_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.boot@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/broadcastradio/Android.bp b/broadcastradio/Android.bp
new file mode 100644
index 0000000..2e98897
--- /dev/null
+++ b/broadcastradio/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",
+ "V1_1",
+]
diff --git a/broadcastradio/V1_0/Android.bp b/broadcastradio/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/broadcastradio/V1_0/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 = [
+ "*",
+]
diff --git a/broadcastradio/V1_0/build/Android.bp b/broadcastradio/V1_0/build/Android.bp
new file mode 100644
index 0000000..7abb846
--- /dev/null
+++ b/broadcastradio/V1_0/build/Android.bp
@@ -0,0 +1,155 @@
+// 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.broadcastradio@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.broadcastradio@1.0_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts",
+ "android/hardware/broadcastradio/1.0/Tuner.vts",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts",
+ "android/hardware/broadcastradio/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.0_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.cpp",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.cpp",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.cpp",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.cpp",
+ "android/hardware/broadcastradio/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.0_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.h",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.h",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.h",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.h",
+ "android/hardware/broadcastradio/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.broadcastradio@1.0-vts.driver",
+ generated_sources: ["android.hardware.broadcastradio@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.broadcastradio@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.broadcastradio@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.broadcastradio@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.0_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.cpp",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.cpp",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.cpp",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.cpp",
+ "android/hardware/broadcastradio/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.0_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.h",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.h",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.h",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.h",
+ "android/hardware/broadcastradio/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.broadcastradio@1.0-vts.profiler",
+ generated_sources: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.broadcastradio@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/broadcastradio/V1_0/target/Android.mk b/broadcastradio/V1_0/target/Android.mk
new file mode 100644
index 0000000..8c20147
--- /dev/null
+++ b/broadcastradio/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalBroadcastradioV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_0/target/AndroidTest.xml b/broadcastradio/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..93d2f75
--- /dev/null
+++ b/broadcastradio/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 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_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_0TargetTest/VtsHalBroadcastradioV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_0TargetTest/VtsHalBroadcastradioV1_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.broadcastradio@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/broadcastradio/V1_0/target_profiling/Android.mk b/broadcastradio/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..ba55aaf
--- /dev/null
+++ b/broadcastradio/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalBroadcastradioV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_0/target_profiling/AndroidTest.xml b/broadcastradio/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..8234ef3
--- /dev/null
+++ b/broadcastradio/V1_0/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_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.broadcastradio@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.broadcastradio@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.broadcastradio@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.broadcastradio@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="VtsHalBroadcastradioV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_0TargetTest/VtsHalBroadcastradioV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_0TargetTest/VtsHalBroadcastradioV1_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.broadcastradio@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/broadcastradio/V1_1/Android.bp b/broadcastradio/V1_1/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/broadcastradio/V1_1/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 = [
+ "*",
+]
diff --git a/broadcastradio/V1_1/build/Android.bp b/broadcastradio/V1_1/build/Android.bp
new file mode 100644
index 0000000..544ab01
--- /dev/null
+++ b/broadcastradio/V1_1/build/Android.bp
@@ -0,0 +1,158 @@
+// 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.broadcastradio@1.1-vts.spec",
+ srcs: [
+ ":android.hardware.broadcastradio@1.1_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.1/BroadcastRadio.vts",
+ "android/hardware/broadcastradio/1.1/BroadcastRadioFactory.vts",
+ "android/hardware/broadcastradio/1.1/Tuner.vts",
+ "android/hardware/broadcastradio/1.1/TunerCallback.vts",
+ "android/hardware/broadcastradio/1.1/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.1/ $(genDir)/android/hardware/broadcastradio/1.1/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.1_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.1/BroadcastRadio.vts.cpp",
+ "android/hardware/broadcastradio/1.1/BroadcastRadioFactory.vts.cpp",
+ "android/hardware/broadcastradio/1.1/Tuner.vts.cpp",
+ "android/hardware/broadcastradio/1.1/TunerCallback.vts.cpp",
+ "android/hardware/broadcastradio/1.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.1/ $(genDir)/android/hardware/broadcastradio/1.1/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.1_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.1/BroadcastRadio.vts.h",
+ "android/hardware/broadcastradio/1.1/BroadcastRadioFactory.vts.h",
+ "android/hardware/broadcastradio/1.1/Tuner.vts.h",
+ "android/hardware/broadcastradio/1.1/TunerCallback.vts.h",
+ "android/hardware/broadcastradio/1.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.broadcastradio@1.1-vts.driver",
+ generated_sources: ["android.hardware.broadcastradio@1.1-vts.driver_genc++"],
+ generated_headers: ["android.hardware.broadcastradio@1.1-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.broadcastradio@1.1-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.broadcastradio@1.1",
+ "android.hardware.broadcastradio@1.0",
+ "android.hardware.broadcastradio@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.broadcastradio@1.0",
+ "android.hardware.broadcastradio@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.1/ $(genDir)/android/hardware/broadcastradio/1.1/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.1_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.1/BroadcastRadio.vts.cpp",
+ "android/hardware/broadcastradio/1.1/BroadcastRadioFactory.vts.cpp",
+ "android/hardware/broadcastradio/1.1/Tuner.vts.cpp",
+ "android/hardware/broadcastradio/1.1/TunerCallback.vts.cpp",
+ "android/hardware/broadcastradio/1.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.broadcastradio@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.broadcastradio@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.1/ $(genDir)/android/hardware/broadcastradio/1.1/",
+ srcs: [
+ ":android.hardware.broadcastradio@1.1_hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.1/BroadcastRadio.vts.h",
+ "android/hardware/broadcastradio/1.1/BroadcastRadioFactory.vts.h",
+ "android/hardware/broadcastradio/1.1/Tuner.vts.h",
+ "android/hardware/broadcastradio/1.1/TunerCallback.vts.h",
+ "android/hardware/broadcastradio/1.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.broadcastradio@1.1-vts.profiler",
+ generated_sources: ["android.hardware.broadcastradio@1.1-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.broadcastradio@1.1-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.broadcastradio@1.1-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.broadcastradio@1.1",
+ "android.hardware.broadcastradio@1.0",
+ "android.hardware.broadcastradio@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/camera/Android.bp b/camera/Android.bp
new file mode 100644
index 0000000..7e79b70
--- /dev/null
+++ b/camera/Android.bp
@@ -0,0 +1,10 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+ "common/V1_0",
+ "device/V1_0",
+ "device/V3_2",
+ "metadata/V3_2",
+ "provider/V2_4",
+]
diff --git a/camera/common/V1_0/Android.bp b/camera/common/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/camera/common/V1_0/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 = [
+ "*",
+]
diff --git a/camera/common/V1_0/build/Android.bp b/camera/common/V1_0/build/Android.bp
new file mode 100644
index 0000000..2751f13
--- /dev/null
+++ b/camera/common/V1_0/build/Android.bp
@@ -0,0 +1,135 @@
+// 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.camera.common@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.camera.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.camera.common@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.camera.common@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ ":android.hardware.camera.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.common@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.camera.common@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ ":android.hardware.camera.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.common@1.0-vts.driver",
+ generated_sources: ["android.hardware.camera.common@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.camera.common@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.common@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.camera.common@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.camera.common@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ ":android.hardware.camera.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.common@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.camera.common@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ ":android.hardware.camera.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.common@1.0-vts.profiler",
+ generated_sources: ["android.hardware.camera.common@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.common@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.common@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/camera/device/V1_0/Android.bp b/camera/device/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/camera/device/V1_0/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 = [
+ "*",
+]
diff --git a/camera/device/V1_0/build/Android.bp b/camera/device/V1_0/build/Android.bp
new file mode 100644
index 0000000..4a6bc1e
--- /dev/null
+++ b/camera/device/V1_0/build/Android.bp
@@ -0,0 +1,159 @@
+// 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.camera.device@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.camera.device@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/CameraDevice.vts",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts",
+ "android/hardware/camera/device/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.camera.device@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.camera.device@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ ":android.hardware.camera.device@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.cpp",
+ "android/hardware/camera/device/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@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.camera.device@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ ":android.hardware.camera.device@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/CameraDevice.vts.h",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.h",
+ "android/hardware/camera/device/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device@1.0-vts.driver",
+ generated_sources: ["android.hardware.camera.device@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.camera.device@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.camera.device@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.camera.device@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ ":android.hardware.camera.device@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.cpp",
+ "android/hardware/camera/device/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@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.camera.device@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ ":android.hardware.camera.device@1.0_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/CameraDevice.vts.h",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.h",
+ "android/hardware/camera/device/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device@1.0-vts.profiler",
+ generated_sources: ["android.hardware.camera.device@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.device@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.profiler",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/camera/device/V3_2/Android.bp b/camera/device/V3_2/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/camera/device/V3_2/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 = [
+ "*",
+]
diff --git a/camera/device/V3_2/build/Android.bp b/camera/device/V3_2/build/Android.bp
new file mode 100644
index 0000000..f7a8369
--- /dev/null
+++ b/camera/device/V3_2/build/Android.bp
@@ -0,0 +1,159 @@
+// 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.camera.device@3.2-vts.spec",
+ srcs: [
+ ":android.hardware.camera.device@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/CameraDevice.vts",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts",
+ "android/hardware/camera/device/3.2/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.camera.device@3.2-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.camera.device@3.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ ":android.hardware.camera.device@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.cpp",
+ "android/hardware/camera/device/3.2/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@3.2-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.camera.device@3.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ ":android.hardware.camera.device@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/CameraDevice.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.h",
+ "android/hardware/camera/device/3.2/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device@3.2-vts.driver",
+ generated_sources: ["android.hardware.camera.device@3.2-vts.driver_genc++"],
+ generated_headers: ["android.hardware.camera.device@3.2-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device@3.2-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.device@3.2",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.camera.device@3.2-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.camera.device@3.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ ":android.hardware.camera.device@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.cpp",
+ "android/hardware/camera/device/3.2/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@3.2-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.camera.device@3.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ ":android.hardware.camera.device@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/CameraDevice.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.h",
+ "android/hardware/camera/device/3.2/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device@3.2-vts.profiler",
+ generated_sources: ["android.hardware.camera.device@3.2-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.device@3.2-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device@3.2-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.device@3.2",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.profiler",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/camera/metadata/V3_2/Android.bp b/camera/metadata/V3_2/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/camera/metadata/V3_2/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 = [
+ "*",
+]
diff --git a/camera/metadata/V3_2/build/Android.bp b/camera/metadata/V3_2/build/Android.bp
new file mode 100644
index 0000000..92544b2
--- /dev/null
+++ b/camera/metadata/V3_2/build/Android.bp
@@ -0,0 +1,135 @@
+// 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.camera.metadata@3.2-vts.spec",
+ srcs: [
+ ":android.hardware.camera.metadata@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.camera.metadata@3.2-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.camera.metadata@3.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ ":android.hardware.camera.metadata@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.metadata@3.2-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.camera.metadata@3.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ ":android.hardware.camera.metadata@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.metadata@3.2-vts.driver",
+ generated_sources: ["android.hardware.camera.metadata@3.2-vts.driver_genc++"],
+ generated_headers: ["android.hardware.camera.metadata@3.2-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.metadata@3.2-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.metadata@3.2",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.camera.metadata@3.2-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.camera.metadata@3.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ ":android.hardware.camera.metadata@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.metadata@3.2-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.camera.metadata@3.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ ":android.hardware.camera.metadata@3.2_hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.metadata@3.2-vts.profiler",
+ generated_sources: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.metadata@3.2",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/camera/provider/V2_4/Android.bp b/camera/provider/V2_4/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/camera/provider/V2_4/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 = [
+ "*",
+]
diff --git a/camera/provider/V2_4/build/Android.bp b/camera/provider/V2_4/build/Android.bp
new file mode 100644
index 0000000..eff4684
--- /dev/null
+++ b/camera/provider/V2_4/build/Android.bp
@@ -0,0 +1,161 @@
+// 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.camera.provider@2.4-vts.spec",
+ srcs: [
+ ":android.hardware.camera.provider@2.4_hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.camera.provider@2.4-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.camera.provider@2.4 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ ":android.hardware.camera.provider@2.4_hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.cpp",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.provider@2.4-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.camera.provider@2.4 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ ":android.hardware.camera.provider@2.4_hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.h",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.provider@2.4-vts.driver",
+ generated_sources: ["android.hardware.camera.provider@2.4-vts.driver_genc++"],
+ generated_headers: ["android.hardware.camera.provider@2.4-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.provider@2.4-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.provider@2.4",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.driver",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.device@1.0-vts.driver",
+ "android.hardware.camera.device@3.2",
+ "android.hardware.camera.device@3.2-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.driver",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.device@1.0-vts.driver",
+ "android.hardware.camera.device@3.2",
+ "android.hardware.camera.device@3.2-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.camera.provider@2.4-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.camera.provider@2.4 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ ":android.hardware.camera.provider@2.4_hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.cpp",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.provider@2.4-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.camera.provider@2.4 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ ":android.hardware.camera.provider@2.4_hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.h",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.provider@2.4-vts.profiler",
+ generated_sources: ["android.hardware.camera.provider@2.4-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.provider@2.4-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.provider@2.4-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.provider@2.4",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.common@1.0-vts.profiler",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.device@1.0-vts.profiler",
+ "android.hardware.camera.device@3.2",
+ "android.hardware.camera.device@3.2-vts.profiler",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/camera/provider/V2_4/target/Android.mk b/camera/provider/V2_4/target/Android.mk
new file mode 100644
index 0000000..a179da3
--- /dev/null
+++ b/camera/provider/V2_4/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalCameraProviderV2_4Target
+VTS_CONFIG_SRC_DIR := testcases/hal/camera/provider/V2_4/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/camera/provider/V2_4/target/AndroidTest.xml b/camera/provider/V2_4/target/AndroidTest.xml
new file mode 100644
index 0000000..0cb7213
--- /dev/null
+++ b/camera/provider/V2_4/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 VtsHalCameraProviderV2_4Target 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="VtsHalCameraProviderV2_4Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="precondition-lshal" value="android.hardware.camera.provider@2.4"/>
+ <option name="skip-on-64bit-abi" value="true"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/camera/provider/V2_4/target_profiling/Android.mk b/camera/provider/V2_4/target_profiling/Android.mk
new file mode 100644
index 0000000..16f080e
--- /dev/null
+++ b/camera/provider/V2_4/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalCameraProviderV2_4TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/camera/provider/V2_4/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/camera/provider/V2_4/target_profiling/AndroidTest.xml b/camera/provider/V2_4/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..4e213a0
--- /dev/null
+++ b/camera/provider/V2_4/target_profiling/AndroidTest.xml
@@ -0,0 +1,42 @@
+<?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 VtsHalCameraProviderV2_4TargetProfiling 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.camera.common@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.camera.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.camera.common@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.camera.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.camera.device@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.camera.device@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.camera.device@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.camera.device@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.camera.device@3.2-vts.profiler.so->/data/local/tmp/32/android.hardware.camera.device@3.2-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.camera.device@3.2-vts.profiler.so->/data/local/tmp/64/android.hardware.camera.device@3.2-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.graphics.common@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.graphics.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.graphics.common@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.graphics.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.camera.provider@2.4-vts.profiler.so->/data/local/tmp/32/android.hardware.camera.provider@2.4-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.camera.provider@2.4-vts.profiler.so->/data/local/tmp/64/android.hardware.camera.provider@2.4-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="VtsHalCameraProviderV2_4TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.camera.provider@2.4"/>
+ <option name="skip-on-64bit-abi" value="true"/>
+ <option name="test-timeout" value="25m"/>
+ </test>
+</configuration>
diff --git a/configstore/V1_0/target/Android.mk b/configstore/V1_0/target/Android.mk
new file mode 100644
index 0000000..7b6dbce
--- /dev/null
+++ b/configstore/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalConfigstoreV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_0/target/AndroidTest.xml b/configstore/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..ba95828
--- /dev/null
+++ b/configstore/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 VtsHalConfigstoreV1_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="VtsHalConfigstoreV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalConfigstoreV1_0TargetTest/VtsHalConfigstoreV1_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalConfigstoreV1_0TargetTest/VtsHalConfigstoreV1_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.configstore@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/configstore/V1_0/target_profiling/Android.mk b/configstore/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..e9f8597
--- /dev/null
+++ b/configstore/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalConfigstoreV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_0/target_profiling/AndroidTest.xml b/configstore/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..7b0e20f
--- /dev/null
+++ b/configstore/V1_0/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 VtsHalConfigstoreV1_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.configstore@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.configstore@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.configstore@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.configstore@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="VtsHalConfigstoreV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalConfigstoreV1_0TargetTest/VtsHalConfigstoreV1_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalConfigstoreV1_0TargetTest/VtsHalConfigstoreV1_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.configstore@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/contexthub/Android.bp b/contexthub/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/contexthub/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/contexthub/V1_0/Android.bp b/contexthub/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/contexthub/V1_0/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 = [
+ "*",
+]
diff --git a/contexthub/V1_0/__init__.py b/contexthub/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contexthub/V1_0/__init__.py
diff --git a/contexthub/V1_0/build/Android.bp b/contexthub/V1_0/build/Android.bp
new file mode 100644
index 0000000..e760724
--- /dev/null
+++ b/contexthub/V1_0/build/Android.bp
@@ -0,0 +1,145 @@
+// 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.contexthub@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.contexthub@1.0_hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/Contexthub.vts",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts",
+ "android/hardware/contexthub/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.contexthub@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.contexthub@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ ":android.hardware.contexthub@1.0_hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/Contexthub.vts.cpp",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.cpp",
+ "android/hardware/contexthub/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.contexthub@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.contexthub@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ ":android.hardware.contexthub@1.0_hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/Contexthub.vts.h",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.h",
+ "android/hardware/contexthub/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.contexthub@1.0-vts.driver",
+ generated_sources: ["android.hardware.contexthub@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.contexthub@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.contexthub@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.contexthub@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.contexthub@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.contexthub@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ ":android.hardware.contexthub@1.0_hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/Contexthub.vts.cpp",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.cpp",
+ "android/hardware/contexthub/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.contexthub@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.contexthub@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ ":android.hardware.contexthub@1.0_hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/Contexthub.vts.h",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.h",
+ "android/hardware/contexthub/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.contexthub@1.0-vts.profiler",
+ generated_sources: ["android.hardware.contexthub@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.contexthub@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.contexthub@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.contexthub@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/contexthub/V1_0/host/Android.mk b/contexthub/V1_0/host/Android.mk
new file mode 100644
index 0000000..6c60251
--- /dev/null
+++ b/contexthub/V1_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalContexthubV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/host/AndroidTest.xml b/contexthub/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..e55faad
--- /dev/null
+++ b/contexthub/V1_0/host/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 VtsHalContexthubV1_0Host 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/contexthub/1.0/vts/Contexthub.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/Contexthub.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/ContexthubCallback.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/ContexthubCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.contexthub@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.contexthub@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="VtsHalContexthubV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest"/>
+ <option name="precondition-lshal" value="android.hardware.contexthub@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest.py b/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest.py
new file mode 100644
index 0000000..51b3837
--- /dev/null
+++ b/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest.py
@@ -0,0 +1,140 @@
+#!/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 threading
+import time
+
+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 ContextHubCallback:
+ def __init__(self, hub_id):
+ self.hub_id = hub_id
+ self.event = threading.Event()
+
+ def wait_on_callback(timeout=None):
+ """Wait on the next callback in this object to be invoked.
+
+ Args:
+ timeout: (fractional) seconds to wait before timing out, or None
+
+ Returns:
+ True when a callback was received, False if a timeout occurred
+ """
+ return self.event.wait(timeout)
+
+ def prepare():
+ # TODO: cleaner method of doing this, so that we clear --> call HAL
+ # method --> wait for CB, all wrapped into one
+ self.event.clear()
+
+ def ignore_client_msg(self, msg):
+ logging.debug("Ignoring client message from hubId %s: %s", self.hub_id, msg)
+ self.event.set()
+
+ def ignore_txn_result(self, txnId, result):
+ logging.debug("Ignoring transaction result from hubId %s: %s", self.hub_id, msg)
+ self.event.set()
+
+ def ignore_hub_event(self, evt):
+ logging.debug("Ignoring hub event from hubId %s: %s", self.hub_id, evt)
+ self.event.set()
+
+ def ignore_apps_info(self, appInfo):
+ logging.debug("Ignoring app info data from hubId %s: %s", self.hub_id, appInfo)
+ self.event.set()
+
+
+class ContexthubHidlTest(base_test.BaseTestClass):
+ """A set of test cases for the context hub HIDL HAL"""
+
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer CONTEXTHUB service."""
+ 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
+
+ if self.profiling.enabled:
+ self.profiling.EnableVTSProfiling(self.dut.shell.one)
+
+ # Bring down the Android runtime so it doesn't interfere with the test
+ #self.dut.shell.one.Execute("stop")
+
+ self.dut.hal.InitHidlHal(
+ target_type="contexthub",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.contexthub",
+ target_component_name="IContexthub",
+ hw_binder_service_name="contexthub",
+ bits=int(self.abi_bitness))
+
+ self.types = self.dut.hal.contexthub.GetHidlTypeInterface("types")
+ logging.info("types: %s", self.types)
+
+ def tearDownClass(self):
+ # Restart the Android runtime
+ #self.dut.shell.one.Execute("start")
+ if not self._skip_all_testcases and self.profiling.enabled:
+ self.profiling.ProcessAndUploadTraceData()
+
+ def tearDown(self):
+ """Process trace data.
+ """
+ if self.profiling.enabled:
+ self.profiling.ProcessTraceDataForTestCase(self.dut)
+ self.profiling.DisableVTSProfiling(self.dut.shell.one)
+
+ def testContexthubBasic(self):
+ logging.info("About to call gethubs!!!")
+ hubs = self.dut.hal.contexthub.getHubs()
+ logging.info("Got result: %s", hubs)
+ #
+ #hub_id = 0 # TODO: should get this from hub list
+ #
+ #cb = ContextHubCallback(hub_id)
+ #client_callback = self.dut.hal.contexthub.GetHidlCallbackInterface(
+ # "IContexthubCallback",
+ # handleClientMsg=cb.ignore_client_msg,
+ # handleTxnResult=cb.ignore_txn_result,
+ # handleHubEvent=cb.ignore_hub_event,
+ # handleAppsInfo=cb.ignore_apps_info)
+ #
+ #logging.info("About to call registerCallback")
+ #result = self.dut.hal.contexthub.registerCallback(hub_id,
+ # client_callback)
+ #logging.info("registerCallback returned result: %s", result)
+ #
+ #logging.info("About to call queryApps")
+ #result = self.dut.hal.contexthub.queryApps(hub_id)
+ #logging.info("queryApps returned result: %s", result)
+ #
+ #got_callback = cb.wait_on_callback(5)
+ #logging.info("Wait on callback returned %s", got_callback)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/contexthub/V1_0/host/__init__.py b/contexthub/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contexthub/V1_0/host/__init__.py
diff --git a/contexthub/V1_0/target/Android.mk b/contexthub/V1_0/target/Android.mk
new file mode 100644
index 0000000..5e7d7a9
--- /dev/null
+++ b/contexthub/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalContexthubV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/target/AndroidTest.xml b/contexthub/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..8b19d20
--- /dev/null
+++ b/contexthub/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 VtsHalContexthubV1_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="VtsHalContexthubV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalContexthubV1_0TargetTest/VtsHalContexthubV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalContexthubV1_0TargetTest/VtsHalContexthubV1_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.contexthub@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_0/target_profiling/Android.mk b/contexthub/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..40ebb6c
--- /dev/null
+++ b/contexthub/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalContexthubV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/target_profiling/AndroidTest.xml b/contexthub/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..e4d2faa
--- /dev/null
+++ b/contexthub/V1_0/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 VtsHalContexthubV1_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.contexthub@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.contexthub@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.contexthub@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.contexthub@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="VtsHalContexthubV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalContexthubV1_0TargetTest/VtsHalContexthubV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalContexthubV1_0TargetTest/VtsHalContexthubV1_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.contexthub@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_0/target_replay/Android.mk b/contexthub/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..d935d2b
--- /dev/null
+++ b/contexthub/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalContexthubV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/target_replay/AndroidTest.xml b/contexthub/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..caac85a
--- /dev/null
+++ b/contexthub/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 VtsHalContexthubV1_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/contexthub/1.0/vts/Contexthub.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/Contexthub.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/ContexthubCallback.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/ContexthubCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.contexthub@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.contexthub@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="VtsHalContexthubV1_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/contexthub/V1_0/android.hardware.contexthub@1.0_sailfish_1.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.contexthub@1.0"/>
+ <option name="precondition-lshal" value="android.hardware.contexthub@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/contexthub/__init__.py b/contexthub/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contexthub/__init__.py
diff --git a/drm/Android.bp b/drm/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/drm/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/drm/V1_0/Android.bp b/drm/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/drm/V1_0/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 = [
+ "*",
+]
diff --git a/drm/V1_0/build/Android.bp b/drm/V1_0/build/Android.bp
new file mode 100644
index 0000000..1d223b3
--- /dev/null
+++ b/drm/V1_0/build/Android.bp
@@ -0,0 +1,160 @@
+// 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.drm@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.drm@1.0_hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/CryptoFactory.vts",
+ "android/hardware/drm/1.0/CryptoPlugin.vts",
+ "android/hardware/drm/1.0/DrmFactory.vts",
+ "android/hardware/drm/1.0/DrmPlugin.vts",
+ "android/hardware/drm/1.0/DrmPluginListener.vts",
+ "android/hardware/drm/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.drm@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.drm@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ ":android.hardware.drm@1.0_hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/CryptoFactory.vts.cpp",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmFactory.vts.cpp",
+ "android/hardware/drm/1.0/DrmPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.cpp",
+ "android/hardware/drm/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.drm@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.drm@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ ":android.hardware.drm@1.0_hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/CryptoFactory.vts.h",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmFactory.vts.h",
+ "android/hardware/drm/1.0/DrmPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.h",
+ "android/hardware/drm/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.drm@1.0-vts.driver",
+ generated_sources: ["android.hardware.drm@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.drm@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.drm@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.drm@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.drm@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.drm@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ ":android.hardware.drm@1.0_hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/CryptoFactory.vts.cpp",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmFactory.vts.cpp",
+ "android/hardware/drm/1.0/DrmPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.cpp",
+ "android/hardware/drm/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.drm@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.drm@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ ":android.hardware.drm@1.0_hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/CryptoFactory.vts.h",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmFactory.vts.h",
+ "android/hardware/drm/1.0/DrmPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.h",
+ "android/hardware/drm/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.drm@1.0-vts.profiler",
+ generated_sources: ["android.hardware.drm@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.drm@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.drm@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.drm@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/drm/V1_0/target/Android.mk b/drm/V1_0/target/Android.mk
new file mode 100644
index 0000000..22d31f1
--- /dev/null
+++ b/drm/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalDrmV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/drm/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/drm/V1_0/target/AndroidTest.xml b/drm/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..44dfb25
--- /dev/null
+++ b/drm/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 VtsHalDrmV1_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"/>
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDrmV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="precondition-lshal" value="android.hardware.drm@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/drm/V1_0/target_profiling/Android.mk b/drm/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..609e3ec
--- /dev/null
+++ b/drm/V1_0/target_profiling/Android.mk
@@ -0,0 +1,26 @@
+#
+# 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 $(call all-subdir-makefiles)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := VtsHalDrmV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/drm/V1_0/target_profiling
+
+include test/vts/tools/build/Android.host_config.mk
diff --git a/drm/V1_0/target_profiling/AndroidTest.xml b/drm/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..ec2e238
--- /dev/null
+++ b/drm/V1_0/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 VtsHalDrmV1_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/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="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>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDrmV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.drm@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/dumpstate/Android.bp b/dumpstate/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/dumpstate/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/dumpstate/V1_0/Android.bp b/dumpstate/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/dumpstate/V1_0/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 = [
+ "*",
+]
diff --git a/dumpstate/V1_0/build/Android.bp b/dumpstate/V1_0/build/Android.bp
new file mode 100644
index 0000000..4349699
--- /dev/null
+++ b/dumpstate/V1_0/build/Android.bp
@@ -0,0 +1,135 @@
+// 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.dumpstate@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.dumpstate@1.0_hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.dumpstate@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.dumpstate@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ ":android.hardware.dumpstate@1.0_hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.dumpstate@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.dumpstate@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ ":android.hardware.dumpstate@1.0_hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.dumpstate@1.0-vts.driver",
+ generated_sources: ["android.hardware.dumpstate@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.dumpstate@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.dumpstate@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.dumpstate@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.dumpstate@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.dumpstate@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ ":android.hardware.dumpstate@1.0_hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.dumpstate@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.dumpstate@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ ":android.hardware.dumpstate@1.0_hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.dumpstate@1.0-vts.profiler",
+ generated_sources: ["android.hardware.dumpstate@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.dumpstate@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.dumpstate@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.dumpstate@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/gatekeeper/Android.bp b/gatekeeper/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/gatekeeper/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/gatekeeper/V1_0/Android.bp b/gatekeeper/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/gatekeeper/V1_0/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 = [
+ "*",
+]
diff --git a/gatekeeper/V1_0/build/Android.bp b/gatekeeper/V1_0/build/Android.bp
new file mode 100644
index 0000000..e0219b0
--- /dev/null
+++ b/gatekeeper/V1_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.gatekeeper@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.gatekeeper@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts",
+ "android/hardware/gatekeeper/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.gatekeeper@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.gatekeeper@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ ":android.hardware.gatekeeper@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.cpp",
+ "android/hardware/gatekeeper/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gatekeeper@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.gatekeeper@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ ":android.hardware.gatekeeper@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.h",
+ "android/hardware/gatekeeper/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gatekeeper@1.0-vts.driver",
+ generated_sources: ["android.hardware.gatekeeper@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.gatekeeper@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.gatekeeper@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.gatekeeper@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.gatekeeper@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.gatekeeper@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ ":android.hardware.gatekeeper@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.cpp",
+ "android/hardware/gatekeeper/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gatekeeper@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.gatekeeper@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ ":android.hardware.gatekeeper@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.h",
+ "android/hardware/gatekeeper/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gatekeeper@1.0-vts.profiler",
+ generated_sources: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.gatekeeper@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/gatekeeper/V1_0/target/Android.mk b/gatekeeper/V1_0/target/Android.mk
new file mode 100644
index 0000000..ff457e6
--- /dev/null
+++ b/gatekeeper/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGatekeeperV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/V1_0/target/AndroidTest.xml b/gatekeeper/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..c663c9e
--- /dev/null
+++ b/gatekeeper/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 VtsHalGatekeeperV1_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="VtsHalGatekeeperV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGatekeeperV1_0TargetTest/VtsHalGatekeeperV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGatekeeperV1_0TargetTest/VtsHalGatekeeperV1_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.gatekeeper@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/gatekeeper/V1_0/target_profiling/Android.mk b/gatekeeper/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..603a4c1
--- /dev/null
+++ b/gatekeeper/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGatekeeperV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/V1_0/target_profiling/AndroidTest.xml b/gatekeeper/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..d810c70
--- /dev/null
+++ b/gatekeeper/V1_0/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 VtsHalGatekeeperV1_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.gatekeeper@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.gatekeeper@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.gatekeeper@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.gatekeeper@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="VtsHalGatekeeperV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGatekeeperV1_0TargetTest/VtsHalGatekeeperV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGatekeeperV1_0TargetTest/VtsHalGatekeeperV1_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.gatekeeper@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/gnss/Android.bp b/gnss/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/gnss/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/gnss/V1_0/Android.bp b/gnss/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/gnss/V1_0/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 = [
+ "*",
+]
diff --git a/gnss/V1_0/build/Android.bp b/gnss/V1_0/build/Android.bp
new file mode 100644
index 0000000..71697ae
--- /dev/null
+++ b/gnss/V1_0/build/Android.bp
@@ -0,0 +1,235 @@
+// 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.gnss@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.gnss@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/AGnss.vts",
+ "android/hardware/gnss/1.0/AGnssCallback.vts",
+ "android/hardware/gnss/1.0/AGnssRil.vts",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts",
+ "android/hardware/gnss/1.0/Gnss.vts",
+ "android/hardware/gnss/1.0/GnssBatching.vts",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts",
+ "android/hardware/gnss/1.0/GnssCallback.vts",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts",
+ "android/hardware/gnss/1.0/GnssDebug.vts",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts",
+ "android/hardware/gnss/1.0/GnssNi.vts",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts",
+ "android/hardware/gnss/1.0/GnssXtra.vts",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts",
+ "android/hardware/gnss/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.gnss@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.gnss@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ ":android.hardware.gnss@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/AGnss.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRil.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.cpp",
+ "android/hardware/gnss/1.0/Gnss.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatching.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.cpp",
+ "android/hardware/gnss/1.0/GnssDebug.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNi.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtra.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.cpp",
+ "android/hardware/gnss/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gnss@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.gnss@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ ":android.hardware.gnss@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/AGnss.vts.h",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.h",
+ "android/hardware/gnss/1.0/AGnssRil.vts.h",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.h",
+ "android/hardware/gnss/1.0/Gnss.vts.h",
+ "android/hardware/gnss/1.0/GnssBatching.vts.h",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.h",
+ "android/hardware/gnss/1.0/GnssDebug.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNi.vts.h",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssXtra.vts.h",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.h",
+ "android/hardware/gnss/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gnss@1.0-vts.driver",
+ generated_sources: ["android.hardware.gnss@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.gnss@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.gnss@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.gnss@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.gnss@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.gnss@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ ":android.hardware.gnss@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/AGnss.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRil.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.cpp",
+ "android/hardware/gnss/1.0/Gnss.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatching.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.cpp",
+ "android/hardware/gnss/1.0/GnssDebug.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNi.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtra.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.cpp",
+ "android/hardware/gnss/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gnss@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.gnss@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ ":android.hardware.gnss@1.0_hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/AGnss.vts.h",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.h",
+ "android/hardware/gnss/1.0/AGnssRil.vts.h",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.h",
+ "android/hardware/gnss/1.0/Gnss.vts.h",
+ "android/hardware/gnss/1.0/GnssBatching.vts.h",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.h",
+ "android/hardware/gnss/1.0/GnssDebug.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNi.vts.h",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssXtra.vts.h",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.h",
+ "android/hardware/gnss/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gnss@1.0-vts.profiler",
+ generated_sources: ["android.hardware.gnss@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.gnss@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.gnss@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.gnss@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/gnss/V1_0/target/Android.mk b/gnss/V1_0/target/Android.mk
new file mode 100644
index 0000000..7a60e2c
--- /dev/null
+++ b/gnss/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGnssV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/gnss/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/gnss/V1_0/target/AndroidTest.xml b/gnss/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..7b4aa21
--- /dev/null
+++ b/gnss/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 VtsHalGnssV1_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="VtsHalGnssV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGnssV1_0TargetTest/VtsHalGnssV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGnssV1_0TargetTest/VtsHalGnssV1_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.gnss@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/gnss/V1_0/target_profiling/Android.mk b/gnss/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..bb14b55
--- /dev/null
+++ b/gnss/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGnssV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/gnss/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/gnss/V1_0/target_profiling/AndroidTest.xml b/gnss/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..22ff140
--- /dev/null
+++ b/gnss/V1_0/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 VtsHalGnssV1_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.gnss@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.gnss@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.gnss@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.gnss@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="VtsHalGnssV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGnssV1_0TargetTest/VtsHalGnssV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGnssV1_0TargetTest/VtsHalGnssV1_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.gnss@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/graphics/Android.bp b/graphics/Android.bp
new file mode 100644
index 0000000..5e19b96
--- /dev/null
+++ b/graphics/Android.bp
@@ -0,0 +1,10 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+ "allocator/V2_0",
+ "bufferqueue/V1_0",
+ "common/V1_0",
+ "composer/V2_1",
+ "mapper/V2_0",
+]
diff --git a/graphics/allocator/V2_0/Android.bp b/graphics/allocator/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/graphics/allocator/V2_0/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 = [
+ "*",
+]
diff --git a/graphics/allocator/V2_0/build/Android.bp b/graphics/allocator/V2_0/build/Android.bp
new file mode 100644
index 0000000..f2a4330
--- /dev/null
+++ b/graphics/allocator/V2_0/build/Android.bp
@@ -0,0 +1,138 @@
+// 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.graphics.allocator@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.graphics.allocator@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/allocator/2.0/Allocator.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.graphics.allocator@2.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.graphics.allocator@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
+ srcs: [
+ ":android.hardware.graphics.allocator@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/allocator/2.0/Allocator.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.allocator@2.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.graphics.allocator@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
+ srcs: [
+ ":android.hardware.graphics.allocator@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/allocator/2.0/Allocator.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.allocator@2.0-vts.driver",
+ generated_sources: ["android.hardware.graphics.allocator@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.graphics.allocator@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.allocator@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.mapper@2.0",
+ "android.hardware.graphics.mapper@2.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.graphics.mapper@2.0",
+ "android.hardware.graphics.mapper@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.graphics.allocator@2.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.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
+ srcs: [
+ ":android.hardware.graphics.allocator@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/allocator/2.0/Allocator.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.allocator@2.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.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
+ srcs: [
+ ":android.hardware.graphics.allocator@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/allocator/2.0/Allocator.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.allocator@2.0-vts.profiler",
+ generated_sources: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.mapper@2.0",
+ "android.hardware.graphics.mapper@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/graphics/bufferqueue/V1_0/Android.bp b/graphics/bufferqueue/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/graphics/bufferqueue/V1_0/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 = [
+ "*",
+]
diff --git a/graphics/bufferqueue/V1_0/build/Android.bp b/graphics/bufferqueue/V1_0/build/Android.bp
new file mode 100644
index 0000000..d3db501
--- /dev/null
+++ b/graphics/bufferqueue/V1_0/build/Android.bp
@@ -0,0 +1,149 @@
+// 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.graphics.bufferqueue@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.graphics.bufferqueue@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/bufferqueue/1.0/GraphicBufferProducer.vts",
+ "android/hardware/graphics/bufferqueue/1.0/ProducerListener.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.graphics.bufferqueue@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.graphics.bufferqueue@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/bufferqueue/1.0/ $(genDir)/android/hardware/graphics/bufferqueue/1.0/",
+ srcs: [
+ ":android.hardware.graphics.bufferqueue@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/bufferqueue/1.0/GraphicBufferProducer.vts.cpp",
+ "android/hardware/graphics/bufferqueue/1.0/ProducerListener.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.bufferqueue@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.graphics.bufferqueue@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/bufferqueue/1.0/ $(genDir)/android/hardware/graphics/bufferqueue/1.0/",
+ srcs: [
+ ":android.hardware.graphics.bufferqueue@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/bufferqueue/1.0/GraphicBufferProducer.vts.h",
+ "android/hardware/graphics/bufferqueue/1.0/ProducerListener.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.bufferqueue@1.0-vts.driver",
+ generated_sources: ["android.hardware.graphics.bufferqueue@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.graphics.bufferqueue@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.bufferqueue@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.bufferqueue@1.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ "android.hardware.media@1.0",
+ "android.hardware.media@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ "android.hardware.media@1.0",
+ "android.hardware.media@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.graphics.bufferqueue@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.graphics.bufferqueue@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/bufferqueue/1.0/ $(genDir)/android/hardware/graphics/bufferqueue/1.0/",
+ srcs: [
+ ":android.hardware.graphics.bufferqueue@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/bufferqueue/1.0/GraphicBufferProducer.vts.cpp",
+ "android/hardware/graphics/bufferqueue/1.0/ProducerListener.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.bufferqueue@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.graphics.bufferqueue@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/bufferqueue/1.0/ $(genDir)/android/hardware/graphics/bufferqueue/1.0/",
+ srcs: [
+ ":android.hardware.graphics.bufferqueue@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/bufferqueue/1.0/GraphicBufferProducer.vts.h",
+ "android/hardware/graphics/bufferqueue/1.0/ProducerListener.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.bufferqueue@1.0-vts.profiler",
+ generated_sources: ["android.hardware.graphics.bufferqueue@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.bufferqueue@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.bufferqueue@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.bufferqueue@1.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.profiler",
+ "android.hardware.media@1.0",
+ "android.hardware.media@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/graphics/common/V1_0/Android.bp b/graphics/common/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/graphics/common/V1_0/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 = [
+ "*",
+]
diff --git a/graphics/common/V1_0/build/Android.bp b/graphics/common/V1_0/build/Android.bp
new file mode 100644
index 0000000..db04138
--- /dev/null
+++ b/graphics/common/V1_0/build/Android.bp
@@ -0,0 +1,135 @@
+// 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.graphics.common@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.graphics.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.graphics.common@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.graphics.common@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ ":android.hardware.graphics.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.common@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.graphics.common@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ ":android.hardware.graphics.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.common@1.0-vts.driver",
+ generated_sources: ["android.hardware.graphics.common@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.graphics.common@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.common@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.graphics.common@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.graphics.common@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ ":android.hardware.graphics.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.common@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.graphics.common@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ ":android.hardware.graphics.common@1.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.common@1.0-vts.profiler",
+ generated_sources: ["android.hardware.graphics.common@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.common@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.common@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/graphics/composer/V2_1/Android.bp b/graphics/composer/V2_1/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/graphics/composer/V2_1/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 = [
+ "*",
+]
diff --git a/graphics/composer/V2_1/build/Android.bp b/graphics/composer/V2_1/build/Android.bp
new file mode 100644
index 0000000..cdb90c2
--- /dev/null
+++ b/graphics/composer/V2_1/build/Android.bp
@@ -0,0 +1,153 @@
+// 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.graphics.composer@2.1-vts.spec",
+ srcs: [
+ ":android.hardware.graphics.composer@2.1_hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/Composer.vts",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts",
+ "android/hardware/graphics/composer/2.1/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.graphics.composer@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.graphics.composer@2.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ ":android.hardware.graphics.composer@2.1_hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/Composer.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.cpp",
+ "android/hardware/graphics/composer/2.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.composer@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.graphics.composer@2.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ ":android.hardware.graphics.composer@2.1_hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/Composer.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.h",
+ "android/hardware/graphics/composer/2.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.composer@2.1-vts.driver",
+ generated_sources: ["android.hardware.graphics.composer@2.1-vts.driver_genc++"],
+ generated_headers: ["android.hardware.graphics.composer@2.1-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.composer@2.1-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.composer@2.1",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.graphics.composer@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.graphics.composer@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ ":android.hardware.graphics.composer@2.1_hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/Composer.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.cpp",
+ "android/hardware/graphics/composer/2.1/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.composer@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.graphics.composer@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ ":android.hardware.graphics.composer@2.1_hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/Composer.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.h",
+ "android/hardware/graphics/composer/2.1/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.composer@2.1-vts.profiler",
+ generated_sources: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.composer@2.1",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/graphics/composer/V2_1/target/Android.mk b/graphics/composer/V2_1/target/Android.mk
new file mode 100644
index 0000000..5c3cd0b
--- /dev/null
+++ b/graphics/composer/V2_1/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGraphicsComposerV2_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/graphics/composer/V2_1/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/composer/V2_1/target/AndroidTest.xml b/graphics/composer/V2_1/target/AndroidTest.xml
new file mode 100644
index 0000000..611da9c
--- /dev/null
+++ b/graphics/composer/V2_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 VtsHalGraphicsComposerV2_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="VtsHalGraphicsComposerV2_1Target"/>
+ <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="precondition-lshal" value="android.hardware.graphics.composer@2.1"/>
+ <option name="test-timeout" value="2m"/>
+ </test>
+</configuration>
diff --git a/graphics/composer/V2_1/target_profiling/Android.mk b/graphics/composer/V2_1/target_profiling/Android.mk
new file mode 100644
index 0000000..2178f89
--- /dev/null
+++ b/graphics/composer/V2_1/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGraphicsComposerV2_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/graphics/composer/V2_1/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/composer/V2_1/target_profiling/AndroidTest.xml b/graphics/composer/V2_1/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..7f66dd5
--- /dev/null
+++ b/graphics/composer/V2_1/target_profiling/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?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 VtsHalGraphicsComposerV2_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.graphics.common@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.graphics.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.graphics.common@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.graphics.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.graphics.composer@2.1-vts.profiler.so->/data/local/tmp/32/android.hardware.graphics.composer@2.1-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.graphics.composer@2.1-vts.profiler.so->/data/local/tmp/64/android.hardware.graphics.composer@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="VtsHalGraphicsComposerV2_1TargetProfiling"/>
+ <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="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.graphics.composer@2.1"/>
+ <option name="test-timeout" value="3m"/>
+ </test>
+</configuration>
diff --git a/graphics/mapper/V2_0/Android.bp b/graphics/mapper/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/graphics/mapper/V2_0/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 = [
+ "*",
+]
diff --git a/graphics/mapper/V2_0/build/Android.bp b/graphics/mapper/V2_0/build/Android.bp
new file mode 100644
index 0000000..1ee37df
--- /dev/null
+++ b/graphics/mapper/V2_0/build/Android.bp
@@ -0,0 +1,143 @@
+// 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.graphics.mapper@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.graphics.mapper@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/Mapper.vts",
+ "android/hardware/graphics/mapper/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.graphics.mapper@2.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.graphics.mapper@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ ":android.hardware.graphics.mapper@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.cpp",
+ "android/hardware/graphics/mapper/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.mapper@2.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.graphics.mapper@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ ":android.hardware.graphics.mapper@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.h",
+ "android/hardware/graphics/mapper/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.mapper@2.0-vts.driver",
+ generated_sources: ["android.hardware.graphics.mapper@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.graphics.mapper@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.mapper@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.mapper@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.graphics.mapper@2.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.graphics.mapper@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ ":android.hardware.graphics.mapper@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.cpp",
+ "android/hardware/graphics/mapper/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.mapper@2.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.graphics.mapper@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ ":android.hardware.graphics.mapper@2.0_hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.h",
+ "android/hardware/graphics/mapper/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.mapper@2.0-vts.profiler",
+ generated_sources: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.mapper@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/graphics/mapper/V2_0/target/Android.mk b/graphics/mapper/V2_0/target/Android.mk
new file mode 100644
index 0000000..5bb66f0
--- /dev/null
+++ b/graphics/mapper/V2_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGraphicsMapperV2_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/graphics/mapper/V2_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/mapper/V2_0/target/AndroidTest.xml b/graphics/mapper/V2_0/target/AndroidTest.xml
new file mode 100644
index 0000000..1ac4671
--- /dev/null
+++ b/graphics/mapper/V2_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 VtsHalGraphicsMapperV2_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="VtsHalGraphicsMapperV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsMapperV2_0TargetTest/VtsHalGraphicsMapperV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsMapperV2_0TargetTest/VtsHalGraphicsMapperV2_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.graphics.mapper@2.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/graphics/mapper/V2_0/target_profiling/Android.mk b/graphics/mapper/V2_0/target_profiling/Android.mk
new file mode 100644
index 0000000..e8edcff
--- /dev/null
+++ b/graphics/mapper/V2_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalGraphicsMapperV2_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/graphics/mapper/V2_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/mapper/V2_0/target_profiling/AndroidTest.xml b/graphics/mapper/V2_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..2c54d8b
--- /dev/null
+++ b/graphics/mapper/V2_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?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 VtsHalGraphicsMapperV2_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.graphics.common@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.graphics.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.graphics.common@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.graphics.common@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.graphics.mapper@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.graphics.mapper@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.graphics.mapper@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.graphics.mapper@2.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="VtsHalGraphicsMapperV2_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsMapperV2_0TargetTest/VtsHalGraphicsMapperV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsMapperV2_0TargetTest/VtsHalGraphicsMapperV2_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.graphics.mapper@2.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/health/Android.bp b/health/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/health/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/health/V1_0/Android.bp b/health/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/health/V1_0/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 = [
+ "*",
+]
diff --git a/health/V1_0/build/Android.bp b/health/V1_0/build/Android.bp
new file mode 100644
index 0000000..9c0d5c5
--- /dev/null
+++ b/health/V1_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.health@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.health@1.0_hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/Health.vts",
+ "android/hardware/health/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.health@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.health@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ ":android.hardware.health@1.0_hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/Health.vts.cpp",
+ "android/hardware/health/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.health@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.health@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ ":android.hardware.health@1.0_hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/Health.vts.h",
+ "android/hardware/health/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.health@1.0-vts.driver",
+ generated_sources: ["android.hardware.health@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.health@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.health@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.health@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.health@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.health@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ ":android.hardware.health@1.0_hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/Health.vts.cpp",
+ "android/hardware/health/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.health@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.health@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ ":android.hardware.health@1.0_hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/Health.vts.h",
+ "android/hardware/health/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.health@1.0-vts.profiler",
+ generated_sources: ["android.hardware.health@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.health@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.health@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.health@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/health/V1_0/target/Android.mk b/health/V1_0/target/Android.mk
new file mode 100644
index 0000000..1c42abd
--- /dev/null
+++ b/health/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalHealthV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/health/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/health/V1_0/target/AndroidTest.xml b/health/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..9bcfe78
--- /dev/null
+++ b/health/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 VtsHalHealthV1_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="VtsHalHealthV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalHealthV1_0TargetTest/VtsHalHealthV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalHealthV1_0TargetTest/VtsHalHealthV1_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.health@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/health/V1_0/target_profiling/Android.mk b/health/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..20ceeee
--- /dev/null
+++ b/health/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalHealthV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/health/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/health/V1_0/target_profiling/AndroidTest.xml b/health/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..5b52d22
--- /dev/null
+++ b/health/V1_0/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 VtsHalHealthV1_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.health@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.health@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.health@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.health@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="VtsHalHealthV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalHealthV1_0TargetTest/VtsHalHealthV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalHealthV1_0TargetTest/VtsHalHealthV1_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.health@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/keymaster/Android.bp b/keymaster/Android.bp
new file mode 100644
index 0000000..6f7b8de
--- /dev/null
+++ b/keymaster/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 = [
+ "V3_0",
+]
diff --git a/keymaster/V3_0/Android.bp b/keymaster/V3_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/keymaster/V3_0/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 = [
+ "*",
+]
diff --git a/keymaster/V3_0/build/Android.bp b/keymaster/V3_0/build/Android.bp
new file mode 100644
index 0000000..293a1ed
--- /dev/null
+++ b/keymaster/V3_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.keymaster@3.0-vts.spec",
+ srcs: [
+ ":android.hardware.keymaster@3.0_hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts",
+ "android/hardware/keymaster/3.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.keymaster@3.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.keymaster@3.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ ":android.hardware.keymaster@3.0_hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.cpp",
+ "android/hardware/keymaster/3.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.keymaster@3.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.keymaster@3.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ ":android.hardware.keymaster@3.0_hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.h",
+ "android/hardware/keymaster/3.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.keymaster@3.0-vts.driver",
+ generated_sources: ["android.hardware.keymaster@3.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.keymaster@3.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.keymaster@3.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.keymaster@3.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.keymaster@3.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.keymaster@3.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ ":android.hardware.keymaster@3.0_hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.cpp",
+ "android/hardware/keymaster/3.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.keymaster@3.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.keymaster@3.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ ":android.hardware.keymaster@3.0_hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.h",
+ "android/hardware/keymaster/3.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.keymaster@3.0-vts.profiler",
+ generated_sources: ["android.hardware.keymaster@3.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.keymaster@3.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.keymaster@3.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.keymaster@3.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/keymaster/V3_0/target/Android.mk b/keymaster/V3_0/target/Android.mk
new file mode 100644
index 0000000..2457aec
--- /dev/null
+++ b/keymaster/V3_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalKeymasterV3_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/keymaster/V3_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/keymaster/V3_0/target/AndroidTest.xml b/keymaster/V3_0/target/AndroidTest.xml
new file mode 100644
index 0000000..8d22aca
--- /dev/null
+++ b/keymaster/V3_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 VtsHalKeymasterV3_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="HalHidlHostTest.push"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalKeymasterV3_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalKeymasterV3_0TargetTest/VtsHalKeymasterV3_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalKeymasterV3_0TargetTest/VtsHalKeymasterV3_0TargetTest" />
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="precondition-lshal" value="android.hardware.keymaster@3.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/keymaster/V3_0/target_profiling/Android.mk b/keymaster/V3_0/target_profiling/Android.mk
new file mode 100644
index 0000000..f010639
--- /dev/null
+++ b/keymaster/V3_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalKeymasterV3_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/keymaster/V3_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/keymaster/V3_0/target_profiling/AndroidTest.xml b/keymaster/V3_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..4907820
--- /dev/null
+++ b/keymaster/V3_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 VtsHalKeymasterV3_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="HalHidlHostTest.push"/>
+ <option name="push" value="DATA/lib/android.hardware.keymaster@3.0-vts.profiler.so->/data/local/tmp/32/android.hardware.keymaster@3.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.keymaster@3.0-vts.profiler.so->/data/local/tmp/64/android.hardware.keymaster@3.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="VtsHalKeymasterV3_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalKeymasterV3_0TargetTest/VtsHalKeymasterV3_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalKeymasterV3_0TargetTest/VtsHalKeymasterV3_0TargetTest" />
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="precondition-lshal" value="android.hardware.keymaster@3.0"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/keymaster/V3_0/target_replay/Android.mk b/keymaster/V3_0/target_replay/Android.mk
new file mode 100644
index 0000000..daed556
--- /dev/null
+++ b/keymaster/V3_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalKeymasterV3_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/keymaster/V3_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/keymaster/V3_0/target_replay/AndroidTest.xml b/keymaster/V3_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..2779e07
--- /dev/null
+++ b/keymaster/V3_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 VtsHalKeymasterV3_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/keymaster/3.0/vts/KeymasterDevice.vts->/data/local/tmp/spec/android/hardware/keymaster/3.0/KeymasterDevice.vts"/>
+ <option name="push" value="spec/hardware/interfaces/keymaster/3.0/vts/types.vts->/data/local/tmp/spec/android/hardware/keymaster/3.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.keymaster@3.0-vts.driver.so->/data/local/tmp/32/android.hardware.keymaster@3.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.keymaster@3.0-vts.driver.so->/data/local/tmp/64/android.hardware.keymaster@3.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="VtsHalKeymasterV3_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/keymaster/V3_0/android.hardware.keymaster@3.0_sailfish_1.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.keymaster@3.0"/>
+ <option name="precondition-lshal" value="android.hardware.keymaster@3.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/light/Android.bp b/light/Android.bp
new file mode 100644
index 0000000..fb60e6b
--- /dev/null
+++ b/light/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 = [
+ "V2_0",
+]
diff --git a/light/V2_0/Android.bp b/light/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/light/V2_0/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 = [
+ "*",
+]
diff --git a/light/V2_0/build/Android.bp b/light/V2_0/build/Android.bp
new file mode 100644
index 0000000..952e257
--- /dev/null
+++ b/light/V2_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.light@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/light/2.0/Light.vts",
+ "android/hardware/light/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.light@2.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.light@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
+ srcs: [
+ ":android.hardware.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/light/2.0/Light.vts.cpp",
+ "android/hardware/light/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.light@2.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.light@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
+ srcs: [
+ ":android.hardware.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/light/2.0/Light.vts.h",
+ "android/hardware/light/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.light@2.0-vts.driver",
+ generated_sources: ["android.hardware.light@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.light@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.light@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.light@2.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.light@2.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.light@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
+ srcs: [
+ ":android.hardware.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/light/2.0/Light.vts.cpp",
+ "android/hardware/light/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.light@2.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.light@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
+ srcs: [
+ ":android.hardware.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/light/2.0/Light.vts.h",
+ "android/hardware/light/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.light@2.0-vts.profiler",
+ generated_sources: ["android.hardware.light@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.light@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.light@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.light@2.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/light/V2_0/target/Android.mk b/light/V2_0/target/Android.mk
new file mode 100644
index 0000000..a9b93e8
--- /dev/null
+++ b/light/V2_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalLightV2_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/light/V2_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/light/V2_0/target/AndroidTest.xml b/light/V2_0/target/AndroidTest.xml
new file mode 100644
index 0000000..9ad0b6b
--- /dev/null
+++ b/light/V2_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 VtsHalLightV2_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="VtsHalLightV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalLightV2_0TargetTest/VtsHalLightV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalLightV2_0TargetTest/VtsHalLightV2_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.light@2.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/light/V2_0/target_profiling/Android.mk b/light/V2_0/target_profiling/Android.mk
new file mode 100644
index 0000000..31bf8c7
--- /dev/null
+++ b/light/V2_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalLightV2_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/light/V2_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/light/V2_0/target_profiling/AndroidTest.xml b/light/V2_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..75323c2
--- /dev/null
+++ b/light/V2_0/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 VtsHalLightV2_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.light@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.light@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.light@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.light@2.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="VtsHalLightV2_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalLightV2_0TargetTest/VtsHalLightV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalLightV2_0TargetTest/VtsHalLightV2_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.light@2.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/light/V2_0/target_replay/Android.mk b/light/V2_0/target_replay/Android.mk
new file mode 100644
index 0000000..c21c2f6
--- /dev/null
+++ b/light/V2_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := VtsHalLightV2_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/light/V2_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/light/V2_0/target_replay/AndroidTest.xml b/light/V2_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..a39c689
--- /dev/null
+++ b/light/V2_0/target_replay/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS Light HIDL HAL's target-side replay 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/light/2.0/vts/Light.vts->/data/local/tmp/spec/target.vts" />
+ <option name="push" value="DATA/lib/android.hardware.light@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.light@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.light@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.light@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="VtsHalLightV2_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/light/V2_0/android.hardware.light@2.0_sailfish_1.vts.trace" />
+ <option name="hal-hidl-package-name" value="android.hardware.light@2.0" />
+ <option name="test-timeout" value="3m" />
+ </test>
+</configuration>
diff --git a/media/Android.bp b/media/Android.bp
new file mode 100644
index 0000000..341491e
--- /dev/null
+++ b/media/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",
+ "omx/V1_0",
+]
diff --git a/media/V1_0/Android.bp b/media/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/media/V1_0/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 = [
+ "*",
+]
diff --git a/media/V1_0/build/Android.bp b/media/V1_0/build/Android.bp
new file mode 100644
index 0000000..16006da
--- /dev/null
+++ b/media/V1_0/build/Android.bp
@@ -0,0 +1,138 @@
+// 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.media@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.media@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.media@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.media@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ ":android.hardware.media@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media@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.media@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ ":android.hardware.media@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media@1.0-vts.driver",
+ generated_sources: ["android.hardware.media@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.media@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.media@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.media@1.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.media@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.media@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ ":android.hardware.media@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media@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.media@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ ":android.hardware.media@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media@1.0-vts.profiler",
+ generated_sources: ["android.hardware.media@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.media@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.media@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.media@1.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/media/__init__.py b/media/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/__init__.py
diff --git a/media/omx/V1_0/Android.bp b/media/omx/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/media/omx/V1_0/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 = [
+ "*",
+]
diff --git a/media/omx/V1_0/__init__.py b/media/omx/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/omx/V1_0/__init__.py
diff --git a/media/omx/V1_0/build/Android.bp b/media/omx/V1_0/build/Android.bp
new file mode 100644
index 0000000..6eb8972
--- /dev/null
+++ b/media/omx/V1_0/build/Android.bp
@@ -0,0 +1,180 @@
+// 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.media.omx@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.media.omx@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts",
+ "android/hardware/media/omx/1.0/Omx.vts",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts",
+ "android/hardware/media/omx/1.0/OmxNode.vts",
+ "android/hardware/media/omx/1.0/OmxObserver.vts",
+ "android/hardware/media/omx/1.0/OmxStore.vts",
+ "android/hardware/media/omx/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.media.omx@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.media.omx@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ ":android.hardware.media.omx@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/Omx.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxNode.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxStore.vts.cpp",
+ "android/hardware/media/omx/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media.omx@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.media.omx@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ ":android.hardware.media.omx@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/Omx.vts.h",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/OmxNode.vts.h",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.h",
+ "android/hardware/media/omx/1.0/OmxStore.vts.h",
+ "android/hardware/media/omx/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media.omx@1.0-vts.driver",
+ generated_sources: ["android.hardware.media.omx@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.media.omx@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.media.omx@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.media.omx@1.0",
+ "android.hardware.graphics.bufferqueue@1.0",
+ "android.hardware.graphics.bufferqueue@1.0-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ "android.hardware.media@1.0",
+ "android.hardware.media@1.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.graphics.bufferqueue@1.0",
+ "android.hardware.graphics.bufferqueue@1.0-vts.driver",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.driver",
+ "android.hardware.media@1.0",
+ "android.hardware.media@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.media.omx@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.media.omx@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ ":android.hardware.media.omx@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/Omx.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxNode.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxStore.vts.cpp",
+ "android/hardware/media/omx/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media.omx@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.media.omx@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ ":android.hardware.media.omx@1.0_hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/Omx.vts.h",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/OmxNode.vts.h",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.h",
+ "android/hardware/media/omx/1.0/OmxStore.vts.h",
+ "android/hardware/media/omx/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media.omx@1.0-vts.profiler",
+ generated_sources: ["android.hardware.media.omx@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.media.omx@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.media.omx@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.media.omx@1.0",
+ "android.hardware.graphics.bufferqueue@1.0",
+ "android.hardware.graphics.bufferqueue@1.0-vts.profiler",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.graphics.common@1.0-vts.profiler",
+ "android.hardware.media@1.0",
+ "android.hardware.media@1.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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/media/omx/V1_0/host/Android.mk b/media/omx/V1_0/host/Android.mk
new file mode 100644
index 0000000..6244a05
--- /dev/null
+++ b/media/omx/V1_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalMediaOmxV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/media/omx/V1_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/media/omx/V1_0/host/AndroidTest.xml b/media/omx/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..5ba37e0
--- /dev/null
+++ b/media/omx/V1_0/host/AndroidTest.xml
@@ -0,0 +1,91 @@
+<?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 VtsHalMediaOmxV1_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/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"/>
+ <option name="push" value="DATA/media/res/bbb_352x288_420p_30fps_32frames.yuv->/sdcard/media/bbb_480x360_420p_30fps_32frames.yuv"/>
+ <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_raw_1ch_16khz_s16le.raw->/sdcard/media/bbb_raw_1ch_16khz_s16le.raw"/>
+ <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s16le.raw->/sdcard/media/bbb_raw_1ch_8khz_s16le.raw"/>
+ <option name="push" value="DATA/media/res/bbb_raw_2ch_48khz_s16le.raw->/sdcard/media/bbb_raw_2ch_48khz_s16le.raw"/>
+ <option name="push" value="DATA/media/res/sine_amrnb_1ch_12kbps_8000hz.amrnb->/sdcard/media/sine_amrnb_1ch_12kbps_8000hz.amrnb"/>
+ <option name="push" value="DATA/media/res/sine_amrnb_1ch_12kbps_8000hz.info->/sdcard/media/sine_amrnb_1ch_12kbps_8000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_h263_352x288_300kbps_12fps.h263->/sdcard/media/bbb_h263_352x288_300kbps_12fps.h263"/>
+ <option name="push" value="DATA/media/res/bbb_h263_352x288_300kbps_12fps.info->/sdcard/media/bbb_h263_352x288_300kbps_12fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_hevc_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_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_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_640x360_1600kbps_30fps.vp9->/sdcard/media/bbb_vp9_640x360_1600kbps_30fps.vp9"/>
+ <option name="push" value="DATA/media/res/bbb_vp9_640x360_1600kbps_30fps.info->/sdcard/media/bbb_vp9_640x360_1600kbps_30fps.info"/>
+ <option name="push" value="DATA/media/res/bbb_aac_stereo_128kbps_48000hz.aac->/sdcard/media/bbb_aac_stereo_128kbps_48000hz.aac"/>
+ <option name="push" value="DATA/media/res/bbb_aac_stereo_128kbps_48000hz.info->/sdcard/media/bbb_aac_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_amrwb_1ch_14kbps_16000hz.amrwb->/sdcard/media/bbb_amrwb_1ch_14kbps_16000hz.amrwb"/>
+ <option name="push" value="DATA/media/res/bbb_amrwb_1ch_14kbps_16000hz.info->/sdcard/media/bbb_amrwb_1ch_14kbps_16000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_opus_stereo_128kbps_48000hz.opus->/sdcard/media/bbb_opus_stereo_128kbps_48000hz.opus"/>
+ <option name="push" value="DATA/media/res/bbb_opus_stereo_128kbps_48000hz.info->/sdcard/media/bbb_opus_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_vorbis_stereo_128kbps_48000hz.vorbis->/sdcard/media/bbb_vorbis_stereo_128kbps_48000hz.vorbis"/>
+ <option name="push" value="DATA/media/res/bbb_vorbis_stereo_128kbps_48000hz.info->/sdcard/media/bbb_vorbis_stereo_128kbps_48000hz.info"/>
+ <option name="push" value="DATA/media/res/bbb_g711alaw_1ch_8khz.raw->/sdcard/media/bbb_g711alaw_1ch_8khz.raw"/>
+ <option name="push" value="DATA/media/res/bbb_g711alaw_1ch_8khz.info->/sdcard/media/bbb_g711alaw_1ch_8khz.info"/>
+ <option name="push" value="DATA/media/res/bbb_g711mulaw_1ch_8khz.raw->/sdcard/media/bbb_g711mulaw_1ch_8khz.raw"/>
+ <option name="push" value="DATA/media/res/bbb_g711mulaw_1ch_8khz.info->/sdcard/media/bbb_g711mulaw_1ch_8khz.info"/>
+ <option name="push" value="DATA/media/res/bbb_gsm_1ch_8khz_13kbps.raw->/sdcard/media/bbb_gsm_1ch_8khz_13kbps.raw"/>
+ <option name="push" value="DATA/media/res/bbb_gsm_1ch_8khz_13kbps.info->/sdcard/media/bbb_gsm_1ch_8khz_13kbps.info"/>
+ <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s32le.raw->/sdcard/media/bbb_raw_1ch_8khz_s32le.raw"/>
+ <option name="push" value="DATA/media/res/bbb_raw_1ch_8khz_s32le.info->/sdcard/media/bbb_raw_1ch_8khz_s32le.info"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalMediaOmxV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMediaOmxV1_0TargetComponentTest/VtsHalMediaOmxV1_0TargetComponentTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMediaOmxV1_0TargetAudioEncTest/VtsHalMediaOmxV1_0TargetAudioEncTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMediaOmxV1_0TargetAudioDecTest/VtsHalMediaOmxV1_0TargetAudioDecTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMediaOmxV1_0TargetVideoEncTest/VtsHalMediaOmxV1_0TargetVideoEncTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMediaOmxV1_0TargetVideoDecTest/VtsHalMediaOmxV1_0TargetVideoDecTest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <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="40m"/>
+ </test>
+</configuration>
diff --git a/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest.py b/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest.py
new file mode 100644
index 0000000..2f4d6e9
--- /dev/null
+++ b/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest.py
@@ -0,0 +1,130 @@
+#!/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
+import time
+
+from vts.runners.host import asserts
+from vts.runners.host import keys
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_gtest import hal_hidl_gtest
+import VtsHalMediaOmxV1_0TestCase as omx_test_case
+
+
+class VtsHalMediaOmxV1_0Host(hal_hidl_gtest.HidlHalGTest):
+ """Host test class to run the Media_Omx HAL."""
+
+ COMPONENT_TEST = "ComponentHidlTest"
+ AUDIO_ENC_TEST = "AudioEncHidlTest"
+ AUDIO_DEC_TEST = "AudioDecHidlTest"
+ VIDEO_ENC_TEST = "VideoEncHidlTest"
+ VIDEO_DEC_TEST = "VideoDecHidlTest"
+
+ # Roles we want to test.
+ whitelist_roles = ["audio_encoder.aac",
+ "audio_encoder.amrnb",
+ "audio_encoder.amrwb",
+ "audio_encoder.flac",
+ "audio_decoder.aac",
+ "audio_decoder.amrnb",
+ "audio_decoder.amrwb",
+ "audio_decoder.g711alaw",
+ "audio_decoder.g711mlaw",
+ "audio_decoder.gsm",
+ "audio_decoder.mp3",
+ "audio_decoder.opus",
+ "audio_decoder.raw",
+ "audio_decoder.vorbis",
+ "video_encoder.avc",
+ "video_encoder.h263",
+ "video_encoder.mpeg4",
+ "video_encoder.vp8",
+ "video_encoder.vp9",
+ "video_decoder.avc",
+ "video_decoder.h263",
+ "video_decoder.hevc",
+ "video_decoder.mpeg4",
+ "video_decoder.vp8",
+ "video_decoder.vp9"]
+
+ def CreateTestCases(self):
+ """Get all registered test components and create test case objects."""
+ # Init the IOmx hal.
+ 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="IOmx",
+ bits=64 if self._dut.is64Bit else 32)
+
+ # Call listNodes to get all registered components.
+ self.vtypes = self._dut.hal.media_omx.GetHidlTypeInterface("types")
+ status, nodeList = self._dut.hal.media_omx.listNodes()
+ asserts.assertEqual(self.vtypes.Status.OK, status)
+
+ self.components = {}
+ for node in nodeList:
+ self.components[node['mName']] = node['mRoles']
+
+ super(VtsHalMediaOmxV1_0Host, self).CreateTestCases()
+
+ # @Override
+ def CreateTestCase(self, path, tag=''):
+ """Create a list of VtsHalMediaOmxV1_0testCase objects.
+
+ For each target side gtest test case, create a set of new test cases
+ argumented with different component and role values.
+
+ Args:
+ path: string, absolute path of a gtest binary on device
+ tag: string, a tag that will be appended to the end of test name
+
+ Returns:
+ A list of VtsHalMediaOmxV1_0TestCase objects
+ """
+ gtest_cases = super(VtsHalMediaOmxV1_0Host, self).CreateTestCase(path,
+ tag)
+ test_cases = []
+
+ for gtest_case in gtest_cases:
+ test_suite = gtest_case.GetFullName()
+ for component, roles in self.components.iteritems():
+ for role in roles:
+ if not self.COMPONENT_TEST in test_suite and not role in self.whitelist_roles:
+ continue
+ if self.AUDIO_ENC_TEST in test_suite and not "audio_encoder" in role:
+ continue
+ if self.AUDIO_DEC_TEST in test_suite and not "audio_decoder" in role:
+ continue
+ if self.VIDEO_ENC_TEST in test_suite and not "video_encoder" in role:
+ continue
+ if self.VIDEO_DEC_TEST in test_suite and not "video_decoder" in role:
+ continue
+ test_name = component + '_' + role
+ # TODO (zhuoyao): get instance name using lshal.
+ instance_name = "default"
+ test_case = omx_test_case.VtsHalMediaOmxV1_0TestCase(
+ component, role, instance_name, test_suite, test_name,
+ path)
+ test_cases.append(test_case)
+ logging.info("num of test_testcases: %s", len(test_cases))
+ return test_cases
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/media/omx/V1_0/host/VtsHalMediaOmxV1_0TestCase.py b/media/omx/V1_0/host/VtsHalMediaOmxV1_0TestCase.py
new file mode 100644
index 0000000..53b2189
--- /dev/null
+++ b/media/omx/V1_0/host/VtsHalMediaOmxV1_0TestCase.py
@@ -0,0 +1,50 @@
+#
+# 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
+import os
+
+from vts.testcases.template.gtest_binary_test import gtest_test_case
+
+class VtsHalMediaOmxV1_0TestCase(gtest_test_case.GtestTestCase):
+ """A class to represent a media_omx test case.
+
+ Attributes:
+ component: string, name of a IOmxNode component.
+ role: string, role of a IOmxNode component.
+ instance: string, name of the binderized hal server instance.
+ """
+
+ def __init__(self, component, role, instance, *args, **kwargs):
+ super(VtsHalMediaOmxV1_0TestCase, self).__init__(*args, **kwargs)
+ self._component = component
+ self._role = role
+ self._instance = instance
+
+ # @Override
+ def GetRunCommand(self):
+ """Get the command to run the test. """
+
+ orig_cmds = super(VtsHalMediaOmxV1_0TestCase,
+ self).GetRunCommand(test_name=self.test_suite),
+
+ new_cmd = [('{cmd} -I {instance} -C {component} -R {role}').format(
+ cmd=orig_cmds[0][0],
+ instance=self._instance,
+ component=self._component,
+ role=self._role), orig_cmds[0][1]]
+
+ return new_cmd
diff --git a/media/omx/V1_0/host/__init__.py b/media/omx/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/omx/V1_0/host/__init__.py
diff --git a/media/omx/__init__.py b/media/omx/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/omx/__init__.py
diff --git a/memtrack/Android.bp b/memtrack/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/memtrack/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/memtrack/V1_0/Android.bp b/memtrack/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/memtrack/V1_0/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 = [
+ "*",
+]
diff --git a/memtrack/V1_0/build/Android.bp b/memtrack/V1_0/build/Android.bp
new file mode 100644
index 0000000..2a6b6d3
--- /dev/null
+++ b/memtrack/V1_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.memtrack@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.memtrack@1.0_hal",
+ ],
+ out: [
+ "android/hardware/memtrack/1.0/Memtrack.vts",
+ "android/hardware/memtrack/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.memtrack@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.memtrack@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
+ srcs: [
+ ":android.hardware.memtrack@1.0_hal",
+ ],
+ out: [
+ "android/hardware/memtrack/1.0/Memtrack.vts.cpp",
+ "android/hardware/memtrack/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.memtrack@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.memtrack@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
+ srcs: [
+ ":android.hardware.memtrack@1.0_hal",
+ ],
+ out: [
+ "android/hardware/memtrack/1.0/Memtrack.vts.h",
+ "android/hardware/memtrack/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.memtrack@1.0-vts.driver",
+ generated_sources: ["android.hardware.memtrack@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.memtrack@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.memtrack@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.memtrack@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.memtrack@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.memtrack@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
+ srcs: [
+ ":android.hardware.memtrack@1.0_hal",
+ ],
+ out: [
+ "android/hardware/memtrack/1.0/Memtrack.vts.cpp",
+ "android/hardware/memtrack/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.memtrack@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.memtrack@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
+ srcs: [
+ ":android.hardware.memtrack@1.0_hal",
+ ],
+ out: [
+ "android/hardware/memtrack/1.0/Memtrack.vts.h",
+ "android/hardware/memtrack/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.memtrack@1.0-vts.profiler",
+ generated_sources: ["android.hardware.memtrack@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.memtrack@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.memtrack@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.memtrack@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/memtrack/V1_0/target/Android.mk b/memtrack/V1_0/target/Android.mk
new file mode 100644
index 0000000..7469bcf
--- /dev/null
+++ b/memtrack/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalMemtrackV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/V1_0/target/AndroidTest.xml b/memtrack/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..008e364
--- /dev/null
+++ b/memtrack/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 VtsHalMemtrackV1_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="VtsHalMemtrackV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMemtrackV1_0TargetTest/VtsHalMemtrackV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalMemtrackV1_0TargetTest/VtsHalMemtrackV1_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.memtrack@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/memtrack/V1_0/target_profiling/Android.mk b/memtrack/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..9e3c1d6
--- /dev/null
+++ b/memtrack/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalMemtrackV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/V1_0/target_profiling/AndroidTest.xml b/memtrack/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..2a8ba6d
--- /dev/null
+++ b/memtrack/V1_0/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 VtsHalMemtrackV1_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.memtrack@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.memtrack@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.memtrack@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.memtrack@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="VtsHalMemtrackV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMemtrackV1_0TargetTest/VtsHalMemtrackV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalMemtrackV1_0TargetTest/VtsHalMemtrackV1_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.memtrack@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/memtrack/V1_0/target_replay/Android.mk b/memtrack/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..af28dd5
--- /dev/null
+++ b/memtrack/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalMemtrackV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/V1_0/target_replay/AndroidTest.xml b/memtrack/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..a52a0fb
--- /dev/null
+++ b/memtrack/V1_0/target_replay/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 VtsHalMemtrackV1_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/memtrack/1.0/vts/Memtrack.vts->/data/local/tmp/spec/target.vts" />
+ <option name="push" value="DATA/lib/android.hardware.memtrack@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.memtrack@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.memtrack@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.memtrack@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="VtsHalMemtrackV1_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/memtrack/V1_0/android.hardware.memtrack@1.0_sailfish_1.vts.trace" />
+ <option name="hal-hidl-package-name" value="android.hardware.memtrack@1.0" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/power/Android.bp b/power/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/power/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/power/V1_0/Android.bp b/power/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/power/V1_0/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 = [
+ "*",
+]
diff --git a/power/V1_0/build/Android.bp b/power/V1_0/build/Android.bp
new file mode 100644
index 0000000..ec1ea55
--- /dev/null
+++ b/power/V1_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.power@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.power@1.0_hal",
+ ],
+ out: [
+ "android/hardware/power/1.0/Power.vts",
+ "android/hardware/power/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.power@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.power@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
+ srcs: [
+ ":android.hardware.power@1.0_hal",
+ ],
+ out: [
+ "android/hardware/power/1.0/Power.vts.cpp",
+ "android/hardware/power/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.power@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.power@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
+ srcs: [
+ ":android.hardware.power@1.0_hal",
+ ],
+ out: [
+ "android/hardware/power/1.0/Power.vts.h",
+ "android/hardware/power/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.power@1.0-vts.driver",
+ generated_sources: ["android.hardware.power@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.power@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.power@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.power@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.power@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.power@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
+ srcs: [
+ ":android.hardware.power@1.0_hal",
+ ],
+ out: [
+ "android/hardware/power/1.0/Power.vts.cpp",
+ "android/hardware/power/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.power@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.power@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
+ srcs: [
+ ":android.hardware.power@1.0_hal",
+ ],
+ out: [
+ "android/hardware/power/1.0/Power.vts.h",
+ "android/hardware/power/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.power@1.0-vts.profiler",
+ generated_sources: ["android.hardware.power@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.power@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.power@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.power@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/power/V1_0/target/Android.mk b/power/V1_0/target/Android.mk
new file mode 100644
index 0000000..6057ecf
--- /dev/null
+++ b/power/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalPowerV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/power/V1_0/target/AndroidTest.xml b/power/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..03f7714
--- /dev/null
+++ b/power/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 VtsHalPowerV1_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="VtsHalPowerV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerV1_0TargetTest/VtsHalPowerV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerV1_0TargetTest/VtsHalPowerV1_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.power@1.0"/>
+ <option name="test-timeout" value="2m"/>
+ </test>
+</configuration>
diff --git a/power/V1_0/target_profiling/Android.mk b/power/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..c20df37
--- /dev/null
+++ b/power/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalPowerV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/power/V1_0/target_profiling/AndroidTest.xml b/power/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..85d02a9
--- /dev/null
+++ b/power/V1_0/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 VtsHalPowerV1_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.power@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.power@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.power@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.power@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="VtsHalPowerV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerV1_0TargetTest/VtsHalPowerV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerV1_0TargetTest/VtsHalPowerV1_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.power@1.0"/>
+ <option name="test-timeout" value="2m"/>
+ </test>
+</configuration>
diff --git a/power/V1_0/target_replay/Android.mk b/power/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..aed74e5
--- /dev/null
+++ b/power/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalPowerV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/power/V1_0/target_replay/AndroidTest.xml b/power/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..fd9d3b1
--- /dev/null
+++ b/power/V1_0/target_replay/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 VtsHalPowerV1_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/power/1.0/vts/Power.vts->/data/local/tmp/spec/target.vts" />
+ <option name="push" value="DATA/lib/android.hardware.power@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.power@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.power@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.power@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="VtsHalPowerV1_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/power/V1_0/android.hardware.power@1.0_sailfish_1.vts.trace" />
+ <option name="hal-hidl-package-name" value="android.hardware.power@1.0" />
+ <option name="test-timeout" value="2m"/>
+ </test>
+</configuration>
diff --git a/radio/V1_0/__init__.py b/radio/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/radio/V1_0/__init__.py
diff --git a/radio/__init__.py b/radio/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/radio/__init__.py
diff --git a/sensors/Android.bp b/sensors/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/sensors/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/sensors/V1_0/Android.bp b/sensors/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/sensors/V1_0/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 = [
+ "*",
+]
diff --git a/sensors/V1_0/__init__.py b/sensors/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sensors/V1_0/__init__.py
diff --git a/sensors/V1_0/build/Android.bp b/sensors/V1_0/build/Android.bp
new file mode 100644
index 0000000..3e1e367
--- /dev/null
+++ b/sensors/V1_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.sensors@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.sensors@1.0_hal",
+ ],
+ out: [
+ "android/hardware/sensors/1.0/Sensors.vts",
+ "android/hardware/sensors/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.sensors@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.sensors@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
+ srcs: [
+ ":android.hardware.sensors@1.0_hal",
+ ],
+ out: [
+ "android/hardware/sensors/1.0/Sensors.vts.cpp",
+ "android/hardware/sensors/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.sensors@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.sensors@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
+ srcs: [
+ ":android.hardware.sensors@1.0_hal",
+ ],
+ out: [
+ "android/hardware/sensors/1.0/Sensors.vts.h",
+ "android/hardware/sensors/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.sensors@1.0-vts.driver",
+ generated_sources: ["android.hardware.sensors@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.sensors@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.sensors@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.sensors@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.sensors@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.sensors@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
+ srcs: [
+ ":android.hardware.sensors@1.0_hal",
+ ],
+ out: [
+ "android/hardware/sensors/1.0/Sensors.vts.cpp",
+ "android/hardware/sensors/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.sensors@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.sensors@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
+ srcs: [
+ ":android.hardware.sensors@1.0_hal",
+ ],
+ out: [
+ "android/hardware/sensors/1.0/Sensors.vts.h",
+ "android/hardware/sensors/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.sensors@1.0-vts.profiler",
+ generated_sources: ["android.hardware.sensors@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.sensors@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.sensors@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.sensors@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/sensors/V1_0/host/Android.mk b/sensors/V1_0/host/Android.mk
new file mode 100644
index 0000000..55dc449
--- /dev/null
+++ b/sensors/V1_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalSensorsV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/host/AndroidTest.xml b/sensors/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..8bda3a9
--- /dev/null
+++ b/sensors/V1_0/host/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 VtsHalSensorsV1_0Host 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/sensors/1.0/vts/Sensors.vts->/data/local/tmp/spec/android/hardware/sensors/1.0/Sensors.vts"/>
+ <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/sensors/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.sensors@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.sensors@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.sensors@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.sensors@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="VtsHalSensorsV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/sensors/V1_0/host/VtsHalSensorsV1_0HostTest"/>
+ <option name="precondition-lshal" value="android.hardware.sensors@1.0"/>
+ <option name="test-timeout" value="3m"/>
+ </test>
+</configuration>
diff --git a/sensors/V1_0/host/VtsHalSensorsV1_0HostTest.py b/sensors/V1_0/host/VtsHalSensorsV1_0HostTest.py
new file mode 100644
index 0000000..72acf35
--- /dev/null
+++ b/sensors/V1_0/host/VtsHalSensorsV1_0HostTest.py
@@ -0,0 +1,103 @@
+#!/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 test_runner
+from vts.utils.python.controllers import android_device
+from vts.utils.python.precondition import precondition_utils
+
+
+class SensorsHidlTest(base_test.BaseTestClass):
+ """Host testcase class for the SENSORS HIDL HAL.
+
+ This class set-up/tear-down the webDB host test framwork and contains host test cases for
+ sensors HIDL HAL.
+ """
+
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer SENSORS service."""
+ 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
+
+ # Test using the binderized mode
+ self.dut.shell.one.Execute(
+ "setprop vts.hal.vts.hidl.get_stub true")
+
+ self.dut.hal.InitHidlHal(
+ target_type="sensors",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.sensors",
+ target_component_name="ISensors",
+ hw_binder_service_name=None,
+ bits=int(self.abi_bitness))
+
+ def tearDownClass(self):
+ """ If profiling is enabled for the test, collect the profiling data
+ and disable profiling after the test is done.
+ """
+ if not self._skip_all_testcases and self.profiling.enabled:
+ self.profiling.ProcessAndUploadTraceData()
+
+ def setUp(self):
+ if self.profiling.enabled:
+ self.profiling.EnableVTSProfiling(self.dut.shell.one)
+
+ def tearDown(self):
+ if self.profiling.enabled:
+ self.profiling.ProcessTraceDataForTestCase(self.dut)
+ self.profiling.DisableVTSProfiling(self.dut.shell.one)
+
+ def testSensorsBasic(self):
+ """Test the basic operation of test framework and sensor HIDL HAL
+
+ This test obtains predefined enum values via sensors HIDL HAL host test framework and
+ compares them to known values as a sanity check to make sure both sensors HAL
+ and the test framework are working properly.
+ """
+ sensors_types = self.dut.hal.sensors.GetHidlTypeInterface("types")
+ logging.info("sensors_types: %s", sensors_types)
+ logging.info("OK: %s", sensors_types.Result.OK)
+ logging.info("BAD_VALUE: %s", sensors_types.Result.BAD_VALUE)
+ logging.info("NO_MEMORY: %s", sensors_types.Result.NO_MEMORY)
+ logging.info("PERMISSION_DENIED: %s", sensors_types.Result.PERMISSION_DENIED)
+ logging.info("INVALID_OPERATION: %s", sensors_types.Result.INVALID_OPERATION)
+ asserts.assertEqual(sensors_types.Result.OK, 0)
+ asserts.assertEqual(sensors_types.Result.NO_MEMORY, -12)
+ asserts.assertEqual(sensors_types.Result.BAD_VALUE, -22)
+ asserts.assertEqual(sensors_types.Result.INVALID_OPERATION, -38)
+
+ logging.info("sensor types:")
+ logging.info("ACCELEROMETER: %s", sensors_types.SensorType.ACCELEROMETER)
+ logging.info("MAGNETIC_FIELD: %s", sensors_types.SensorType.MAGNETIC_FIELD)
+ logging.info("GYROSCOPE: %s", sensors_types.SensorType.GYROSCOPE)
+ asserts.assertEqual(sensors_types.SensorType.ACCELEROMETER, 1)
+ asserts.assertEqual(sensors_types.SensorType.MAGNETIC_FIELD, 2)
+ asserts.assertEqual(sensors_types.SensorType.GYROSCOPE, 4)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/sensors/V1_0/host/__init__.py b/sensors/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sensors/V1_0/host/__init__.py
diff --git a/sensors/V1_0/host_profiling/Android.mk b/sensors/V1_0/host_profiling/Android.mk
new file mode 100644
index 0000000..74fff3b
--- /dev/null
+++ b/sensors/V1_0/host_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalSensorsV1_0HostProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/host_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/host_profiling/AndroidTest.xml b/sensors/V1_0/host_profiling/AndroidTest.xml
new file mode 100644
index 0000000..e2becc7
--- /dev/null
+++ b/sensors/V1_0/host_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 VtsHalSensorsV1_0HostProfiling 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="HalHidlHostProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/Sensors.vts->/data/local/tmp/spec/android/hardware/sensors/1.0/Sensors.vts"/>
+ <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/sensors/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.sensors@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.sensors@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.sensors@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.sensors@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib/android.hardware.sensors@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.sensors@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.sensors@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.sensors@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="VtsHalSensorsV1_0HostProfiling"/>
+ <option name="test-case-path" value="vts/testcases/hal/sensors/V1_0/host/VtsHalSensorsV1_0HostTest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.sensors@1.0"/>
+ <option name="test-timeout" value="3m"/>
+ </test>
+</configuration>
diff --git a/sensors/V1_0/target/Android.mk b/sensors/V1_0/target/Android.mk
new file mode 100644
index 0000000..64bb97d
--- /dev/null
+++ b/sensors/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalSensorsV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/target/AndroidTest.xml b/sensors/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..ced1db4
--- /dev/null
+++ b/sensors/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 VtsHalSensorsV1_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="VtsHalSensorsV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSensorsV1_0TargetTest/VtsHalSensorsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSensorsV1_0TargetTest/VtsHalSensorsV1_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.sensors@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/sensors/V1_0/target_profiling/Android.mk b/sensors/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..a989354
--- /dev/null
+++ b/sensors/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalSensorsV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/target_profiling/AndroidTest.xml b/sensors/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..34a4690
--- /dev/null
+++ b/sensors/V1_0/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 VtsHalSensorsV1_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.sensors@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.sensors@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.sensors@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.sensors@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="VtsHalSensorsV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSensorsV1_0TargetTest/VtsHalSensorsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSensorsV1_0TargetTest/VtsHalSensorsV1_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.sensors@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/sensors/__init__.py b/sensors/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sensors/__init__.py
diff --git a/soundtrigger/Android.bp b/soundtrigger/Android.bp
new file mode 100644
index 0000000..fb60e6b
--- /dev/null
+++ b/soundtrigger/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 = [
+ "V2_0",
+]
diff --git a/soundtrigger/V2_0/Android.bp b/soundtrigger/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/soundtrigger/V2_0/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 = [
+ "*",
+]
diff --git a/soundtrigger/V2_0/build/Android.bp b/soundtrigger/V2_0/build/Android.bp
new file mode 100644
index 0000000..ab47489
--- /dev/null
+++ b/soundtrigger/V2_0/build/Android.bp
@@ -0,0 +1,148 @@
+// 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.soundtrigger@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.soundtrigger@2.0_hal",
+ ],
+ out: [
+ "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts",
+ "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts",
+ "android/hardware/soundtrigger/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.soundtrigger@2.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.soundtrigger@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
+ srcs: [
+ ":android.hardware.soundtrigger@2.0_hal",
+ ],
+ out: [
+ "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.cpp",
+ "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.cpp",
+ "android/hardware/soundtrigger/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.soundtrigger@2.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.soundtrigger@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
+ srcs: [
+ ":android.hardware.soundtrigger@2.0_hal",
+ ],
+ out: [
+ "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.h",
+ "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.h",
+ "android/hardware/soundtrigger/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.soundtrigger@2.0-vts.driver",
+ generated_sources: ["android.hardware.soundtrigger@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.soundtrigger@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.soundtrigger@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.soundtrigger@2.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@2.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.soundtrigger@2.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.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
+ srcs: [
+ ":android.hardware.soundtrigger@2.0_hal",
+ ],
+ out: [
+ "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.cpp",
+ "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.cpp",
+ "android/hardware/soundtrigger/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.soundtrigger@2.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.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
+ srcs: [
+ ":android.hardware.soundtrigger@2.0_hal",
+ ],
+ out: [
+ "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.h",
+ "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.h",
+ "android/hardware/soundtrigger/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.soundtrigger@2.0-vts.profiler",
+ generated_sources: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.soundtrigger@2.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/soundtrigger/V2_0/target/Android.mk b/soundtrigger/V2_0/target/Android.mk
new file mode 100644
index 0000000..09e4d6e
--- /dev/null
+++ b/soundtrigger/V2_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalSoundtriggerV2_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/soundtrigger/V2_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/soundtrigger/V2_0/target/AndroidTest.xml b/soundtrigger/V2_0/target/AndroidTest.xml
new file mode 100644
index 0000000..7387de0
--- /dev/null
+++ b/soundtrigger/V2_0/target/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 VtsHalSoundtriggerV2_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="VtsHalSoundtriggerV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSoundtriggerV2_0TargetTest/VtsHalSoundtriggerV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSoundtriggerV2_0TargetTest/VtsHalSoundtriggerV2_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.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="1m"/>
+ </test>
+</configuration>
diff --git a/soundtrigger/V2_0/target/HalSoundTriggerHidlTargetBasicTest.config b/soundtrigger/V2_0/target/HalSoundTriggerHidlTargetBasicTest.config
new file mode 100644
index 0000000..5c12d13
--- /dev/null
+++ b/soundtrigger/V2_0/target/HalSoundTriggerHidlTargetBasicTest.config
@@ -0,0 +1,41 @@
+{
+ "use_gae_db": true,
+ "coverage": true,
+ "modules": [
+ {
+ "module_name": "system/lib/hw/sound_trigger.primary.bullhead",
+ "git_project": {
+ "name": "platform/vendor/lge/bullhead",
+ "path": "vendor/lge/bullhead"
+ }
+ },
+ {
+ "module_name": "system/lib/hw/sound_trigger.primary.angler",
+ "git_project": {
+ "name": "platform/vendor/huawei/angler",
+ "path": "vendor/huawei/angler"
+ }
+ },
+ {
+ "module_name": "system/lib/hw/sound_trigger.primary.marlin",
+ "git_project": {
+ "name": "platform/vendor/google_devices/marlin",
+ "path": "vendor/google_devices/marlin"
+ }
+ },
+ {
+ "module_name": "system/lib/hw/sound_trigger.primary.sailfish",
+ "git_project": {
+ "name": "platform/vendor/google_devices/marlin",
+ "path": "vendor/google_devices/marlin"
+ }
+ },
+ {
+ "module_name": "system/lib/hw/android.hardware.soundtrigger@2.0-impl",
+ "git_project": {
+ "name": "platform/hardware/interfaces",
+ "path": "hardware/interfaces"
+ }
+ }
+ ]
+}
diff --git a/soundtrigger/V2_0/target_profiling/Android.mk b/soundtrigger/V2_0/target_profiling/Android.mk
new file mode 100644
index 0000000..8b203c3
--- /dev/null
+++ b/soundtrigger/V2_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalSoundtriggerV2_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/soundtrigger/V2_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/soundtrigger/V2_0/target_profiling/AndroidTest.xml b/soundtrigger/V2_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..cd37948
--- /dev/null
+++ b/soundtrigger/V2_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,40 @@
+<?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 VtsHalSoundtriggerV2_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.audio.common@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.profiler.so"/>
+ <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.soundtrigger@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.soundtrigger@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.soundtrigger@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.soundtrigger@2.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="VtsHalSoundtriggerV2_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSoundtriggerV2_0TargetTest/VtsHalSoundtriggerV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSoundtriggerV2_0TargetTest/VtsHalSoundtriggerV2_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.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="1m"/>
+ </test>
+</configuration>
diff --git a/tests/Android.bp b/tests/Android.bp
index 1ff9b9e..aa484db 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -5,6 +5,7 @@
"bar/V1_0",
"baz/V1_0",
"expression/V1_0",
+ "extension/light/V2_0",
"foo/V1_0",
"hash/V1_0",
"inheritance/V1_0",
diff --git a/tests/extension/light/V2_0/Android.bp b/tests/extension/light/V2_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/tests/extension/light/V2_0/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 = [
+ "*",
+]
diff --git a/tests/extension/light/V2_0/build/Android.bp b/tests/extension/light/V2_0/build/Android.bp
new file mode 100644
index 0000000..ac35196
--- /dev/null
+++ b/tests/extension/light/V2_0/build/Android.bp
@@ -0,0 +1,143 @@
+// 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.extension.light@2.0-vts.spec",
+ srcs: [
+ ":android.hardware.tests.extension.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/extension/light/2.0/ExtLight.vts",
+ "android/hardware/tests/extension/light/2.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.tests.extension.light@2.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.extension.light@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tests/extension/light/2.0/ $(genDir)/android/hardware/tests/extension/light/2.0/",
+ srcs: [
+ ":android.hardware.tests.extension.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/extension/light/2.0/ExtLight.vts.cpp",
+ "android/hardware/tests/extension/light/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.extension.light@2.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.extension.light@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tests/extension/light/2.0/ $(genDir)/android/hardware/tests/extension/light/2.0/",
+ srcs: [
+ ":android.hardware.tests.extension.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/extension/light/2.0/ExtLight.vts.h",
+ "android/hardware/tests/extension/light/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.extension.light@2.0-vts.driver",
+ generated_sources: ["android.hardware.tests.extension.light@2.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.tests.extension.light@2.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.extension.light@2.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.tests.extension.light@2.0",
+ "android.hardware.light@2.0",
+ "android.hardware.light@2.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.light@2.0",
+ "android.hardware.light@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.tests.extension.light@2.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.extension.light@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tests/extension/light/2.0/ $(genDir)/android/hardware/tests/extension/light/2.0/",
+ srcs: [
+ ":android.hardware.tests.extension.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/extension/light/2.0/ExtLight.vts.cpp",
+ "android/hardware/tests/extension/light/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.extension.light@2.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.extension.light@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tests/extension/light/2.0/ $(genDir)/android/hardware/tests/extension/light/2.0/",
+ srcs: [
+ ":android.hardware.tests.extension.light@2.0_hal",
+ ],
+ out: [
+ "android/hardware/tests/extension/light/2.0/ExtLight.vts.h",
+ "android/hardware/tests/extension/light/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.extension.light@2.0-vts.profiler",
+ generated_sources: ["android.hardware.tests.extension.light@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.tests.extension.light@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.extension.light@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.tests.extension.light@2.0",
+ "android.hardware.light@2.0",
+ "android.hardware.light@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/thermal/Android.bp b/thermal/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/thermal/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/thermal/V1_0/Android.bp b/thermal/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/thermal/V1_0/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 = [
+ "*",
+]
diff --git a/thermal/V1_0/build/Android.bp b/thermal/V1_0/build/Android.bp
new file mode 100644
index 0000000..5f9a27c
--- /dev/null
+++ b/thermal/V1_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.0-vts.spec",
+ srcs: [
+ ":android.hardware.thermal@1.0_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.0/Thermal.vts",
+ "android/hardware/thermal/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.thermal@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.thermal@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
+ srcs: [
+ ":android.hardware.thermal@1.0_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.0/Thermal.vts.cpp",
+ "android/hardware/thermal/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.thermal@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.thermal@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
+ srcs: [
+ ":android.hardware.thermal@1.0_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.0/Thermal.vts.h",
+ "android/hardware/thermal/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.thermal@1.0-vts.driver",
+ generated_sources: ["android.hardware.thermal@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.thermal@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.thermal@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.thermal@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.thermal@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.thermal@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
+ srcs: [
+ ":android.hardware.thermal@1.0_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.0/Thermal.vts.cpp",
+ "android/hardware/thermal/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.thermal@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.thermal@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
+ srcs: [
+ ":android.hardware.thermal@1.0_hal",
+ ],
+ out: [
+ "android/hardware/thermal/1.0/Thermal.vts.h",
+ "android/hardware/thermal/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.thermal@1.0-vts.profiler",
+ generated_sources: ["android.hardware.thermal@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.thermal@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.thermal@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.thermal@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/thermal/V1_0/target/Android.mk b/thermal/V1_0/target/Android.mk
new file mode 100644
index 0000000..0d260e3
--- /dev/null
+++ b/thermal/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalThermalV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target/AndroidTest.xml b/thermal/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..aff16e5
--- /dev/null
+++ b/thermal/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 VtsHalThermalV1_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="VtsHalThermalV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalThermalV1_0TargetTest/VtsHalThermalV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalThermalV1_0TargetTest/VtsHalThermalV1_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.thermal@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/thermal/V1_0/target_profiling/Android.mk b/thermal/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..3aebc82
--- /dev/null
+++ b/thermal/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalThermalV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target_profiling/AndroidTest.xml b/thermal/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..579b0c5
--- /dev/null
+++ b/thermal/V1_0/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_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.thermal@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.thermal@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.thermal@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.thermal@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="VtsHalThermalV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalThermalV1_0TargetTest/VtsHalThermalV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalThermalV1_0TargetTest/VtsHalThermalV1_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.thermal@1.0"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/thermal/V1_0/target_stress/Android.bp b/thermal/V1_0/target_stress/Android.bp
new file mode 100644
index 0000000..5e33c2e
--- /dev/null
+++ b/thermal/V1_0/target_stress/Android.bp
@@ -0,0 +1,37 @@
+//
+// 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.
+//
+
+cc_test {
+ name: "thermal_hidl_stress_test",
+ gtest: true,
+ srcs: ["thermal_hidl_stress_test.cpp"],
+ shared_libs: [
+ "libbase",
+ "liblog",
+ "libcutils",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libnativehelper",
+ "libutils",
+ "android.hardware.thermal@1.0",
+ ],
+ static_libs: ["libgtest"],
+ cflags: [
+ "-O0",
+ "-g",
+ ],
+}
diff --git a/thermal/V1_0/target_stress/Android.mk b/thermal/V1_0/target_stress/Android.mk
new file mode 100644
index 0000000..023cfa5
--- /dev/null
+++ b/thermal/V1_0/target_stress/Android.mk
@@ -0,0 +1,25 @@
+#
+# 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 $(call all-subdir-makefiles)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := ThermalHidlTargetStressTest
+VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target_stress
+include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target_stress/AndroidTest.xml b/thermal/V1_0/target_stress/AndroidTest.xml
new file mode 100644
index 0000000..51a4d53
--- /dev/null
+++ b/thermal/V1_0/target_stress/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 THERMAL HAL's target-side stress 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="ThermalHidlTargetStressTest" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/thermal_hidl_stress_test/thermal_hidl_stress_test" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/thermal_hidl_stress_test/thermal_hidl_stress_test" />
+ <option name="binary-test-type" value="gtest" />
+ <option name="test-timeout" value="1m" />
+ </test>
+</configuration>
+
diff --git a/thermal/V1_0/target_stress/thermal_hidl_stress_test.cpp b/thermal/V1_0/target_stress/thermal_hidl_stress_test.cpp
new file mode 100644
index 0000000..34be82a
--- /dev/null
+++ b/thermal/V1_0/target_stress/thermal_hidl_stress_test.cpp
@@ -0,0 +1,112 @@
+/*
+ * 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.
+ */
+
+#define LOG_TAG "thermal_hidl_target_stress_test"
+
+#include <android-base/logging.h>
+#include <android/hardware/thermal/1.0/IThermal.h>
+#include <android/hardware/thermal/1.0/types.h>
+
+#include <gtest/gtest.h>
+#include <chrono>
+#include <condition_variable>
+#include <mutex>
+
+using ::android::hardware::hidl_vec;
+using ::android::hardware::thermal::V1_0::CoolingDevice;
+using ::android::hardware::thermal::V1_0::CpuUsage;
+using ::android::hardware::thermal::V1_0::IThermal;
+using ::android::hardware::thermal::V1_0::Temperature;
+using ::android::hardware::thermal::V1_0::ThermalStatus;
+using ::android::hardware::thermal::V1_0::ThermalStatusCode;
+using ::android::sp;
+
+#define NUMBER_LOOPS 100
+#define TIMEOUT_PERIOD 1
+
+class ThermalHidlStressTest : public ::testing::Test {
+ public:
+ virtual void SetUp() override {
+ thermal_ = IThermal::getService();
+ ASSERT_NE(thermal_, nullptr);
+ count_ = 0;
+ }
+
+ /* Test code calls this function to wait for callback */
+ inline std::cv_status wait() {
+ std::unique_lock<std::mutex> lock(mtx_);
+
+ std::cv_status status = std::cv_status::no_timeout;
+ auto now = std::chrono::system_clock::now();
+ while (count_ == 0) {
+ status = cv_.wait_until(lock, now + std::chrono::seconds(TIMEOUT_PERIOD));
+ if (status == std::cv_status::timeout) return status;
+ }
+ count_--;
+ return status;
+ }
+
+ protected:
+ sp<IThermal> thermal_;
+ std::mutex mtx_;
+ std::condition_variable cv_;
+ int count_;
+};
+
+/* Stress test for Thermal::getTemperatures(). */
+TEST_F(ThermalHidlStressTest, stressTemperatures) {
+ for (int loops = 0; loops < NUMBER_LOOPS; loops++) {
+ thermal_->getTemperatures(
+ [&](ThermalStatus status, hidl_vec<Temperature> /* temperatures */) {
+ EXPECT_EQ(ThermalStatusCode::SUCCESS, status.code);
+ /* Inform the test about callback. */
+ std::unique_lock<std::mutex> lock(mtx_);
+ count_++;
+ cv_.notify_one();
+ });
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ }
+}
+
+/* Stress test for Thermal::getCpuUsages(). */
+TEST_F(ThermalHidlStressTest, stressCpuUsages) {
+ for (int loops = 0; loops < NUMBER_LOOPS; loops++) {
+ thermal_->getCpuUsages(
+ [&](ThermalStatus status, hidl_vec<CpuUsage> /* cpuUsages */) {
+ EXPECT_EQ(ThermalStatusCode::SUCCESS, status.code);
+ /* Inform the test about callback. */
+ std::unique_lock<std::mutex> lock(mtx_);
+ count_++;
+ cv_.notify_one();
+ });
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ }
+}
+
+/* Stress test for Thermal::getCoolingDevices(). */
+TEST_F(ThermalHidlStressTest, stressCoolingDevices) {
+ for (int loops = 0; loops < NUMBER_LOOPS; loops++) {
+ thermal_->getCoolingDevices(
+ [&](ThermalStatus status, hidl_vec<CoolingDevice> /* coolingDevice */) {
+ EXPECT_EQ(ThermalStatusCode::SUCCESS, status.code);
+ /* Inform the test about callback. */
+ std::unique_lock<std::mutex> lock(mtx_);
+ count_++;
+ cv_.notify_one();
+ });
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ }
+}
diff --git a/treble/platform_version/VtsTreblePlatformVersionTest.py b/treble/platform_version/VtsTreblePlatformVersionTest.py
index 4441897..9fc0dae 100644
--- a/treble/platform_version/VtsTreblePlatformVersionTest.py
+++ b/treble/platform_version/VtsTreblePlatformVersionTest.py
@@ -32,21 +32,42 @@
self.dut = self.registerController(android_device)[0]
self.dut.shell.InvokeTerminal("VtsTreblePlatformVersionTest")
- def testPlatformVersion(self):
- """Test that device launched with O or later."""
+ def getProp(self, prop):
+ """Helper to retrieve a property from device."""
results = self.dut.shell.VtsTreblePlatformVersionTest.Execute(
- "getprop ro.product.first_api_level")
+ "getprop " + prop)
asserts.assertEqual(results[const.EXIT_CODE][0], 0,
"getprop must succeed")
+ result = results[const.STDOUT][0].strip()
+
+ logging.info("getprop {}={}".format(prop, result))
+
+ return result
+
+ def testPlatformVersion(self):
+ """Test that device launched with O or later."""
+
try:
- firstApiLevel = int(results[const.STDOUT][0].strip())
- logging.info("Device first API level is {}".format(firstApiLevel))
+ firstApiLevel = int(self.getProp("ro.product.first_api_level"))
asserts.assertTrue(firstApiLevel >= ANDROID_O_API_VERSION,
"VTS can only be run for new launches in O or above")
except ValueError:
asserts.fail("Unexpected value returned from getprop")
+ def testTrebleEnabled(self):
+ """Test that device has Treble enabled."""
+
+ trebleIsEnabledStr = self.getProp("ro.treble.enabled")
+ asserts.assertEqual(trebleIsEnabledStr, "true",
+ "VTS can only be run for Treble enabled devices")
+
+ def testVndkVersion(self):
+ """Test that VNDK version is specified."""
+ vndkVersion = self.getProp("ro.vendor.vndk.version")
+ asserts.assertLess(0, len(vndkVersion),
+ "VNDK version is not defined")
+
if __name__ == "__main__":
test_runner.main()
diff --git a/tv/Android.bp b/tv/Android.bp
new file mode 100644
index 0000000..4cb3cb0
--- /dev/null
+++ b/tv/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 = [
+ "cec/V1_0",
+ "input/V1_0",
+]
diff --git a/tv/__init__.py b/tv/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/__init__.py
diff --git a/tv/cec/V1_0/Android.bp b/tv/cec/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/tv/cec/V1_0/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 = [
+ "*",
+]
diff --git a/tv/cec/V1_0/__init__.py b/tv/cec/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/cec/V1_0/__init__.py
diff --git a/tv/cec/V1_0/build/Android.bp b/tv/cec/V1_0/build/Android.bp
new file mode 100644
index 0000000..d5c70e7
--- /dev/null
+++ b/tv/cec/V1_0/build/Android.bp
@@ -0,0 +1,145 @@
+// 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.tv.cec@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.tv.cec@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/cec/1.0/HdmiCec.vts",
+ "android/hardware/tv/cec/1.0/HdmiCecCallback.vts",
+ "android/hardware/tv/cec/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.tv.cec@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.tv.cec@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
+ srcs: [
+ ":android.hardware.tv.cec@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/cec/1.0/HdmiCec.vts.cpp",
+ "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.cpp",
+ "android/hardware/tv/cec/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tv.cec@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.tv.cec@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
+ srcs: [
+ ":android.hardware.tv.cec@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/cec/1.0/HdmiCec.vts.h",
+ "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.h",
+ "android/hardware/tv/cec/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tv.cec@1.0-vts.driver",
+ generated_sources: ["android.hardware.tv.cec@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.tv.cec@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.tv.cec@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.tv.cec@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.tv.cec@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.tv.cec@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
+ srcs: [
+ ":android.hardware.tv.cec@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/cec/1.0/HdmiCec.vts.cpp",
+ "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.cpp",
+ "android/hardware/tv/cec/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tv.cec@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.tv.cec@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
+ srcs: [
+ ":android.hardware.tv.cec@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/cec/1.0/HdmiCec.vts.h",
+ "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.h",
+ "android/hardware/tv/cec/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tv.cec@1.0-vts.profiler",
+ generated_sources: ["android.hardware.tv.cec@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.tv.cec@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.tv.cec@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.tv.cec@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/tv/cec/V1_0/host/Android.mk b/tv/cec/V1_0/host/Android.mk
new file mode 100644
index 0000000..b992cd6
--- /dev/null
+++ b/tv/cec/V1_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalTvCecV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/tv/cec/V1_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/cec/V1_0/host/AndroidTest.xml b/tv/cec/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..844d3f0
--- /dev/null
+++ b/tv/cec/V1_0/host/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 VtsHalTvCecV1_0Host 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/tv/cec/1.0/vts/HdmiCec.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/HdmiCec.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCecCallback.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/HdmiCecCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.cec@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.tv.cec@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="VtsHalTvCecV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest"/>
+ <option name="precondition-lshal" value="android.hardware.tv.cec@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest.py b/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest.py
new file mode 100644
index 0000000..779870f
--- /dev/null
+++ b/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest.py
@@ -0,0 +1,159 @@
+#!/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.proto import ComponentSpecificationMessage_pb2 as CompSpecMsg
+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
+from vts.utils.python.precondition import precondition_utils
+
+
+class TvCecHidlTest(base_test.BaseTestClass):
+ """Host testcase class for the TV HDMI_CEC HIDL HAL."""
+
+ def setUpClass(self):
+ """Creates a mirror and init tv hdmi cec hal service."""
+ 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.shell.one.Execute(
+ "setprop vts.hal.vts.hidl.get_stub true")
+
+ 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="tv_cec",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.tv.cec",
+ target_component_name="IHdmiCec",
+ bits=int(self.abi_bitness))
+
+ time.sleep(1) # Wait for hal to be ready
+
+ self.vtypes = self.dut.hal.tv_cec.GetHidlTypeInterface("types")
+ logging.info("tv_cec types: %s", self.vtypes)
+
+ def setUp(self):
+ """Setup function that will be called every time before executing each
+ test case in the test class."""
+ if self.profiling.enabled:
+ self.profiling.EnableVTSProfiling(self.dut.shell.one)
+
+ def tearDown(self):
+ """TearDown function that will be called every time after executing each
+ test case in the test class."""
+ if self.profiling.enabled:
+ self.profiling.ProcessTraceDataForTestCase(self.dut)
+ self.profiling.DisableVTSProfiling(self.dut.shell.one)
+
+ def tearDownClass(self):
+ """To be executed when all test cases are finished."""
+ if self._skip_all_testcases:
+ return
+
+ if self.coverage.enabled:
+ self.coverage.SetCoverageData(dut=self.dut, isGlobal=True)
+
+ if self.profiling.enabled:
+ self.profiling.ProcessAndUploadTraceData()
+
+ def testClearAndAddLogicalAddress(self):
+ """A simple test case which sets logical address and clears it."""
+ self.dut.hal.tv_cec.clearLogicalAddress()
+ result = self.dut.hal.tv_cec.addLogicalAddress(
+ self.vtypes.CecLogicalAddress.PLAYBACK_3)
+ asserts.assertEqual(self.vtypes.Result.SUCCESS, result)
+ logging.info("addLogicalAddress result: %s", result)
+
+ def testGetPhysicalAddress(self):
+ """A simple test case which queries the physical address."""
+ status, paddr = self.dut.hal.tv_cec.getPhysicalAddress()
+ asserts.assertEqual(self.vtypes.Result.SUCCESS, status)
+ logging.info("getPhysicalAddress status: %s, paddr: %s", status, paddr)
+
+ def testSendRandomMessage(self):
+ """A test case which sends a random message."""
+ cec_message = {
+ "initiator": self.vtypes.CecLogicalAddress.TV,
+ "destination": self.vtypes.CecLogicalAddress.PLAYBACK_1,
+ "body": [1, 2, 3]
+ }
+ message = self.vtypes.Py2Pb("CecMessage", cec_message)
+ logging.info("message: %s", message)
+ result = self.dut.hal.tv_cec.sendMessage(message)
+ logging.info("sendMessage result: %s", result)
+
+ def testGetCecVersion1(self):
+ """A simple test case which queries the cec version."""
+ version = self.dut.hal.tv_cec.getCecVersion()
+ logging.info("getCecVersion version: %s", version)
+
+ def testGetVendorId(self):
+ """A simple test case which queries vendor id."""
+ vendor_id = self.dut.hal.tv_cec.getVendorId()
+ asserts.assertEqual(0, 0xff000000 & vendor_id)
+ logging.info("getVendorId vendor_id: %s", vendor_id)
+
+ def testGetPortInfo(self):
+ """A simple test case which queries port information."""
+ port_infos = self.dut.hal.tv_cec.getPortInfo()
+ logging.info("getPortInfo port_infos: %s", port_infos)
+
+ def testSetOption(self):
+ """A simple test case which changes CEC options."""
+ self.dut.hal.tv_cec.setOption(self.vtypes.OptionKey.WAKEUP, True)
+ self.dut.hal.tv_cec.setOption(self.vtypes.OptionKey.ENABLE_CEC, True)
+ self.dut.hal.tv_cec.setOption(
+ self.vtypes.OptionKey.SYSTEM_CEC_CONTROL, True)
+
+ def testSetLanguage(self):
+ """A simple test case which updates language information."""
+ self.dut.hal.tv_cec.setLanguage("eng")
+
+ def testEnableAudioReturnChannel(self):
+ """Checks whether Audio Return Channel can be enabled."""
+ port_infos = self.dut.hal.tv_cec.getPortInfo()
+ for port_info in port_infos:
+ if "portId" in port_info and port_info.get("arcSupported"):
+ self.dut.hal.tv_cec.enableAudioReturnChannel(
+ port_info["portId"], True)
+
+ def testIsConnected(self):
+ """A simple test case which queries the connected status."""
+ status = self.dut.hal.tv_cec.isConnected()
+ logging.info("isConnected status: %s", status)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/tv/cec/V1_0/host/__init__.py b/tv/cec/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/cec/V1_0/host/__init__.py
diff --git a/tv/cec/V1_0/host_profiling/Android.mk b/tv/cec/V1_0/host_profiling/Android.mk
new file mode 100644
index 0000000..66c23ab
--- /dev/null
+++ b/tv/cec/V1_0/host_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalTvCecV1_0HostProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/tv/cec/V1_0/host_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/cec/V1_0/host_profiling/AndroidTest.xml b/tv/cec/V1_0/host_profiling/AndroidTest.xml
new file mode 100644
index 0000000..d08c00d
--- /dev/null
+++ b/tv/cec/V1_0/host_profiling/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 VtsHalTvCecV1_0HostProfiling 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="HalHidlHostProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCec.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/HdmiCec.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCecCallback.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/HdmiCecCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.cec@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.tv.cec@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.cec@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.tv.cec@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="VtsHalTvCecV1_0HostProfiling"/>
+ <option name="test-case-path" value="vts/testcases/hal/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.tv.cec@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/tv/cec/__init__.py b/tv/cec/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/cec/__init__.py
diff --git a/tv/input/V1_0/Android.bp b/tv/input/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/tv/input/V1_0/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 = [
+ "*",
+]
diff --git a/tv/input/V1_0/__init__.py b/tv/input/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/input/V1_0/__init__.py
diff --git a/tv/input/V1_0/build/Android.bp b/tv/input/V1_0/build/Android.bp
new file mode 100644
index 0000000..26fb29d
--- /dev/null
+++ b/tv/input/V1_0/build/Android.bp
@@ -0,0 +1,148 @@
+// 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.tv.input@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.tv.input@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/input/1.0/TvInput.vts",
+ "android/hardware/tv/input/1.0/TvInputCallback.vts",
+ "android/hardware/tv/input/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.tv.input@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.tv.input@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
+ srcs: [
+ ":android.hardware.tv.input@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/input/1.0/TvInput.vts.cpp",
+ "android/hardware/tv/input/1.0/TvInputCallback.vts.cpp",
+ "android/hardware/tv/input/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tv.input@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.tv.input@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
+ srcs: [
+ ":android.hardware.tv.input@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/input/1.0/TvInput.vts.h",
+ "android/hardware/tv/input/1.0/TvInputCallback.vts.h",
+ "android/hardware/tv/input/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tv.input@1.0-vts.driver",
+ generated_sources: ["android.hardware.tv.input@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.tv.input@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.tv.input@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.tv.input@1.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@2.0-vts.driver",
+ ],
+ export_shared_lib_headers: [
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.tv.input@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.tv.input@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
+ srcs: [
+ ":android.hardware.tv.input@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/input/1.0/TvInput.vts.cpp",
+ "android/hardware/tv/input/1.0/TvInputCallback.vts.cpp",
+ "android/hardware/tv/input/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tv.input@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.tv.input@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
+ srcs: [
+ ":android.hardware.tv.input@1.0_hal",
+ ],
+ out: [
+ "android/hardware/tv/input/1.0/TvInput.vts.h",
+ "android/hardware/tv/input/1.0/TvInputCallback.vts.h",
+ "android/hardware/tv/input/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tv.input@1.0-vts.profiler",
+ generated_sources: ["android.hardware.tv.input@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.tv.input@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.tv.input@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.tv.input@1.0",
+ "android.hardware.audio.common@2.0",
+ "android.hardware.audio.common@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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/tv/input/V1_0/host/Android.mk b/tv/input/V1_0/host/Android.mk
new file mode 100644
index 0000000..d83909a
--- /dev/null
+++ b/tv/input/V1_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalTvInputV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/host/AndroidTest.xml b/tv/input/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..3172e3f
--- /dev/null
+++ b/tv/input/V1_0/host/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 VtsHalTvInputV1_0Host 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/audio/common/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/audio/common/2.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInput.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/TvInput.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInputCallback.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/TvInputCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.input@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.tv.input@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="VtsHalTvInputV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest"/>
+ <option name="precondition-lshal" value="android.hardware.tv.input@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest.py b/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest.py
new file mode 100644
index 0000000..305c4f5
--- /dev/null
+++ b/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest.py
@@ -0,0 +1,86 @@
+#!/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
+
+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
+from vts.utils.python.precondition import precondition_utils
+
+
+class TvInputHidlTest(base_test.BaseTestClass):
+ """Two hello world test cases which use the shell driver."""
+
+ def setUpClass(self):
+ """Creates a mirror and init tv input hal."""
+ 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
+
+ if self.coverage.enabled:
+ self.coverage.LoadArtifacts()
+ self.coverage.InitializeDeviceCoverage(self.dut)
+
+ self.dut.hal.InitHidlHal(target_type="tv_input",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.tv.input",
+ target_component_name="ITvInput",
+ bits=int(self.abi_bitness))
+
+ self.dut.shell.InvokeTerminal("one")
+
+ def setUp(self):
+ """Setup function that will be called every time before executing each
+ test case in the test class."""
+ if self.profiling.enabled:
+ self.profiling.EnableVTSProfiling(self.dut.shell.one)
+
+ def tearDown(self):
+ """TearDown function that will be called every time after executing each
+ test case in the test class."""
+ if self.profiling.enabled:
+ self.profiling.ProcessTraceDataForTestCase(self.dut)
+ self.profiling.DisableVTSProfiling(self.dut.shell.one)
+
+ def tearDownClass(self):
+ """To be executed when all test cases are finished."""
+ if self._skip_all_testcases:
+ return
+
+ if self.coverage.enabled:
+ self.coverage.SetCoverageData(dut=self.dut, isGlobal=True)
+
+ if self.profiling.enabled:
+ self.profiling.ProcessAndUploadTraceData()
+
+ def testGetStreamConfigurations(self):
+ configs = self.dut.hal.tv_input.getStreamConfigurations(0)
+ logging.info('return value of getStreamConfigurations(0): %s', configs)
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/tv/input/V1_0/host/__init__.py b/tv/input/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/input/V1_0/host/__init__.py
diff --git a/tv/input/V1_0/host_profiling/Android.mk b/tv/input/V1_0/host_profiling/Android.mk
new file mode 100644
index 0000000..a4fd611
--- /dev/null
+++ b/tv/input/V1_0/host_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalTvInputV1_0HostProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/host_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/host_profiling/AndroidTest.xml b/tv/input/V1_0/host_profiling/AndroidTest.xml
new file mode 100644
index 0000000..af5cd36
--- /dev/null
+++ b/tv/input/V1_0/host_profiling/AndroidTest.xml
@@ -0,0 +1,39 @@
+<?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 VtsHalTvInputV1_0HostProfiling 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="HalHidlHostProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/audio/common/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/audio/common/2.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInput.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/TvInput.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInputCallback.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/TvInputCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.input@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.tv.input@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib/android.hardware.audio.common@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.input@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.tv.input@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="VtsHalTvInputV1_0HostProfiling"/>
+ <option name="test-case-path" value="vts/testcases/hal/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.tv.input@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/tv/input/V1_0/host_profiling/__init__.py b/tv/input/V1_0/host_profiling/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/input/V1_0/host_profiling/__init__.py
diff --git a/tv/input/V1_0/target/Android.mk b/tv/input/V1_0/target/Android.mk
new file mode 100644
index 0000000..97ba1af
--- /dev/null
+++ b/tv/input/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalTvInputV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/target/AndroidTest.xml b/tv/input/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..b3c456a
--- /dev/null
+++ b/tv/input/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 VtsHalTvInputV1_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="VtsHalTvInputV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTvInputV1_0TargetTest/VtsHalTvInputV1_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.tv.input@1.0"/>
+ <!-- Needs about 50 seconds if no device. Needs about 15 seconds for every additional device -->
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/tv/input/V1_0/target_profiling/Android.mk b/tv/input/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..dbba4e1
--- /dev/null
+++ b/tv/input/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalTvInputV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/target_profiling/AndroidTest.xml b/tv/input/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..c691355
--- /dev/null
+++ b/tv/input/V1_0/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 VtsHalTvInputV1_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.audio.common@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.input@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.tv.input@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="VtsHalTvInputV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTvInputV1_0TargetTest/VtsHalTvInputV1_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.tv.input@1.0"/>
+ <!-- Needs about 50 seconds if no device. Needs about 15 seconds for every additional device -->
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/tv/input/__init__.py b/tv/input/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tv/input/__init__.py
diff --git a/usb/Android.bp b/usb/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/usb/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/usb/V1_0/Android.bp b/usb/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/usb/V1_0/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 = [
+ "*",
+]
diff --git a/usb/V1_0/build/Android.bp b/usb/V1_0/build/Android.bp
new file mode 100644
index 0000000..789cbe6
--- /dev/null
+++ b/usb/V1_0/build/Android.bp
@@ -0,0 +1,145 @@
+// 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.usb@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.usb@1.0_hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/Usb.vts",
+ "android/hardware/usb/1.0/UsbCallback.vts",
+ "android/hardware/usb/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.usb@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.usb@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ ":android.hardware.usb@1.0_hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/Usb.vts.cpp",
+ "android/hardware/usb/1.0/UsbCallback.vts.cpp",
+ "android/hardware/usb/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.usb@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.usb@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ ":android.hardware.usb@1.0_hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/Usb.vts.h",
+ "android/hardware/usb/1.0/UsbCallback.vts.h",
+ "android/hardware/usb/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.usb@1.0-vts.driver",
+ generated_sources: ["android.hardware.usb@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.usb@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.usb@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.usb@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.usb@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.usb@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ ":android.hardware.usb@1.0_hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/Usb.vts.cpp",
+ "android/hardware/usb/1.0/UsbCallback.vts.cpp",
+ "android/hardware/usb/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.usb@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.usb@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ ":android.hardware.usb@1.0_hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/Usb.vts.h",
+ "android/hardware/usb/1.0/UsbCallback.vts.h",
+ "android/hardware/usb/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.usb@1.0-vts.profiler",
+ generated_sources: ["android.hardware.usb@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.usb@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.usb@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.usb@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/usb/V1_0/target/Android.mk b/usb/V1_0/target/Android.mk
new file mode 100644
index 0000000..31d2a85
--- /dev/null
+++ b/usb/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalUsbV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/usb/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/usb/V1_0/target/AndroidTest.xml b/usb/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..535afac
--- /dev/null
+++ b/usb/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 VtsHalUsbV1_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="VtsHalUsbV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalUsbV1_0TargetTest/VtsHalUsbV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalUsbV1_0TargetTest/VtsHalUsbV1_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.usb@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/usb/V1_0/target_profiling/Android.mk b/usb/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..6f35895
--- /dev/null
+++ b/usb/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalUsbV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/usb/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/usb/V1_0/target_profiling/AndroidTest.xml b/usb/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..9dc765b
--- /dev/null
+++ b/usb/V1_0/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 VtsHalUsbV1_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.usb@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.usb@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.usb@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.usb@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="VtsHalUsbV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalUsbV1_0TargetTest/VtsHalUsbV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalUsbV1_0TargetTest/VtsHalUsbV1_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.usb@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/usb/V1_0/target_replay/Android.mk b/usb/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..f73e6a8
--- /dev/null
+++ b/usb/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalUsbV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/usb/V1_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/usb/V1_0/target_replay/AndroidTest.xml b/usb/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..0605964
--- /dev/null
+++ b/usb/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 VtsHalUsbV1_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/usb/1.0/vts/Usb.vts->/data/local/tmp/spec/android/hardware/usb/1.0/Usb.vts"/>
+ <option name="push" value="spec/hardware/interfaces/usb/1.0/vts/UsbCallback.vts->/data/local/tmp/spec/android/hardware/usb/1.0/UsbCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/usb/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/usb/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.usb@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.usb@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.usb@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.usb@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="VtsHalUsbV1_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/usb/V1_0/android.hardware.usb@1.0_sailfish_1.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.usb@1.0"/>
+ <option name="precondition-lshal" value="android.hardware.usb@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vibrator/Android.bp b/vibrator/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/vibrator/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/vibrator/V1_0/Android.bp b/vibrator/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/vibrator/V1_0/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 = [
+ "*",
+]
diff --git a/vibrator/V1_0/__init__.py b/vibrator/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vibrator/V1_0/__init__.py
diff --git a/vibrator/V1_0/build/Android.bp b/vibrator/V1_0/build/Android.bp
new file mode 100644
index 0000000..ca08f54
--- /dev/null
+++ b/vibrator/V1_0/build/Android.bp
@@ -0,0 +1,140 @@
+// 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.0-vts.spec",
+ srcs: [
+ ":android.hardware.vibrator@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.0/Vibrator.vts",
+ "android/hardware/vibrator/1.0/types.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.vibrator@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.vibrator@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
+ srcs: [
+ ":android.hardware.vibrator@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.0/Vibrator.vts.cpp",
+ "android/hardware/vibrator/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.vibrator@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.vibrator@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
+ srcs: [
+ ":android.hardware.vibrator@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.0/Vibrator.vts.h",
+ "android/hardware/vibrator/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.vibrator@1.0-vts.driver",
+ generated_sources: ["android.hardware.vibrator@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.vibrator@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.vibrator@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.vibrator@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.vibrator@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.vibrator@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
+ srcs: [
+ ":android.hardware.vibrator@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.0/Vibrator.vts.cpp",
+ "android/hardware/vibrator/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.vibrator@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.vibrator@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
+ srcs: [
+ ":android.hardware.vibrator@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vibrator/1.0/Vibrator.vts.h",
+ "android/hardware/vibrator/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.vibrator@1.0-vts.profiler",
+ generated_sources: ["android.hardware.vibrator@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.vibrator@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.vibrator@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.vibrator@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/vibrator/V1_0/host/Android.mk b/vibrator/V1_0/host/Android.mk
new file mode 100644
index 0000000..d7d253f
--- /dev/null
+++ b/vibrator/V1_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVibratorV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/host/AndroidTest.xml b/vibrator/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..b8772e1
--- /dev/null
+++ b/vibrator/V1_0/host/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 VtsHalVibratorV1_0Host 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/vibrator/1.0/vts/Vibrator.vts->/data/local/tmp/spec/android/hardware/vibrator/1.0/Vibrator.vts"/>
+ <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/vibrator/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vibrator@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vibrator@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="VtsHalVibratorV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest"/>
+ <option name="precondition-lshal" value="android.hardware.vibrator@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest.py b/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest.py
new file mode 100644
index 0000000..8b66418
--- /dev/null
+++ b/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest.py
@@ -0,0 +1,91 @@
+#!/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 test_runner
+from vts.utils.python.controllers import android_device
+from vts.utils.python.precondition import precondition_utils
+
+
+class VibratorHidlTest(base_test.BaseTestClass):
+ """A simple testcase for the VIBRATOR HIDL HAL."""
+
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer VIBRATOR service."""
+ 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
+
+ # Test using the binderized mode
+ self.dut.shell.one.Execute(
+ "setprop vts.hal.vts.hidl.get_stub true")
+
+ self.dut.hal.InitHidlHal(
+ target_type="vibrator",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.vibrator",
+ target_component_name="IVibrator",
+ bits=int(self.abi_bitness))
+
+ def tearDownClass(self):
+ """ If profiling is enabled for the test, collect the profiling data
+ and disable profiling after the test is done.
+ """
+ if not self._skip_all_testcases and self.profiling.enabled:
+ self.profiling.ProcessAndUploadTraceData()
+
+ def setUp(self):
+ if self.profiling.enabled:
+ self.profiling.EnableVTSProfiling(self.dut.shell.one)
+
+ def tearDown(self):
+ if self.profiling.enabled:
+ self.profiling.ProcessTraceDataForTestCase(self.dut)
+ self.profiling.DisableVTSProfiling(self.dut.shell.one)
+
+ def testVibratorBasic(self):
+ """A simple test case which just calls each registered function."""
+ vibrator_types = self.dut.hal.vibrator.GetHidlTypeInterface("types")
+ logging.info("vibrator_types: %s", vibrator_types)
+ logging.info("OK: %s", vibrator_types.Status.OK)
+ logging.info("UNKNOWN_ERROR: %s", vibrator_types.Status.UNKNOWN_ERROR)
+ logging.info("BAD_VALUE: %s", vibrator_types.Status.BAD_VALUE)
+ logging.info("UNSUPPORTED_OPERATION: %s",
+ vibrator_types.Status.UNSUPPORTED_OPERATION)
+
+ result = self.dut.hal.vibrator.on(10000)
+ logging.info("on result: %s", result)
+ asserts.assertEqual(vibrator_types.Status.OK, result)
+
+ time.sleep(1)
+
+ result = self.dut.hal.vibrator.off()
+ logging.info("off result: %s", result)
+ asserts.assertEqual(vibrator_types.Status.OK, result)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/vibrator/V1_0/host/__init__.py b/vibrator/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vibrator/V1_0/host/__init__.py
diff --git a/vibrator/V1_0/host_profiling/Android.mk b/vibrator/V1_0/host_profiling/Android.mk
new file mode 100644
index 0000000..cb5719a
--- /dev/null
+++ b/vibrator/V1_0/host_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVibratorV1_0HostProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/host_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/host_profiling/AndroidTest.xml b/vibrator/V1_0/host_profiling/AndroidTest.xml
new file mode 100644
index 0000000..01c20af
--- /dev/null
+++ b/vibrator/V1_0/host_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 VtsHalVibratorV1_0HostProfiling 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="HalHidlHostProfilingTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/Vibrator.vts->/data/local/tmp/spec/android/hardware/vibrator/1.0/Vibrator.vts"/>
+ <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/vibrator/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vibrator@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vibrator@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib/android.hardware.vibrator@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.vibrator@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vibrator@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.vibrator@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="VtsHalVibratorV1_0HostProfiling"/>
+ <option name="test-case-path" value="vts/testcases/hal/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest"/>
+ <option name="enable-profiling" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.vibrator@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_0/target/Android.mk b/vibrator/V1_0/target/Android.mk
new file mode 100644
index 0000000..9ba8846
--- /dev/null
+++ b/vibrator/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVibratorV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/target/AndroidTest.xml b/vibrator/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..7d0e632
--- /dev/null
+++ b/vibrator/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 VtsHalVibratorV1_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="VtsHalVibratorV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVibratorV1_0TargetTest/VtsHalVibratorV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVibratorV1_0TargetTest/VtsHalVibratorV1_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.vibrator@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_0/target_profiling/Android.mk b/vibrator/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..d6b67eb
--- /dev/null
+++ b/vibrator/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVibratorV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/target_profiling/AndroidTest.xml b/vibrator/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..32e7b61
--- /dev/null
+++ b/vibrator/V1_0/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 VtsHalVibratorV1_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.vibrator@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.vibrator@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vibrator@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.vibrator@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="VtsHalVibratorV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVibratorV1_0TargetTest/VtsHalVibratorV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVibratorV1_0TargetTest/VtsHalVibratorV1_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.vibrator@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_0/target_replay/Android.mk b/vibrator/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..449fd95
--- /dev/null
+++ b/vibrator/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVibratorV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/target_replay/AndroidTest.xml b/vibrator/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..5c46655
--- /dev/null
+++ b/vibrator/V1_0/target_replay/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 VtsHalVibratorV1_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/vibrator/1.0/vts/Vibrator.vts->/data/local/tmp/spec/target.vts" />
+ <option name="push" value="DATA/lib/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vibrator@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vibrator@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="VtsHalVibratorV1_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/vibrator/V1_0/android.hardware.vibrator@1.0_sailfish_1.vts.trace" />
+ <option name="hal-hidl-package-name" value="android.hardware.vibrator@1.0" />
+ <option name="test-timeout" value="2m"/>
+ </test>
+</configuration>
diff --git a/vibrator/__init__.py b/vibrator/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vibrator/__init__.py
diff --git a/vr/Android.bp b/vr/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/vr/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/vr/V1_0/Android.bp b/vr/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/vr/V1_0/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 = [
+ "*",
+]
diff --git a/vr/V1_0/__init__.py b/vr/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vr/V1_0/__init__.py
diff --git a/vr/V1_0/build/Android.bp b/vr/V1_0/build/Android.bp
new file mode 100644
index 0000000..461ef1a
--- /dev/null
+++ b/vr/V1_0/build/Android.bp
@@ -0,0 +1,135 @@
+// 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.vr@1.0-vts.spec",
+ srcs: [
+ ":android.hardware.vr@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vr/1.0/Vr.vts",
+ ],
+}
+
+// Build VTS driver.
+genrule {
+ name: "android.hardware.vr@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.vr@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
+ srcs: [
+ ":android.hardware.vr@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vr/1.0/Vr.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.vr@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.vr@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
+ srcs: [
+ ":android.hardware.vr@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vr/1.0/Vr.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.vr@1.0-vts.driver",
+ generated_sources: ["android.hardware.vr@1.0-vts.driver_genc++"],
+ generated_headers: ["android.hardware.vr@1.0-vts.driver_genc++_headers"],
+ export_generated_headers: ["android.hardware.vr@1.0-vts.driver_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_drivercomm",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.vr@1.0",
+
+ ],
+ export_shared_lib_headers: [
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
+// Build VTS profiler.
+genrule {
+ name: "android.hardware.vr@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.vr@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
+ srcs: [
+ ":android.hardware.vr@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vr/1.0/Vr.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.vr@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.vr@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
+ srcs: [
+ ":android.hardware.vr@1.0_hal",
+ ],
+ out: [
+ "android/hardware/vr/1.0/Vr.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.vr@1.0-vts.profiler",
+ generated_sources: ["android.hardware.vr@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.vr@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.vr@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_common",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.vr@1.0",
+
+ ],
+ 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-uninitialized",
+ "-Wno-implicitly-unsigned-literal",
+ ],
+}
+
diff --git a/vr/V1_0/host/Android.mk b/vr/V1_0/host/Android.mk
new file mode 100644
index 0000000..bbb2e6c
--- /dev/null
+++ b/vr/V1_0/host/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVrV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/host
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/V1_0/host/AndroidTest.xml b/vr/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..79aebd8
--- /dev/null
+++ b/vr/V1_0/host/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 VtsHalVrV1_0Host 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/vr/1.0/vts/Vr.vts->/data/local/tmp/spec/android/hardware/vr/1.0/Vr.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vr@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vr@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="VtsHalVrV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/vr/V1_0/host/VtsHalVrV1_0HostTest"/>
+ <option name="precondition-lshal" value="android.hardware.vr@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vr/V1_0/host/VtsHalVrV1_0HostTest.py b/vr/V1_0/host/VtsHalVrV1_0HostTest.py
new file mode 100644
index 0000000..85883ed
--- /dev/null
+++ b/vr/V1_0/host/VtsHalVrV1_0HostTest.py
@@ -0,0 +1,88 @@
+#!/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 test_runner
+from vts.utils.python.controllers import android_device
+from vts.utils.python.precondition import precondition_utils
+
+
+class VrHidlTest(base_test.BaseTestClass):
+ """A simple testcase for the VR HIDL HAL."""
+
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer VR service."""
+ 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
+
+ # Test using the binderized mode
+ self.dut.shell.one.Execute(
+ "setprop vts.hal.vts.hidl.get_stub true")
+
+ self.dut.hal.InitHidlHal(
+ target_type="vr",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.vr",
+ target_component_name="IVr",
+ hw_binder_service_name=None,
+ bits=int(self.abi_bitness))
+
+ def tearDownClass(self):
+ """ If profiling is enabled for the test, collect the profiling data
+ and disable profiling after the test is done.
+ """
+ if not self._skip_all_testcases and self.profiling.enabled:
+ self.profiling.ProcessAndUploadTraceData()
+
+ def setUp(self):
+ if self.profiling.enabled:
+ self.profiling.EnableVTSProfiling(self.dut.shell.one)
+
+ def tearDown(self):
+ if self.profiling.enabled:
+ self.profiling.ProcessTraceDataForTestCase(self.dut)
+ self.profiling.DisableVTSProfiling(self.dut.shell.one)
+
+ def testVrBasic(self):
+ """A simple test case which just calls each registered function."""
+ result = self.dut.hal.vr.init()
+ logging.info("init result: %s", result)
+
+ time.sleep(1)
+
+ result = self.dut.hal.vr.setVrMode(True)
+ logging.info("setVrMode(true) result: %s", result)
+
+ time.sleep(1)
+
+ result = self.dut.hal.vr.setVrMode(False)
+ logging.info("setVrMode(false) result: %s", result)
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/vr/V1_0/host/__init__.py b/vr/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vr/V1_0/host/__init__.py
diff --git a/vr/V1_0/target/Android.mk b/vr/V1_0/target/Android.mk
new file mode 100644
index 0000000..0667055
--- /dev/null
+++ b/vr/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVrV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/V1_0/target/AndroidTest.xml b/vr/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..98cc610
--- /dev/null
+++ b/vr/V1_0/target/AndroidTest.xml
@@ -0,0 +1,37 @@
+<?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 VtsHalVrV1_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="VtsHalVrV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVrV1_0TargetTest/VtsHalVrV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVrV1_0TargetTest/VtsHalVrV1_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"/>
+ <!-- Uncomment this and comment 'precondition-feature' to run this test
+ only on devices using binderized VR HALs.
+ <option name="precondition-hwbinder-service" value="android.hardware.vr" /> -->
+ <option name="precondition-feature" value="android.hardware.vr.high_performance" />
+ <option name="precondition-lshal" value="android.hardware.vr@1.0"/>
+ <option name="test-config-path" value="vts/testcases/hal/vr/V1_0/target/VrHidlTargetTest.config" />
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vr/V1_0/target/VrHidlTargetTest.config b/vr/V1_0/target/VrHidlTargetTest.config
new file mode 100644
index 0000000..ec01b5f
--- /dev/null
+++ b/vr/V1_0/target/VrHidlTargetTest.config
@@ -0,0 +1,25 @@
+{
+ "use_gae_db": true,
+ "coverage": true,
+ "modules": [{
+ "module_name": "system/lib64/hw/vr.marlin",
+ "git_project": {
+ "name": "device/google/marlin",
+ "path": "device/google/marlin"
+ }
+ },
+ {
+ "module_name": "system/lib64/hw/vr.sailfish",
+ "git_project": {
+ "name": "device/google/marlin",
+ "path": "device/google/marlin"
+ }
+ },
+ {
+ "module_name": "system/lib64/hw/android.hardware.vr@1.0-impl",
+ "git_project": {
+ "name": "platform/hardware/interfaces",
+ "path": "hardware/interfaces"
+ }
+ }]
+}
diff --git a/vr/V1_0/target_profiling/Android.mk b/vr/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..e6c20c9
--- /dev/null
+++ b/vr/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVrV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/V1_0/target_profiling/AndroidTest.xml b/vr/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..11de170
--- /dev/null
+++ b/vr/V1_0/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 VtsHalVrV1_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.vr@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.vr@1.0-vts.profiler.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vr@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.vr@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="VtsHalVrV1_0TargetProfiling"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVrV1_0TargetTest/VtsHalVrV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVrV1_0TargetTest/VtsHalVrV1_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.vr@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vr/V1_0/target_replay/Android.mk b/vr/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..feed713
--- /dev/null
+++ b/vr/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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 := VtsHalVrV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/V1_0/target_replay/AndroidTest.xml b/vr/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..d8fb3cf
--- /dev/null
+++ b/vr/V1_0/target_replay/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 VtsHalVrV1_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/vr/1.0/vts/Vr.vts->/data/local/tmp/spec/android/hardware/vr/1.0/Vr.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vr@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vr@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="VtsHalVrV1_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/vr/V1_0/android.hardware.vr@1.0_sailfish_1.vts.trace"/>
+ <option name="hal-hidl-package-name" value="android.hardware.vr@1.0"/>
+ <option name="precondition-lshal" value="android.hardware.vr@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/vr/__init__.py b/vr/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vr/__init__.py
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/wifi/V1_0/target/base/AndroidTest.xml
index 011d47c..86fd502 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/wifi/V1_0/target/base/AndroidTest.xml
@@ -24,6 +24,8 @@
<option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiV1_0TargetTest/VtsHalWifiV1_0TargetTest" />
<option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiV1_0TargetTest/VtsHalWifiV1_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.wifi@1.0"/>
<option name="test-timeout" value="10m"/>
</test>
diff --git a/wifi/V1_0/target_profiling/base/AndroidTest.xml b/wifi/V1_0/target_profiling/base/AndroidTest.xml
index 9f11856..ff359a4 100644
--- a/wifi/V1_0/target_profiling/base/AndroidTest.xml
+++ b/wifi/V1_0/target_profiling/base/AndroidTest.xml
@@ -27,6 +27,8 @@
<option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiV1_0TargetTest/VtsHalWifiV1_0TargetTest" />
<option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiV1_0TargetTest/VtsHalWifiV1_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.wifi@1.0"/>
<option name="test-timeout" value="10m"/>
diff --git a/wifi/supplicant/V1_0/target/AndroidTest.xml b/wifi/supplicant/V1_0/target/AndroidTest.xml
index 14d0c30..899395b 100644
--- a/wifi/supplicant/V1_0/target/AndroidTest.xml
+++ b/wifi/supplicant/V1_0/target/AndroidTest.xml
@@ -27,6 +27,6 @@
<option name="binary-test-disable-framework" value="true"/>
<option name="binary-test-stop-native-servers" value="true"/>
<option name="precondition-lshal" value="android.hardware.wifi.supplicant@1.0"/>
- <option name="test-timeout" value="1m"/>
+ <option name="test-timeout" value="15m"/>
</test>
</configuration>