Increase VTS audio test timeout
am: 40e61f8a16

Change-Id: I2b051e080bd864911e99b797550ce3ade39ef6ea
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..6027082
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,13 @@
+---
+Language: Cpp
+BasedOnStyle: Google
+ColumnLimit: 80
+IndentWidth: 2
+ContinuationIndentWidth: 4
+---
+Language: Java
+BasedOnStyle: Google
+ColumnLimit: 100
+IndentWidth: 4
+ContinuationIndentWidth: 8
+...
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
new file mode 100644
index 0000000..6be6e5f
--- /dev/null
+++ b/PREUPLOAD.cfg
@@ -0,0 +1,6 @@
+[Builtin Hooks]
+clang_format = true
+
+[Builtin Hooks Options]
+clang_format = --commit ${PREUPLOAD_COMMIT} --style file --extensions c,h,cc,cpp,java
+
diff --git a/audio/V2_0/build/Android.bp b/audio/V2_0/build/Android.bp
index 5e948d4..0a50416 100644
--- a/audio/V2_0/build/Android.bp
+++ b/audio/V2_0/build/Android.bp
@@ -64,28 +64,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.audio@2.0",
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -135,15 +147,29 @@
     export_generated_headers: ["android.hardware.audio@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/audio/V2_0/target_profiling/AndroidTest.xml b/audio/V2_0/target_profiling/AndroidTest.xml
index 4c125e1..3655a90 100644
--- a/audio/V2_0/target_profiling/AndroidTest.xml
+++ b/audio/V2_0/target_profiling/AndroidTest.xml
@@ -16,11 +16,12 @@
 <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-group" value="HalHidlTargetProfilingTest.push"/>
+        <option name="push" value="DATA/hardware/interfaces/audio/2.0/config/audio_policy_configuration.xsd->/data/local/tmp/audio_policy_configuration.xsd"/>
         <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.common@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.audio.common@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"/>
diff --git a/audio/common/V2_0/build/Android.bp b/audio/common/V2_0/build/Android.bp
index af8cb6d..485b349 100644
--- a/audio/common/V2_0/build/Android.bp
+++ b/audio/common/V2_0/build/Android.bp
@@ -43,25 +43,39 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "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-implicitly-unsigned-literal",
+    ],
 }
 
 // Build VTS profiler.
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.audio.common@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "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-implicitly-unsigned-literal",
+    ],
 }
 
diff --git a/audio/effect/V2_0/build/Android.bp b/audio/effect/V2_0/build/Android.bp
index bf0e985..1a439b5 100644
--- a/audio/effect/V2_0/build/Android.bp
+++ b/audio/effect/V2_0/build/Android.bp
@@ -85,28 +85,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.audio.effect@2.0",
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -170,15 +182,29 @@
     export_generated_headers: ["android.hardware.audio.effect@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/automotive/evs/V1_0/build/Android.bp b/automotive/evs/V1_0/build/Android.bp
index a2d10af..694cc80 100644
--- a/automotive/evs/V1_0/build/Android.bp
+++ b/automotive/evs/V1_0/build/Android.bp
@@ -55,24 +55,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.automotive.evs@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -116,13 +130,28 @@
     export_generated_headers: ["android.hardware.automotive.evs@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.automotive.evs@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/automotive/vehicle/V2_0/build/Android.bp b/automotive/vehicle/V2_0/build/Android.bp
index a96449e..4054b7c 100644
--- a/automotive/vehicle/V2_0/build/Android.bp
+++ b/automotive/vehicle/V2_0/build/Android.bp
@@ -49,24 +49,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.automotive.vehicle@2.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.automotive.vehicle@2.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/automotive/vehicle/V2_1/__init__.py b/automotive/vehicle/V2_1/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/automotive/vehicle/V2_1/__init__.py
diff --git a/automotive/vehicle/V2_1/build/Android.bp b/automotive/vehicle/V2_1/build/Android.bp
index 1dbc4fa..ed24785 100644
--- a/automotive/vehicle/V2_1/build/Android.bp
+++ b/automotive/vehicle/V2_1/build/Android.bp
@@ -46,28 +46,40 @@
     generated_headers: ["android.hardware.automotive.vehicle@2.1-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.automotive.vehicle@2.1-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.automotive.vehicle@2.1",
         "android.hardware.automotive.vehicle@2.0",
         "android.hardware.automotive.vehicle@2.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.automotive.vehicle@2.0",
         "android.hardware.automotive.vehicle@2.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -105,15 +117,29 @@
     export_generated_headers: ["android.hardware.automotive.vehicle@2.1-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.automotive.vehicle@2.1",
         "android.hardware.automotive.vehicle@2.0",
         "android.hardware.automotive.vehicle@2.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/wifi/V1_0/target/base/Android.mk b/automotive/vehicle/V2_1/host/Android.mk
similarity index 85%
copy from wifi/V1_0/target/base/Android.mk
copy to automotive/vehicle/V2_1/host/Android.mk
index c07841b..ab678f7 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/automotive/vehicle/V2_1/host/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1Host
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/vehicle/V2_1/host/AndroidTest.xml b/automotive/vehicle/V2_1/host/AndroidTest.xml
new file mode 100644
index 0000000..d6fe587
--- /dev/null
+++ b/automotive/vehicle/V2_1/host/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_1Host test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlHostTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/Vehicle.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.1/Vehicle.vts"/>
+        <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/types.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.1/types.vts"/>
+        <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.0/vts/Vehicle.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/Vehicle.vts"/>
+        <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/types.vts"/>
+        <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.1-vts.driver.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.1-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.1-vts.driver.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.1-vts.driver.so"/>
+        <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.0-vts.driver.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalAutomotiveVehicleV2_1Host"/>
+        <option name="test-case-path" value="vts/testcases/hal/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest"/>
+        <option name="precondition-lshal" value="android.hardware.automotive.vehicle@2.1"/>
+        <option name="test-timeout" value="1m"/>
+    </test>
+</configuration>
diff --git a/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py b/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py
new file mode 100644
index 0000000..cecb45a
--- /dev/null
+++ b/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py
@@ -0,0 +1,382 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+import time
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import const
+from vts.runners.host import keys
+from vts.runners.host import test_runner
+from vts.utils.python.controllers import android_device
+
+
+class VtsHalAutomotiveVehicleV2_1HostTest(base_test.BaseTestClass):
+    """A simple testcase for the VEHICLE HIDL HAL."""
+
+    def setUpClass(self):
+        """Creates a mirror and init vehicle hal."""
+        self.dut = self.registerController(android_device)[0]
+
+        self.dut.shell.InvokeTerminal("one")
+        self.dut.shell.one.Execute("setenforce 0")  # SELinux permissive mode
+
+        results = self.dut.shell.one.Execute("id -u system")
+        system_uid = results[const.STDOUT][0].strip()
+        logging.info("system_uid: %s", system_uid)
+
+        if self.coverage.enabled:
+            self.coverage.LoadArtifacts()
+            self.coverage.InitializeDeviceCoverage(self.dut)
+
+        if self.profiling.enabled:
+            self.profiling.EnableVTSProfiling(self.dut.shell.one)
+
+        self.dut.hal.InitHidlHal(
+            target_type="vehicle",
+            target_basepaths=self.dut.libPaths,
+            target_version=2.1,
+            target_package="android.hardware.automotive.vehicle",
+            target_component_name="IVehicle",
+            bits=64 if self.dut.is64Bit else 32)
+
+        self.vehicle = self.dut.hal.vehicle  # shortcut
+        self.vehicle.SetCallerUid(system_uid)
+        self.vtypes = self.dut.hal.vehicle.GetHidlTypeInterface("types")
+        logging.info("vehicle types: %s", self.vtypes)
+        self.halProperties = {}
+        for config in self.vehicle.getAllPropConfigs():
+            logging.info('property %d -> %s', config['prop'], config)
+            self.halProperties[config['prop']] = config
+
+    def tearDownClass(self):
+        """Disables the profiling.
+
+        If profiling is enabled for the test, collect the profiling data
+        and disable profiling after the test is done.
+        """
+        if self.profiling.enabled:
+            self.profiling.ProcessTraceDataForTestCase(self.dut)
+            self.profiling.ProcessAndUploadTraceData()
+
+        if self.coverage.enabled:
+            self.coverage.SetCoverageData(dut=self.dut, isGlobal=True)
+
+    def isPropertySupported(self, propertyId):
+        """Check whether a Vehicle HAL property is supported."""
+        return propertyId in self.halProperties
+
+    def getDiagnosticSupportInfo(self):
+        """Check which of the OBD2 diagnostic properties are supported."""
+        properties = [self.vtypes.VehicleProperty.OBD2_LIVE_FRAME,
+            self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME,
+            self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO,
+            self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]
+        return {x:self.isPropertySupported(x) for x in properties}
+
+    class CheckRead(object):
+        """An object whose job it is to read a Vehicle HAL property and run
+           routine validation checks on the result."""
+
+        def __init__(self, test, propertyId, areaId=0):
+            """Creates a CheckRead instance.
+
+            Args:
+                test: the containing testcase object.
+                propertyId: the numeric identifier of the vehicle property.
+            """
+            self.test = test
+            self.propertyId = propertyId
+            self.areaId = 0
+
+        def validateGet(self, status, value):
+            """Validate the result of IVehicle.get.
+
+            Args:
+                status: the StatusCode returned from Vehicle HAL.
+                value: the VehiclePropValue returned from Vehicle HAL.
+
+            Returns: a VehiclePropValue instance, or None on failure."""
+            asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
+            asserts.assertNotEqual(value, None)
+            asserts.assertEqual(self.propertyId, value['prop'])
+            return value
+
+        def prepareRequest(self, propValue):
+            """Setup this request with any property-specific data.
+
+            Args:
+                propValue: a dictionary in the format of a VehiclePropValue.
+
+            Returns: a dictionary in the format of a VehclePropValue."""
+            return propValue
+
+        def __call__(self):
+            asserts.assertTrue(self.test.isPropertySupported(self.propertyId), "error")
+            request = {
+                'prop' : self.propertyId,
+                'timestamp' : 0,
+                'areaId' : self.areaId,
+                'value' : {
+                    'int32Values' : [],
+                    'floatValues' : [],
+                    'int64Values' : [],
+                    'bytes' : [],
+                    'stringValue' : ""
+                }
+            }
+            request = self.prepareRequest(request)
+            requestPropValue = self.test.vtypes.Py2Pb("VehiclePropValue",
+                request)
+            status, responsePropValue = self.test.vehicle.get(requestPropValue)
+            return self.validateGet(status, responsePropValue)
+
+    class CheckWrite(object):
+        """An object whose job it is to write a Vehicle HAL property and run
+           routine validation checks on the result."""
+
+        def __init__(self, test, propertyId, areaId=0):
+            """Creates a CheckWrite instance.
+
+            Args:
+                test: the containing testcase object.
+                propertyId: the numeric identifier of the vehicle property.
+                areaId: the numeric identifier of the vehicle area.
+            """
+            self.test = test
+            self.propertyId = propertyId
+            self.areaId = 0
+
+        def validateSet(self, status):
+            """Validate the result of IVehicle.set.
+            Reading back the written-to property to ensure a consistent
+            value is fair game for this method.
+
+            Args:
+                status: the StatusCode returned from Vehicle HAL.
+
+            Returns: None."""
+            asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
+
+        def prepareRequest(self, propValue):
+            """Setup this request with any property-specific data.
+
+            Args:
+                propValue: a dictionary in the format of a VehiclePropValue.
+
+            Returns: a dictionary in the format of a VehclePropValue."""
+            return propValue
+
+        def __call__(self):
+            asserts.assertTrue(self.test.isPropertySupported(self.propertyId), "error")
+            request = {
+                'prop' : self.propertyId,
+                'timestamp' : 0,
+                'areaId' : self.areaId,
+                'value' : {
+                    'int32Values' : [],
+                    'floatValues' : [],
+                    'int64Values' : [],
+                    'bytes' : [],
+                    'stringValue' : ""
+                }
+            }
+            request = self.prepareRequest(request)
+            requestPropValue = self.test.vtypes.Py2Pb("VehiclePropValue",
+                request)
+            status = self.test.vehicle.set(requestPropValue)
+            return self.validateSet(status)
+
+    def testReadObd2LiveFrame(self):
+        """Test that one can correctly read the OBD2 live frame."""
+        supportInfo = self.getDiagnosticSupportInfo()
+        if supportInfo[self.vtypes.VehicleProperty.OBD2_LIVE_FRAME]:
+            checkRead = self.CheckRead(self,
+                self.vtypes.VehicleProperty.OBD2_LIVE_FRAME)
+            checkRead()
+        else:
+            # live frame not supported by this HAL implementation. done
+            logging.info("OBD2_LIVE_FRAME not supported.")
+
+    def testReadObd2FreezeFrameInfo(self):
+        """Test that one can read the list of OBD2 freeze timestamps."""
+        supportInfo = self.getDiagnosticSupportInfo()
+        if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO]:
+            checkRead = self.CheckRead(self,
+                self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
+            checkRead()
+        else:
+            # freeze frame info not supported by this HAL implementation. done
+            logging.info("OBD2_FREEZE_FRAME_INFO not supported.")
+
+    def testReadValidObd2FreezeFrame(self):
+        """Test that one can read the OBD2 freeze frame data."""
+        class FreezeFrameCheckRead(self.CheckRead):
+            def __init__(self, test, timestamp):
+                self.test = test
+                self.propertyId = \
+                    self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
+                self.timestamp = timestamp
+                self.areaId = 0
+
+            def prepareRequest(self, propValue):
+                propValue['value']['int64Values'] = [self.timestamp]
+                return propValue
+
+            def validateGet(self, status, value):
+                # None is acceptable, as a newer fault could have overwritten
+                # the one we're trying to read
+                if value is not None:
+                    asserts.assertEqual(self.vtypes.StatusCode.OK, status)
+                    asserts.assertEqual(self.propertyId, value['prop'])
+                    asserts.assertEqual(self.timestamp, value['timestamp'])
+
+        supportInfo = self.getDiagnosticSupportInfo()
+        if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO] \
+            and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME]:
+            infoCheckRead = self.CheckRead(self,
+                self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
+            frameInfos = infoCheckRead()
+            timestamps = frameInfos["value"]["int64Values"]
+            for timestamp in timestamps:
+                freezeCheckRead = FreezeFrameCheckRead(self, timestamp)
+                freezeCheckRead()
+            for timestamp in invalidTimestamps:
+                request = self.emptyValueProperty(
+                    self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME)
+                status, value = self.vehicle.get(request)
+        else:
+            # freeze frame not supported by this HAL implementation. done
+            logging.info("OBD2_FREEZE_FRAME and _INFO not supported.")
+
+    def testReadInvalidObd2FreezeFrame(self):
+        """Test that trying to read freeze frame at invalid timestamps
+            behaves correctly (i.e. returns an error code)."""
+        class FreezeFrameCheckRead(self.CheckRead):
+            def __init__(self, test, timestamp):
+                self.test = test
+                self.propertyId = self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
+                self.timestamp = timestamp
+                self.areaId = 0
+
+            def prepareRequest(self, propValue):
+                propValue['value']['int64Values'] = [self.timestamp]
+                return propValue
+
+            def validateGet(self, status, value):
+                # If we get freeze frame data here, something is wrong
+                asserts.assertEqual(None, value)
+                asserts.assertEqual(
+                    self.test.vtypes.StatusCode.INVALID_ARG, status)
+
+        supportInfo = self.getDiagnosticSupportInfo()
+        invalidTimestamps = [0,482005800]
+        if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME]:
+            for timestamp in invalidTimestamps:
+                freezeCheckRead = FreezeFrameCheckRead(self, timestamp)
+                freezeCheckRead()
+        else:
+            # freeze frame not supported by this HAL implementation. done
+            logging.info("OBD2_FREEZE_FRAME not supported.")
+
+    def testClearValidObd2FreezeFrame(self):
+        """Test that deleting a diagnostic freeze frame works.
+        Given the timing behavor of OBD2_FREEZE_FRAME, the only sensible
+        definition of works here is that, after deleting a frame, trying to read
+        at its timestamp, will not be successful."""
+        class FreezeFrameClearCheckWrite(self.CheckWrite):
+            def __init__(self, test, timestamp):
+                self.test = test
+                self.propertyId = self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
+                self.timestamp = timestamp
+                self.areaId = 0
+
+            def prepareRequest(self, propValue):
+                propValue['value']['int64Values'] = [self.timestamp]
+                return propValue
+
+            def validateSet(self, status):
+                asserts.assertTrue(status in [
+                    self.test.vtypes.StatusCode.OK,
+                    self.test.vtypes.StatusCode.INVALID_ARG], "error")
+
+        class FreezeFrameCheckRead(self.CheckRead):
+            def __init__(self, test, timestamp):
+                self.test = test
+                self.propertyId = \
+                    self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
+                self.timestamp = timestamp
+                self.areaId = 0
+
+            def prepareRequest(self, propValue):
+                propValue['value']['int64Values'] = [self.timestamp]
+                return propValue
+
+            def validateGet(self, status, value):
+                # If we get freeze frame data here, something is wrong
+                asserts.assertEqual(None, value)
+                asserts.assertEqual(
+                    self.test.vtypes.StatusCode.INVALID_ARG, status)
+
+        supportInfo = self.getDiagnosticSupportInfo()
+        if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO] \
+            and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME] \
+            and supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]:
+            infoCheckRead = self.CheckRead(self,
+                self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_INFO)
+            frameInfos = infoCheckRead()
+            timestamps = frameInfos["value"]["int64Values"]
+            for timestamp in timestamps:
+                checkWrite = FreezeFrameClearCheckWrite(self, timestamp)
+                checkWrite()
+                checkRead = FreezeFrameCheckRead(self, timestamp)
+                checkRead()
+        else:
+            # freeze frame not supported by this HAL implementation. done
+            logging.info("OBD2_FREEZE_FRAME, _CLEAR and _INFO not supported.")
+
+    def testClearInvalidObd2FreezeFrame(self):
+        """Test that deleting an invalid freeze frame behaves correctly."""
+        class FreezeFrameClearCheckWrite(self.CheckWrite):
+            def __init__(self, test, timestamp):
+                self.test = test
+                self.propertyId = \
+                    self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
+                self.timestamp = timestamp
+                self.areaId = 0
+
+            def prepareRequest(self, propValue):
+                propValue['value']['int64Values'] = [self.timestamp]
+                return propValue
+
+            def validateSet(self, status):
+                asserts.assertEqual(self.test.vtypes.StatusCode.INVALID_ARG,
+                    status)
+
+        supportInfo = self.getDiagnosticSupportInfo()
+        if supportInfo[self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR]:
+            invalidTimestamps = [0,482005800]
+            for timestamp in invalidTimestamps:
+                checkWrite = FreezeFrameClearCheckWrite(self, timestamp)
+                checkWrite()
+        else:
+            # freeze frame not supported by this HAL implementation. done
+            logging.info("OBD2_FREEZE_FRAME_CLEAR not supported.")
+
+if __name__ == "__main__":
+    test_runner.main()
diff --git a/automotive/vehicle/V2_1/host/__init__.py b/automotive/vehicle/V2_1/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/automotive/vehicle/V2_1/host/__init__.py
diff --git a/wifi/V1_0/target/base/Android.mk b/automotive/vehicle/V2_1/host_profiling/Android.mk
similarity index 83%
copy from wifi/V1_0/target/base/Android.mk
copy to automotive/vehicle/V2_1/host_profiling/Android.mk
index c07841b..639e3ef 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/automotive/vehicle/V2_1/host_profiling/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalAutomotiveVehicleV2_1HostProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_1/host_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/vehicle/V2_1/host_profiling/AndroidTest.xml b/automotive/vehicle/V2_1/host_profiling/AndroidTest.xml
new file mode 100644
index 0000000..a68c06c
--- /dev/null
+++ b/automotive/vehicle/V2_1/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 VtsHalAutomotiveVehicleV2_1HostProfiling test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="push-group" value="HalHidlHostProfilingTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/Vehicle.vts->/data/local/tmp/spec/Vehicle.vts"/>
+        <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.1/vts/types.vts->/data/local/tmp/spec/types.vts"/>
+        <option name="push" value="DATA/lib/android.hardware.automotive.vehicle.vts.driver@2.1.so->/data/local/tmp/32/android.hardware.automotive.vehicle.vts.driver@2.1.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle.vts.driver@2.1.so->/data/local/tmp/64/android.hardware.automotive.vehicle.vts.driver@2.1.so"/>
+        <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.1-vts.profiler.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.1-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.1-vts.profiler.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.1-vts.profiler.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalAutomotiveVehicleV2_1HostProfiling"/>
+        <option name="test-case-path" value="vts/testcases/hal/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.automotive.vehicle@2.1"/>
+        <option name="test-timeout" value="1m"/>
+    </test>
+</configuration>
diff --git a/biometrics/fingerprint/V2_1/build/Android.bp b/biometrics/fingerprint/V2_1/build/Android.bp
index 7cc3b75..8ab1ab4 100644
--- a/biometrics/fingerprint/V2_1/build/Android.bp
+++ b/biometrics/fingerprint/V2_1/build/Android.bp
@@ -49,24 +49,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.biometrics.fingerprint@2.1",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.biometrics.fingerprint@2.1",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml b/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml
index 17da8c6..649e056 100644
--- a/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml
+++ b/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml
@@ -17,7 +17,7 @@
     <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
         <option name="abort-on-push-failure" value="false"/>
         <option name="push-group" value="HalHidlHostTest.push"/>
-        <option name="cleanup" value="false"/>
+        <option name="cleanup" value="true"/>
         <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"/>
@@ -28,7 +28,9 @@
     <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-replay-test-trace-path" value="test/vts-testcase/hal-trace/biometrics/fingerprint/V2_1/android.hardware.biometrics.fingerprint_2.1_232168888856.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/biometrics/fingerprint/V2_1/android.hardware.biometrics.fingerprint_2.1_45646006628.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/biometrics/fingerprint/V2_1/android.hardware.biometrics.fingerprint_2.1_705377609277.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="5m"/>
diff --git a/bluetooth/V1_0/build/Android.bp b/bluetooth/V1_0/build/Android.bp
index d82abbe..9d263bd 100644
--- a/bluetooth/V1_0/build/Android.bp
+++ b/bluetooth/V1_0/build/Android.bp
@@ -49,24 +49,38 @@
     generated_headers: ["android.hardware.bluetooth@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.bluetooth@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.bluetooth@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.bluetooth@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.bluetooth@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/boot/V1_0/build/Android.bp b/boot/V1_0/build/Android.bp
index 92ef74a..f3cf3da 100644
--- a/boot/V1_0/build/Android.bp
+++ b/boot/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     generated_headers: ["android.hardware.boot@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.boot@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.boot@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.boot@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.boot@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/broadcastradio/V1_0/build/Android.bp b/broadcastradio/V1_0/build/Android.bp
index b3ae706..286b693 100644
--- a/broadcastradio/V1_0/build/Android.bp
+++ b/broadcastradio/V1_0/build/Android.bp
@@ -55,24 +55,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.broadcastradio@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -116,13 +130,28 @@
     export_generated_headers: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.broadcastradio@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/broadcastradio/V1_1/build/Android.bp b/broadcastradio/V1_1/build/Android.bp
index d1a46e9..dd33221 100644
--- a/broadcastradio/V1_1/build/Android.bp
+++ b/broadcastradio/V1_1/build/Android.bp
@@ -55,28 +55,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.broadcastradio@1.1",
         "android.hardware.broadcastradio@1.0",
         "android.hardware.broadcastradio@1.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.broadcastradio@1.0",
         "android.hardware.broadcastradio@1.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -120,15 +132,29 @@
     export_generated_headers: ["android.hardware.broadcastradio@1.1-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.broadcastradio@1.1",
         "android.hardware.broadcastradio@1.0",
         "android.hardware.broadcastradio@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/camera/common/V1_0/build/Android.bp b/camera/common/V1_0/build/Android.bp
index ff0cc22..3af91a2 100644
--- a/camera/common/V1_0/build/Android.bp
+++ b/camera/common/V1_0/build/Android.bp
@@ -43,25 +43,39 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "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-implicitly-unsigned-literal",
+    ],
 }
 
 // Build VTS profiler.
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.camera.common@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.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-implicitly-unsigned-literal",
+    ],
 }
 
diff --git a/camera/device/V1_0/build/Android.bp b/camera/device/V1_0/build/Android.bp
index 2a93a6f..c0cac42 100644
--- a/camera/device/V1_0/build/Android.bp
+++ b/camera/device/V1_0/build/Android.bp
@@ -52,32 +52,44 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "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",
-        "android.hidl.base@1.0",
     ],
     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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -119,8 +131,11 @@
     export_generated_headers: ["android.hardware.camera.device@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
@@ -129,7 +144,18 @@
         "android.hardware.camera.common@1.0-vts.profiler",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/camera/device/V3_2/build/Android.bp b/camera/device/V3_2/build/Android.bp
index 2b40b6a..62ac728 100644
--- a/camera/device/V3_2/build/Android.bp
+++ b/camera/device/V3_2/build/Android.bp
@@ -52,32 +52,44 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "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",
-        "android.hidl.base@1.0",
     ],
     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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -119,8 +131,11 @@
     export_generated_headers: ["android.hardware.camera.device@3.2-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
@@ -129,7 +144,18 @@
         "android.hardware.camera.common@1.0-vts.profiler",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/camera/metadata/V3_2/build/Android.bp b/camera/metadata/V3_2/build/Android.bp
index a8a9f66..96bffd4 100644
--- a/camera/metadata/V3_2/build/Android.bp
+++ b/camera/metadata/V3_2/build/Android.bp
@@ -43,25 +43,39 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "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-implicitly-unsigned-literal",
+    ],
 }
 
 // Build VTS profiler.
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "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-implicitly-unsigned-literal",
+    ],
 }
 
diff --git a/camera/provider/V2_4/build/Android.bp b/camera/provider/V2_4/build/Android.bp
index 3c3ca1f..b4b28da 100644
--- a/camera/provider/V2_4/build/Android.bp
+++ b/camera/provider/V2_4/build/Android.bp
@@ -46,19 +46,21 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.camera.provider@2.4",
         "android.hardware.camera.common@1.0",
         "android.hardware.camera.common@1.0-vts.driver",
@@ -68,7 +70,6 @@
         "android.hardware.camera.device@3.2-vts.driver",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.camera.common@1.0",
@@ -79,7 +80,18 @@
         "android.hardware.camera.device@3.2-vts.driver",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -117,8 +129,11 @@
     export_generated_headers: ["android.hardware.camera.provider@2.4-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
@@ -131,7 +146,18 @@
         "android.hardware.camera.device@3.2-vts.profiler",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/configstore/V1_0/build/Android.bp b/configstore/V1_0/build/Android.bp
index 1c31e7d..26fec59 100644
--- a/configstore/V1_0/build/Android.bp
+++ b/configstore/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     generated_headers: ["android.hardware.configstore@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.configstore@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.configstore@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.configstore@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.configstore@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/contexthub/V1_0/build/Android.bp b/contexthub/V1_0/build/Android.bp
index 0408b5a..9a16c0a 100644
--- a/contexthub/V1_0/build/Android.bp
+++ b/contexthub/V1_0/build/Android.bp
@@ -49,24 +49,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.contexthub@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.contexthub@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.contexthub@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/contexthub/V1_0/target_replay/AndroidTest.xml b/contexthub/V1_0/target_replay/AndroidTest.xml
index b349226..4c5bac8 100644
--- a/contexthub/V1_0/target_replay/AndroidTest.xml
+++ b/contexthub/V1_0/target_replay/AndroidTest.xml
@@ -28,7 +28,7 @@
     <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-replay-test-trace-path" value="test/vts-testcase/hal-trace/contexthub/V1_0/android.hardware.contexthub_1.0_sailfish_19190690972.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="5m"/>
diff --git a/drm/V1_0/build/Android.bp b/drm/V1_0/build/Android.bp
index df800bc..729cc45 100644
--- a/drm/V1_0/build/Android.bp
+++ b/drm/V1_0/build/Android.bp
@@ -58,24 +58,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.drm@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -121,13 +135,28 @@
     export_generated_headers: ["android.hardware.drm@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.drm@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/dumpstate/V1_0/build/Android.bp b/dumpstate/V1_0/build/Android.bp
index 600e4f0..6da14ea 100644
--- a/dumpstate/V1_0/build/Android.bp
+++ b/dumpstate/V1_0/build/Android.bp
@@ -43,24 +43,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.dumpstate@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.dumpstate@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.dumpstate@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/gatekeeper/V1_0/build/Android.bp b/gatekeeper/V1_0/build/Android.bp
index acdfcbd..c566980 100644
--- a/gatekeeper/V1_0/build/Android.bp
+++ b/gatekeeper/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.gatekeeper@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.gatekeeper@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/gnss/V1_0/__init__.py b/gnss/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/gnss/V1_0/__init__.py
diff --git a/gnss/V1_0/build/Android.bp b/gnss/V1_0/build/Android.bp
index 3118d9b..214de8b 100644
--- a/gnss/V1_0/build/Android.bp
+++ b/gnss/V1_0/build/Android.bp
@@ -103,24 +103,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.gnss@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -196,13 +210,28 @@
     export_generated_headers: ["android.hardware.gnss@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.gnss@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/gnss/V1_0/host/VtsHalGnssV1_0HostTest.py b/gnss/V1_0/host/VtsHalGnssV1_0HostTest.py
new file mode 100644
index 0000000..cd4794a
--- /dev/null
+++ b/gnss/V1_0/host/VtsHalGnssV1_0HostTest.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import keys
+from vts.runners.host import test_runner
+from vts.utils.python.precondition import precondition_utils
+
+
+class VtsHalGnssV1_0HostTest(base_test.BaseTestClass):
+    """A simple testcase for the GNSS HIDL HAL."""
+    SYSPROP_GETSTUB = "vts.hal.vts.hidl.get_stub"
+
+    def setUpClass(self):
+        """Creates a mirror and turns on the framework-layer GNSS service."""
+        self.dut = self.android_devices[0]
+
+        self.passthrough_mode = self.getUserParam(
+            keys.ConfigKeys.IKEY_PASSTHROUGH_MODE, default_value=True)
+
+        self.dut.shell.Execute("setenforce 0")  # SELinux permissive mode
+        if not precondition_utils.CanRunHidlHalTest(
+            self, self.dut, self.dut.shell.default):
+            self._skip_all_testcases = True
+            return
+
+        mode = "true" if self.passthrough_mode else "false"
+        self.dut.shell.Execute(
+            "setprop %s %s" % (self.SYSPROP_GETSTUB, mode))
+
+        self.dut.hal.InitHidlHal(
+            target_type="gnss",
+            target_basepaths=self.dut.libPaths,
+            target_version=1.0,
+            target_package="android.hardware.gnss",
+            target_component_name="IGnss",
+            bits=int(self.abi_bitness))
+
+        if self.coverage.enabled:
+            self.coverage.LoadArtifacts()
+            self.coverage.InitializeDeviceCoverage(self._dut)
+
+    def SetCallback(self):
+        """Utility function to set the callbacks."""
+
+        def gnssLocationCb(location):
+            logging.info("callback gnssLocationCb")
+
+        def gnssStatusCb(status):
+            logging.info("callback gnssStatusCb")
+
+        def gnssSvStatusCb(svInfo):
+            logging.info("callback gnssSvStatusCb")
+
+        def gnssNmeaCb(timestamp, nmea):
+            logging.info("callback gnssNmeaCb")
+
+        def gnssSetCapabilitesCb(capabilities):
+            logging.info("callback gnssSetCapabilitesCb")
+
+        def gnssAcquireWakelockCb():
+            logging.info("callback gnssAcquireWakelockCb")
+
+        def gnssReleaseWakelockCb():
+            logging.info("callback gnssReleaseWakelockCb")
+
+        def gnssRequestTimeCb():
+            logging.info("callback gnssRequestTimeCb")
+
+        def gnssSetSystemInfoCb(info):
+            logging.info("callback gnssSetSystemInfoCb")
+
+        client_callback = self.dut.hal.gnss.GetHidlCallbackInterface(
+            "IGnssCallback",
+            gnssLocationCb=gnssLocationCb,
+            gnssStatusCb=gnssStatusCb,
+            gnssSvStatusCb=gnssSvStatusCb,
+            gnssNmeaCb=gnssNmeaCb,
+            gnssSetCapabilitesCb=gnssSetCapabilitesCb,
+            gnssAcquireWakelockCb=gnssAcquireWakelockCb,
+            gnssReleaseWakelockCb=gnssReleaseWakelockCb,
+            gnssRequestTimeCb=gnssRequestTimeCb,
+            gnssSetSystemInfoCb=gnssSetSystemInfoCb)
+
+        result = self.dut.hal.gnss.setCallback(client_callback)
+        logging.info("setCallback result: %s", result)
+
+    def testExtensionPresence(self):
+        """A test case which checks whether each extension exists."""
+        self.SetCallback()
+
+        nested_interface = self.dut.hal.gnss.getExtensionAGnssRil()
+        if not nested_interface:
+            logging.info("getExtensionAGnssRil returned None")
+        else:
+            result = nested_interface.updateNetworkAvailability(False, "test")
+            logging.info("updateNetworkAvailability result: %s", result)
+
+        nested_interface = self.dut.hal.gnss.getExtensionGnssGeofencing()
+        if not nested_interface:
+            logging.info("getExtensionGnssGeofencing returned None")
+
+        nested_interface = self.dut.hal.gnss.getExtensionAGnss()
+        if not nested_interface:
+            logging.info("getExtensionAGnss returned None")
+        else:
+            result = nested_interface.dataConnClosed()
+            logging.info("dataConnClosed result: %s", result)
+
+        nested_interface = self.dut.hal.gnss.getExtensionGnssNi()
+        if not nested_interface:
+            logging.info("getExtensionGnssNi returned None")
+
+        nested_interface = self.dut.hal.gnss.getExtensionGnssMeasurement()
+        if not nested_interface:
+            logging.info("getExtensionGnssMeasurement returned None")
+
+        nested_interface = self.dut.hal.gnss.getExtensionXtra()
+        if not nested_interface:
+            logging.info("getExtensionXtra returned None")
+
+        nested_interface = self.dut.hal.gnss.getExtensionGnssConfiguration()
+        if not nested_interface:
+            logging.info("getExtensionGnssConfiguration returned None")
+
+        nested_interface = self.dut.hal.gnss.getExtensionGnssBatching()
+        if not nested_interface:
+            logging.info("getExtensionGnssBatching returned None")
+
+    def testExtensionPresenceForUnimplementedOnes(self):
+        """A test case which checks whether each extension exists.
+
+        Separate test case for known failures.
+        """
+        self.SetCallback()
+
+        nested_interface = self.dut.hal.gnss.getExtensionGnssNavigationMessage()
+        if not nested_interface:
+            logging.error("ExtensionGnssNavigationMessage not implemented")
+
+        nested_interface = self.dut.hal.gnss.getExtensionGnssDebug()
+        if not nested_interface:
+            logging.error("ExtensionGnssDebug not implemented")
+
+if __name__ == "__main__":
+    test_runner.main()
diff --git a/gnss/V1_0/host/__init__.py b/gnss/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/gnss/V1_0/host/__init__.py
diff --git a/wifi/V1_0/target/base/Android.mk b/gnss/V1_0/host/binderize/Android.mk
similarity index 80%
copy from wifi/V1_0/target/base/Android.mk
copy to gnss/V1_0/host/binderize/Android.mk
index c07841b..bbdbd75 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/gnss/V1_0/host/binderize/Android.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2017 The Android Open Source Project
+# 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.
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalGnssV1_0HostBinderize
+VTS_CONFIG_SRC_DIR := testcases/hal/gnss/V1_0/host/binderize
 include test/vts/tools/build/Android.host_config.mk
diff --git a/gnss/V1_0/host/binderize/AndroidTest.xml b/gnss/V1_0/host/binderize/AndroidTest.xml
new file mode 100644
index 0000000..6eed68a
--- /dev/null
+++ b/gnss/V1_0/host/binderize/AndroidTest.xml
@@ -0,0 +1,54 @@
+<?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 HAL gnss Provider (Binder Mode) 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/gnss/1.0/vts/AGnss.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/AGnss.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/AGnssCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/AGnssCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/AGnssRil.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/AGnssRil.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/AGnssRilCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/AGnssRilCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/Gnss.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/Gnss.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssBatching.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssBatching.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssBatchingCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssBatchingCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssConfiguration.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssConfiguration.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssDebug.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssDebug.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssGeofenceCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssGeofenceCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssGeofencing.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssGeofencing.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssMeasurement.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssMeasurement.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssMeasurementCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssMeasurementCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssNavigationMessage.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssNavigationMessage.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssNavigationMessageCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssNi.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssNi.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssNiCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssNiCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssXtra.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssXtra.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/GnssXtraCallback.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/GnssXtraCallback.vts" />
+        <option name="push" value="spec/hardware/interfaces/gnss/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/gnss/1.0/types.vts" />
+
+        <option name="push" value="DATA/lib/android.hardware.gnss@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.gnss@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.gnss@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.gnss@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="VtsHalGnssV1_0HostBinderize" />
+        <option name="test-case-path" value="vts/testcases/hal/gnss/V1_0/host/VtsHalGnssV1_0HostTest" />
+        <option name="test-config-path" value="vts/testcases/hal/gnss/V1_0/host/binderize/VtsHalGnssV1_0HostTest.config" />
+        <option name="skip-on-64bit-abi" value="true"/>
+        <option name="test-timeout" value="10m"/>
+    </test>
+</configuration>
diff --git a/gnss/V1_0/host/binderize/VtsHalGnssV1_0HostTest.config b/gnss/V1_0/host/binderize/VtsHalGnssV1_0HostTest.config
new file mode 100644
index 0000000..5a94c6f
--- /dev/null
+++ b/gnss/V1_0/host/binderize/VtsHalGnssV1_0HostTest.config
@@ -0,0 +1,3 @@
+{
+    "passthrough_mode": False
+}
diff --git a/gnss/__init__.py b/gnss/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/gnss/__init__.py
diff --git a/graphics/allocator/V2_0/build/Android.bp b/graphics/allocator/V2_0/build/Android.bp
index 90b9ad8..b442eef 100644
--- a/graphics/allocator/V2_0/build/Android.bp
+++ b/graphics/allocator/V2_0/build/Android.bp
@@ -43,28 +43,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.graphics.allocator@2.0",
         "android.hardware.graphics.mapper@2.0",
         "android.hardware.graphics.mapper@2.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.graphics.mapper@2.0",
         "android.hardware.graphics.mapper@2.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -100,15 +112,29 @@
     export_generated_headers: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/graphics/bufferqueue/V1_0/build/Android.bp b/graphics/bufferqueue/V1_0/build/Android.bp
index 22f466f..512dfa9 100644
--- a/graphics/bufferqueue/V1_0/build/Android.bp
+++ b/graphics/bufferqueue/V1_0/build/Android.bp
@@ -46,32 +46,44 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "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",
-        "android.hidl.base@1.0",
     ],
     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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -109,8 +121,11 @@
     export_generated_headers: ["android.hardware.graphics.bufferqueue@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
@@ -119,7 +134,18 @@
         "android.hardware.graphics.common@1.0-vts.profiler",
         "android.hardware.media@1.0",
         "android.hardware.media@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/graphics/common/V1_0/build/Android.bp b/graphics/common/V1_0/build/Android.bp
index 8133059..07d50dc 100644
--- a/graphics/common/V1_0/build/Android.bp
+++ b/graphics/common/V1_0/build/Android.bp
@@ -43,25 +43,39 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "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-implicitly-unsigned-literal",
+    ],
 }
 
 // Build VTS profiler.
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.graphics.common@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.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-implicitly-unsigned-literal",
+    ],
 }
 
diff --git a/graphics/composer/V2_1/build/Android.bp b/graphics/composer/V2_1/build/Android.bp
index 48aa08c..8014599 100644
--- a/graphics/composer/V2_1/build/Android.bp
+++ b/graphics/composer/V2_1/build/Android.bp
@@ -52,28 +52,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.graphics.composer@2.1",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -115,15 +127,29 @@
     export_generated_headers: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.graphics.composer@2.1",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/graphics/mapper/V2_0/build/Android.bp b/graphics/mapper/V2_0/build/Android.bp
index d0727b6..1707a07 100644
--- a/graphics/mapper/V2_0/build/Android.bp
+++ b/graphics/mapper/V2_0/build/Android.bp
@@ -46,28 +46,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.graphics.mapper@2.0",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -105,15 +117,29 @@
     export_generated_headers: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/health/V1_0/build/Android.bp b/health/V1_0/build/Android.bp
index b0ac344..2e621ce 100644
--- a/health/V1_0/build/Android.bp
+++ b/health/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.health@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.health@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.health@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/ir/V1_0/build/Android.bp b/ir/V1_0/build/Android.bp
index 388080f..b2e9e7c 100644
--- a/ir/V1_0/build/Android.bp
+++ b/ir/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     generated_headers: ["android.hardware.ir@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.ir@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.ir@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.ir@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.ir@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/keymaster/V3_0/build/Android.bp b/keymaster/V3_0/build/Android.bp
index e55e946..055a2e6 100644
--- a/keymaster/V3_0/build/Android.bp
+++ b/keymaster/V3_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.keymaster@3.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.keymaster@3.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.keymaster@3.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/keymaster/V3_0/target_replay/AndroidTest.xml b/keymaster/V3_0/target_replay/AndroidTest.xml
index d6450eb..9e69941 100644
--- a/keymaster/V3_0/target_replay/AndroidTest.xml
+++ b/keymaster/V3_0/target_replay/AndroidTest.xml
@@ -27,7 +27,8 @@
     <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-replay-test-trace-path" value="test/vts-testcase/hal-trace/keymaster/V3_0/android.hardware.keymaster_3.0_40741352389.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/keymaster/V3_0/android.hardware.keymaster_3.0_203096852418.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="5m"/>
diff --git a/light/V2_0/build/Android.bp b/light/V2_0/build/Android.bp
index cab486f..b4cfd7e 100644
--- a/light/V2_0/build/Android.bp
+++ b/light/V2_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.light@2.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.light@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.light@2.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/light/V2_0/target_replay/Android.mk b/light/V2_0/target_replay/Android.mk
index c21c2f6..a92b553 100644
--- a/light/V2_0/target_replay/Android.mk
+++ b/light/V2_0/target_replay/Android.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2016 The Android Open Source Project
+# 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.
diff --git a/light/V2_0/target_replay/AndroidTest.xml b/light/V2_0/target_replay/AndroidTest.xml
index 38eed82..f2e02ec 100644
--- a/light/V2_0/target_replay/AndroidTest.xml
+++ b/light/V2_0/target_replay/AndroidTest.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
+<!-- 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.
@@ -13,21 +13,24 @@
      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">
+<configuration description="Config for VTS VtsHalLightV2_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/light/2.0/vts/Light.vts->/data/local/tmp/spec/target.vts" />
+        <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/android/hardware/light/2.0/Light.vts"/>
+        <option name="push" value="spec/hardware/interfaces/light/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/light/2.0/types.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" />
+    <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-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_19050569395.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/light/V2_0/android.hardware.light_2.0_17887988342.vts.trace"/>
+        <option name="hal-hidl-package-name" value="android.hardware.light@2.0"/>
+        <option name="precondition-lshal" value="android.hardware.light@2.0"/>
         <option name="test-timeout" value="5m" />
     </test>
 </configuration>
diff --git a/media/V1_0/build/Android.bp b/media/V1_0/build/Android.bp
index dc078e0..2354adf 100644
--- a/media/V1_0/build/Android.bp
+++ b/media/V1_0/build/Android.bp
@@ -43,19 +43,21 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.media@1.0",
         "android.hardware.graphics.common@1.0",
         "android.hardware.graphics.common@1.0-vts.driver",
@@ -64,6 +66,18 @@
         "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-implicitly-unsigned-literal",
+    ],
 }
 
 // Build VTS profiler.
@@ -98,8 +112,11 @@
     export_generated_headers: ["android.hardware.media@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
@@ -107,5 +124,17 @@
         "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-implicitly-unsigned-literal",
+    ],
 }
 
diff --git a/media/omx/V1_0/build/Android.bp b/media/omx/V1_0/build/Android.bp
index f19e2c3..7308f9d 100644
--- a/media/omx/V1_0/build/Android.bp
+++ b/media/omx/V1_0/build/Android.bp
@@ -61,19 +61,21 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.media.omx@1.0",
         "android.hardware.graphics.bufferqueue@1.0",
         "android.hardware.graphics.bufferqueue@1.0-vts.driver",
@@ -81,7 +83,6 @@
         "android.hardware.graphics.common@1.0-vts.driver",
         "android.hardware.media@1.0",
         "android.hardware.media@1.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.graphics.bufferqueue@1.0",
@@ -90,7 +91,18 @@
         "android.hardware.graphics.common@1.0-vts.driver",
         "android.hardware.media@1.0",
         "android.hardware.media@1.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -138,8 +150,11 @@
     export_generated_headers: ["android.hardware.media.omx@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
@@ -150,7 +165,18 @@
         "android.hardware.graphics.common@1.0-vts.profiler",
         "android.hardware.media@1.0",
         "android.hardware.media@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest.py b/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest.py
index 2f4d6e9..8d77ac3 100644
--- a/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest.py
+++ b/media/omx/V1_0/host/VtsHalMediaOmxV1_0HostTest.py
@@ -102,7 +102,7 @@
         test_cases = []
 
         for gtest_case in gtest_cases:
-            test_suite = gtest_case.GetFullName()
+            test_suite = gtest_case.full_name
             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:
diff --git a/wifi/V1_0/target/base/Android.mk b/media/omx/V1_0/host_basic/Android.mk
similarity index 86%
copy from wifi/V1_0/target/base/Android.mk
copy to media/omx/V1_0/host_basic/Android.mk
index c07841b..16535d5 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/media/omx/V1_0/host_basic/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalMediaOmxV1_0HostBasic
+VTS_CONFIG_SRC_DIR := testcases/hal/media/omx/V1_0/host_basic
 include test/vts/tools/build/Android.host_config.mk
diff --git a/media/omx/V1_0/host_basic/AndroidTest.xml b/media/omx/V1_0/host_basic/AndroidTest.xml
new file mode 100644
index 0000000..50e7d40
--- /dev/null
+++ b/media/omx/V1_0/host_basic/AndroidTest.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalMediaOmxV1_0HostBasic test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="true"/>
+        <option name="push-group" value="HalHidlHostTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/GraphicBufferSource.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/GraphicBufferSource.vts"/>
+        <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/Omx.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/Omx.vts"/>
+        <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxBufferSource.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxBufferSource.vts"/>
+        <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxNode.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxNode.vts"/>
+        <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxObserver.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxObserver.vts"/>
+        <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/OmxStore.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/OmxStore.vts"/>
+        <option name="push" value="spec/hardware/interfaces/media/omx/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/media/omx/1.0/types.vts"/>
+        <option name="push" value="spec/hardware/interfaces/graphics/common/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/graphics/common/1.0/types.vts"/>
+        <option name="push" value="spec/hardware/interfaces/media/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/media/1.0/types.vts"/>
+        <option name="push" value="DATA/lib/android.hardware.graphics.bufferqueue@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.graphics.bufferqueue@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.graphics.bufferqueue@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.graphics.bufferqueue@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib/android.hardware.graphics.common@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.graphics.common@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.graphics.common@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.graphics.common@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib/android.hardware.media@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.media@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.media@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.media@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib/android.hardware.media.omx@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.media.omx@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.media.omx@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.media.omx@1.0-vts.driver.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalMediaOmxV1_0HostBasic"/>
+        <option name="test-case-path" value="vts/testcases/hal/media/omx/V1_0/host_basic/VtsHalMediaOmxV1_0HostBasicTest"/>
+        <option name="hal-hidl-package-name" value="android.hardware.media.omx@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.media.omx@1.0"/>
+        <option name="test-timeout" value="1m"/>
+    </test>
+</configuration>
diff --git a/media/omx/V1_0/host_basic/VtsHalMediaOmxV1_0HostBasicTest.py b/media/omx/V1_0/host_basic/VtsHalMediaOmxV1_0HostBasicTest.py
new file mode 100644
index 0000000..9136487
--- /dev/null
+++ b/media/omx/V1_0/host_basic/VtsHalMediaOmxV1_0HostBasicTest.py
@@ -0,0 +1,70 @@
+#!/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 base_test
+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 VtsHalMediaOmxV1_0HostBasic(base_test.BaseTestClass):
+    """Host test class to run the Media_Omx HAL."""
+
+    def setUpClass(self):
+        self.dut = self.registerController(android_device)[0]
+
+        self.dut.shell.InvokeTerminal("one")
+        self.dut.shell.one.Execute("setenforce 0")  # SELinux permissive mode
+        if not precondition_utils.CanRunHidlHalTest(
+            self, self.dut, self.dut.shell.one):
+            self._skip_all_testcases = True
+            return
+
+        self.dut.hal.InitHidlHal(
+            target_type="media_omx",
+            target_basepaths=self.dut.libPaths,
+            target_version=1.0,
+            target_package="android.hardware.media.omx",
+            target_component_name="IOmxStore",
+            bits=int(self.abi_bitness))
+
+        if self.coverage.enabled:
+            self.coverage.LoadArtifacts()
+            self.coverage.InitializeDeviceCoverage(self._dut)
+
+    def testIOmxStoreBase(self):
+        """A simple test case which just calls each registered function."""
+
+        self.vtypes = self.dut.hal.media_omx.GetHidlTypeInterface("types")
+        status, attributes = self.dut.hal.media_omx.listServiceAttributes()
+        asserts.assertEqual(self.vtypes.Status.OK, status)
+
+        prefix = self.dut.hal.media_omx.getNodePrefix()
+        logging.info("getNodePrefix: %s", prefix)
+
+        roles = self.dut.hal.media_omx.listRoles()
+        logging.info("roles: %s", roles)
+
+        omx = self.dut.hal.media_omx.getOmx("default")
+        logging.info("omx: %s", omx)
+
+if __name__ == "__main__":
+    test_runner.main()
diff --git a/media/omx/V1_0/host_basic/__init__.py b/media/omx/V1_0/host_basic/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/media/omx/V1_0/host_basic/__init__.py
diff --git a/memtrack/V1_0/build/Android.bp b/memtrack/V1_0/build/Android.bp
index 13d064f..1801bf8 100644
--- a/memtrack/V1_0/build/Android.bp
+++ b/memtrack/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.memtrack@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.memtrack@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.memtrack@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/memtrack/V1_0/target_replay/Android.mk b/memtrack/V1_0/target_replay/Android.mk
index af28dd5..fba0bca 100644
--- a/memtrack/V1_0/target_replay/Android.mk
+++ b/memtrack/V1_0/target_replay/Android.mk
@@ -19,5 +19,5 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalMemtrackV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target
+VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target_replay
 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
index 4f5ad9b..727e6fa 100644
--- a/memtrack/V1_0/target_replay/AndroidTest.xml
+++ b/memtrack/V1_0/target_replay/AndroidTest.xml
@@ -17,17 +17,20 @@
     <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="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/memtrack/1.0/vts/Memtrack.vts->/data/local/tmp/spec/android/hardware/memtrack/1.0/Memtrack.vts"/>
+        <option name="push" value="spec/hardware/interfaces/memtrack/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/memtrack/1.0/types.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="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_17494978824.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/memtrack/V1_0/android.hardware.memtrack_1.0_18679173942.vts.trace"/>
+        <option name="hal-hidl-package-name" value="android.hardware.memtrack@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.memtrack@1.0"/>
         <option name="test-timeout" value="15m"/>
     </test>
 </configuration>
diff --git a/nfc/V1_0/build/Android.bp b/nfc/V1_0/build/Android.bp
index 4f0caf9..da4c32b 100644
--- a/nfc/V1_0/build/Android.bp
+++ b/nfc/V1_0/build/Android.bp
@@ -49,24 +49,38 @@
     generated_headers: ["android.hardware.nfc@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.nfc@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.nfc@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.nfc@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.nfc@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/nfc/V1_0/target_replay/AndroidTest.xml b/nfc/V1_0/target_replay/AndroidTest.xml
index 0f45c3a..ecd7b80 100644
--- a/nfc/V1_0/target_replay/AndroidTest.xml
+++ b/nfc/V1_0/target_replay/AndroidTest.xml
@@ -28,8 +28,8 @@
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
         <option name="test-module-name" value="VtsHalNfcV1_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/nfc/V1_0/android.hardware.nfc@1.0_sailfish_2.vts.trace"/>
-        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/nfc/V1_0/android.hardware.nfc@1.0_sailfish_1.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/nfc/V1_0/android.hardware.nfc_1.0_17270843854.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/nfc/V1_0/android.hardware.nfc_1.0_17261139999.vts.trace"/>
         <option name="hal-hidl-package-name" value="android.hardware.nfc@1.0"/>
         <option name="precondition-lshal" value="android.hardware.nfc@1.0"/>
         <option name="test-timeout" value="15m"/>
diff --git a/tests/versioning/V2_2/Android.bp b/oemlock/Android.bp
similarity index 91%
rename from tests/versioning/V2_2/Android.bp
rename to oemlock/Android.bp
index 995dd5b..cdc8905 100644
--- a/tests/versioning/V2_2/Android.bp
+++ b/oemlock/Android.bp
@@ -2,5 +2,5 @@
 // Use test/vts-testcase/hal/update_makefiles.py to generate this file.
 
 subdirs = [
-    "*",
+    "V1_0",
 ]
diff --git a/tests/versioning/V1_0/Android.bp b/oemlock/V1_0/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to oemlock/V1_0/Android.bp
diff --git a/oemlock/V1_0/build/Android.bp b/oemlock/V1_0/build/Android.bp
new file mode 100644
index 0000000..3dfaa93
--- /dev/null
+++ b/oemlock/V1_0/build/Android.bp
@@ -0,0 +1,136 @@
+// 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.oemlock@1.0-vts.spec",
+    srcs: [
+        ":android.hardware.oemlock@1.0_hal",
+    ],
+    out: [
+        "android/hardware/oemlock/1.0/OemLock.vts",
+        "android/hardware/oemlock/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.oemlock@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.oemlock@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/oemlock/1.0/ $(genDir)/android/hardware/oemlock/1.0/",
+    srcs: [
+        ":android.hardware.oemlock@1.0_hal",
+    ],
+    out: [
+        "android/hardware/oemlock/1.0/OemLock.vts.cpp",
+        "android/hardware/oemlock/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.oemlock@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.oemlock@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/oemlock/1.0/ $(genDir)/android/hardware/oemlock/1.0/",
+    srcs: [
+        ":android.hardware.oemlock@1.0_hal",
+    ],
+    out: [
+        "android/hardware/oemlock/1.0/OemLock.vts.h",
+        "android/hardware/oemlock/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.oemlock@1.0-vts.driver",
+    generated_sources: ["android.hardware.oemlock@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.oemlock@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.oemlock@1.0-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.oemlock@1.0",
+        
+    ],
+    export_shared_lib_headers: [
+        
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.oemlock@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.oemlock@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/oemlock/1.0/ $(genDir)/android/hardware/oemlock/1.0/",
+    srcs: [
+        ":android.hardware.oemlock@1.0_hal",
+    ],
+    out: [
+        "android/hardware/oemlock/1.0/OemLock.vts.cpp",
+        "android/hardware/oemlock/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.oemlock@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.oemlock@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/oemlock/1.0/ $(genDir)/android/hardware/oemlock/1.0/",
+    srcs: [
+        ":android.hardware.oemlock@1.0_hal",
+    ],
+    out: [
+        "android/hardware/oemlock/1.0/OemLock.vts.h",
+        "android/hardware/oemlock/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.oemlock@1.0-vts.profiler",
+    generated_sources: ["android.hardware.oemlock@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.oemlock@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.oemlock@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.oemlock@1.0",
+        
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/oemlock/V1_0/target/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to oemlock/V1_0/target/Android.mk
index c07841b..d66d3b5 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/oemlock/V1_0/target/Android.mk
@@ -18,6 +18,7 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalOemLockV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/oemlock/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
+
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/oemlock/V1_0/target/AndroidTest.xml
similarity index 75%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to oemlock/V1_0/target/AndroidTest.xml
index 1b25dc8..23aefe6 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/oemlock/V1_0/target/AndroidTest.xml
@@ -13,21 +13,19 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VtsHalOemLockV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalOemLockV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalOemLockV1_0TargetTest/VtsHalOemLockV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalOemLockV1_0TargetTest/VtsHalOemLockV1_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="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="precondition-lshal" value="android.hardware.oemlock@1.0"/>
+        <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/wifi/V1_0/target/base/Android.mk b/oemlock/V1_0/target_profiling/Android.mk
similarity index 85%
copy from wifi/V1_0/target/base/Android.mk
copy to oemlock/V1_0/target_profiling/Android.mk
index c07841b..b6163f8 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/oemlock/V1_0/target_profiling/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalOemLockV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/oemlock/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/oemlock/V1_0/target_profiling/AndroidTest.xml
similarity index 62%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to oemlock/V1_0/target_profiling/AndroidTest.xml
index 1b25dc8..30158ed 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/oemlock/V1_0/target_profiling/AndroidTest.xml
@@ -13,21 +13,24 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalOemLockV1_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="HalHidlTargetTest.push"/>
+        <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="DATA/lib/android.hardware.oemlock@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.oemlock@1.0-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.oemlock@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.oemlock@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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalOemLockV1_0TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalOemLockV1_0TargetTest/VtsHalOemLockV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalOemLockV1_0TargetTest/VtsHalOemLockV1_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="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.oemlock@1.0"/>
+        <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/power/Android.bp b/power/Android.bp
index cdc8905..2e98897 100644
--- a/power/Android.bp
+++ b/power/Android.bp
@@ -3,4 +3,5 @@
 
 subdirs = [
     "V1_0",
+    "V1_1",
 ]
diff --git a/power/V1_0/build/Android.bp b/power/V1_0/build/Android.bp
index 6ca778d..32dc0f7 100644
--- a/power/V1_0/build/Android.bp
+++ b/power/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.power@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.power@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.power@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/power/V1_0/target_replay/Android.mk b/power/V1_0/target_replay/Android.mk
index aed74e5..aac686a 100644
--- a/power/V1_0/target_replay/Android.mk
+++ b/power/V1_0/target_replay/Android.mk
@@ -19,5 +19,5 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalPowerV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_0/target
+VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_0/target_replay
 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
index 983754b..fbf22d4 100644
--- a/power/V1_0/target_replay/AndroidTest.xml
+++ b/power/V1_0/target_replay/AndroidTest.xml
@@ -17,17 +17,22 @@
     <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="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/power/1.0/vts/Power.vts->/data/local/tmp/spec/android/hardware/power/1.0/Power.vts"/>
+        <option name="push" value="spec/hardware/interfaces/power/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/power/1.0/types.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="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_16087527018.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/power/V1_0/android.hardware.power_1.0_16558631751.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/power/V1_0/android.hardware.power_1.0_16053566180.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/power/V1_0/android.hardware.power_1.0_16273110837.vts.trace"/>
+        <option name="hal-hidl-package-name" value="android.hardware.power@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.power@1.0"/>
         <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/tests/versioning/V1_0/Android.bp b/power/V1_1/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to power/V1_1/Android.bp
diff --git a/power/V1_1/build/Android.bp b/power/V1_1/build/Android.bp
new file mode 100644
index 0000000..3d9e3ad
--- /dev/null
+++ b/power/V1_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.power@1.1-vts.spec",
+    srcs: [
+        ":android.hardware.power@1.1_hal",
+    ],
+    out: [
+        "android/hardware/power/1.1/Power.vts",
+        "android/hardware/power/1.1/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.power@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.power@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/power/1.1/ $(genDir)/android/hardware/power/1.1/",
+    srcs: [
+        ":android.hardware.power@1.1_hal",
+    ],
+    out: [
+        "android/hardware/power/1.1/Power.vts.cpp",
+        "android/hardware/power/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.power@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.power@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/power/1.1/ $(genDir)/android/hardware/power/1.1/",
+    srcs: [
+        ":android.hardware.power@1.1_hal",
+    ],
+    out: [
+        "android/hardware/power/1.1/Power.vts.h",
+        "android/hardware/power/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.power@1.1-vts.driver",
+    generated_sources: ["android.hardware.power@1.1-vts.driver_genc++"],
+    generated_headers: ["android.hardware.power@1.1-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.power@1.1-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.power@1.1",
+        "android.hardware.power@1.0",
+        "android.hardware.power@1.0-vts.driver",
+    ],
+    export_shared_lib_headers: [
+        "android.hardware.power@1.0",
+        "android.hardware.power@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-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.power@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.power@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/power/1.1/ $(genDir)/android/hardware/power/1.1/",
+    srcs: [
+        ":android.hardware.power@1.1_hal",
+    ],
+    out: [
+        "android/hardware/power/1.1/Power.vts.cpp",
+        "android/hardware/power/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.power@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.power@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/power/1.1/ $(genDir)/android/hardware/power/1.1/",
+    srcs: [
+        ":android.hardware.power@1.1_hal",
+    ],
+    out: [
+        "android/hardware/power/1.1/Power.vts.h",
+        "android/hardware/power/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.power@1.1-vts.profiler",
+    generated_sources: ["android.hardware.power@1.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.power@1.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.power@1.1-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.power@1.1",
+        "android.hardware.power@1.0",
+        "android.hardware.power@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-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/power/V1_1/target/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to power/V1_1/target/Android.mk
index c07841b..c7f3216 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/power/V1_1/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalPowerV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/power/V1_1/target/AndroidTest.xml
similarity index 79%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to power/V1_1/target/AndroidTest.xml
index 1b25dc8..e930901 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/power/V1_1/target/AndroidTest.xml
@@ -13,21 +13,20 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalPowerV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalPowerV1_1Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerV1_1TargetTest/VtsHalPowerV1_1TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerV1_1TargetTest/VtsHalPowerV1_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.wifi@1.0"/>
-        <option name="test-timeout" value="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="precondition-lshal" value="android.hardware.power@1.1"/>
+        <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/wifi/V1_0/target/base/Android.mk b/power/V1_1/target_profiling/Android.mk
similarity index 86%
copy from wifi/V1_0/target/base/Android.mk
copy to power/V1_1/target_profiling/Android.mk
index c07841b..a337e81 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/power/V1_1/target_profiling/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalPowerV1_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_1/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/power/V1_1/target_profiling/AndroidTest.xml b/power/V1_1/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..3e7e595
--- /dev/null
+++ b/power/V1_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 VtsHalPowerV1_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.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"/>
+        <option name="push" value="DATA/lib/android.hardware.power@1.1-vts.profiler.so->/data/local/tmp/32/android.hardware.power@1.1-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.power@1.1-vts.profiler.so->/data/local/tmp/64/android.hardware.power@1.1-vts.profiler.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalPowerV1_1TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerV1_1TargetTest/VtsHalPowerV1_1TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerV1_1TargetTest/VtsHalPowerV1_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.power@1.1"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/radio/Android.bp b/radio/Android.bp
index 080b361..af8e475 100644
--- a/radio/Android.bp
+++ b/radio/Android.bp
@@ -3,5 +3,6 @@
 
 subdirs = [
     "V1_0",
+    "V1_1",
     "deprecated/V1_0",
 ]
diff --git a/radio/V1_0/build/Android.bp b/radio/V1_0/build/Android.bp
index 0b9d4c7..3910e1e 100644
--- a/radio/V1_0/build/Android.bp
+++ b/radio/V1_0/build/Android.bp
@@ -58,24 +58,38 @@
     generated_headers: ["android.hardware.radio@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.radio@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.radio@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -121,13 +135,28 @@
     export_generated_headers: ["android.hardware.radio@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.radio@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/radio/V1_0/target/AndroidTest.xml b/radio/V1_0/target/AndroidTest.xml
index 1b74451..b13038e 100644
--- a/radio/V1_0/target/AndroidTest.xml
+++ b/radio/V1_0/target/AndroidTest.xml
@@ -29,14 +29,9 @@
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
         <option name="precondition-lshal" value="android.hardware.radio@1.0"/>
-        <option name="exclude-filter" value="RadioHidlTest.getDataCallList" />
-        <option name="exclude-filter" value="RadioHidlTest.setRadioCapability" />
-        <option name="exclude-filter" value="RadioHidlTest.sendCDMAFeatureCode" />
-        <option name="exclude-filter" value="RadioHidlTest.setSimCardPower" />
-        <option name="exclude-filter" value="SapHidlTest.transferAtrReq" />
-        <option name="exclude-filter" value="RadioHidlTest.dial" />
+        <option name="test-timeout" value="15m"/>
         <!-- The following test is disabled due to b/64734869 -->
         <option name="exclude-filter" value="RadioHidlTest.requestShutdown" />
-        <option name="test-timeout" value="15m"/>
+        <option name="exclude-filter" value="SapHidlTest.transferAtrReq" />
     </test>
 </configuration>
diff --git a/tests/versioning/V1_0/Android.bp b/radio/V1_1/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to radio/V1_1/Android.bp
diff --git a/radio/V1_1/build/Android.bp b/radio/V1_1/build/Android.bp
new file mode 100644
index 0000000..e45f7cc
--- /dev/null
+++ b/radio/V1_1/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.radio@1.1-vts.spec",
+    srcs: [
+        ":android.hardware.radio@1.1_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.1/Radio.vts",
+        "android/hardware/radio/1.1/RadioIndication.vts",
+        "android/hardware/radio/1.1/RadioResponse.vts",
+        "android/hardware/radio/1.1/Sap.vts",
+        "android/hardware/radio/1.1/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.radio@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.radio@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/radio/1.1/ $(genDir)/android/hardware/radio/1.1/",
+    srcs: [
+        ":android.hardware.radio@1.1_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.1/Radio.vts.cpp",
+        "android/hardware/radio/1.1/RadioIndication.vts.cpp",
+        "android/hardware/radio/1.1/RadioResponse.vts.cpp",
+        "android/hardware/radio/1.1/Sap.vts.cpp",
+        "android/hardware/radio/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.radio@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.radio@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/radio/1.1/ $(genDir)/android/hardware/radio/1.1/",
+    srcs: [
+        ":android.hardware.radio@1.1_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.1/Radio.vts.h",
+        "android/hardware/radio/1.1/RadioIndication.vts.h",
+        "android/hardware/radio/1.1/RadioResponse.vts.h",
+        "android/hardware/radio/1.1/Sap.vts.h",
+        "android/hardware/radio/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.radio@1.1-vts.driver",
+    generated_sources: ["android.hardware.radio@1.1-vts.driver_genc++"],
+    generated_headers: ["android.hardware.radio@1.1-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.radio@1.1-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.radio@1.1",
+        "android.hardware.radio@1.0",
+        "android.hardware.radio@1.0-vts.driver",
+    ],
+    export_shared_lib_headers: [
+        "android.hardware.radio@1.0",
+        "android.hardware.radio@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-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.radio@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.radio@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.1/ $(genDir)/android/hardware/radio/1.1/",
+    srcs: [
+        ":android.hardware.radio@1.1_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.1/Radio.vts.cpp",
+        "android/hardware/radio/1.1/RadioIndication.vts.cpp",
+        "android/hardware/radio/1.1/RadioResponse.vts.cpp",
+        "android/hardware/radio/1.1/Sap.vts.cpp",
+        "android/hardware/radio/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.radio@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.radio@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.1/ $(genDir)/android/hardware/radio/1.1/",
+    srcs: [
+        ":android.hardware.radio@1.1_hal",
+    ],
+    out: [
+        "android/hardware/radio/1.1/Radio.vts.h",
+        "android/hardware/radio/1.1/RadioIndication.vts.h",
+        "android/hardware/radio/1.1/RadioResponse.vts.h",
+        "android/hardware/radio/1.1/Sap.vts.h",
+        "android/hardware/radio/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.radio@1.1-vts.profiler",
+    generated_sources: ["android.hardware.radio@1.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.radio@1.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.radio@1.1-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.radio@1.1",
+        "android.hardware.radio@1.0",
+        "android.hardware.radio@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-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/radio/V1_1/target/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to radio/V1_1/target/Android.mk
index c07841b..bd1a0f1 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/radio/V1_1/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalRadioV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/radio/V1_1/target/AndroidTest.xml
similarity index 81%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to radio/V1_1/target/AndroidTest.xml
index 1b25dc8..bc9c9da 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/radio/V1_1/target/AndroidTest.xml
@@ -13,21 +13,20 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalRadioV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalRadioV1_1Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioV1_1TargetTest/VtsHalRadioV1_1TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioV1_1TargetTest/VtsHalRadioV1_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.wifi@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.radio@1.1"/>
         <option name="test-timeout" value="15m"/>
-        <option name="runtime-hint" value="5m"/>
     </test>
 </configuration>
diff --git a/radio/deprecated/V1_0/__init__.py b/radio/deprecated/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/radio/deprecated/V1_0/__init__.py
diff --git a/radio/deprecated/V1_0/build/Android.bp b/radio/deprecated/V1_0/build/Android.bp
index ae76eb3..026ef95 100644
--- a/radio/deprecated/V1_0/build/Android.bp
+++ b/radio/deprecated/V1_0/build/Android.bp
@@ -49,28 +49,40 @@
     generated_headers: ["android.hardware.radio.deprecated@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.radio.deprecated@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.radio.deprecated@1.0",
         "android.hardware.radio@1.0",
         "android.hardware.radio@1.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.radio@1.0",
         "android.hardware.radio@1.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -110,15 +122,29 @@
     export_generated_headers: ["android.hardware.radio.deprecated@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.radio.deprecated@1.0",
         "android.hardware.radio@1.0",
         "android.hardware.radio@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/wifi/V1_0/target/base/Android.mk b/radio/deprecated/V1_0/host/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to radio/deprecated/V1_0/host/Android.mk
index c07841b..4236ec3 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/radio/deprecated/V1_0/host/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalOemHookV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/radio/deprecated/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/deprecated/V1_0/host/AndroidTest.xml b/radio/deprecated/V1_0/host/AndroidTest.xml
new file mode 100644
index 0000000..3a2c579
--- /dev/null
+++ b/radio/deprecated/V1_0/host/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?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 VtsHalOemHookV1_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"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalOemHookV1_0Host"/>
+        <option name="test-case-path" value="vts/testcases/hal/radio/deprecated/V1_0/host/VtsHalOemHookV1_0HostTest"/>
+        <option name="precondition-lshal" value="android.hardware.radio@1.0"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/radio/deprecated/V1_0/host/VtsHalOemHookV1_0HostTest.py b/radio/deprecated/V1_0/host/VtsHalOemHookV1_0HostTest.py
new file mode 100644
index 0000000..ccbcb0a
--- /dev/null
+++ b/radio/deprecated/V1_0/host/VtsHalOemHookV1_0HostTest.py
@@ -0,0 +1,66 @@
+#!/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 re
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import test_runner
+from vts.utils.python.controllers import android_device
+
+
+class VtsHalOemHookV1_0HostTest(base_test.BaseTestClass):
+    """Verify deprecated IOemHook HAL is unused."""
+
+    def setUpClass(self):
+        """Get the VINTF"""
+
+        dut = self.android_devices[0]
+        logging.debug("Get the VINTF")
+        self._vintf_xml = dut.getVintfXml(use_lshal=True)
+
+    def apiNameInVintf(self, api_name):
+        """Helper to check if a API is present in the VINTF
+
+        Args:
+            api_name: A string for the API to be searched.
+
+        Returns:
+            True if the given api_name is present in the VINTF and false
+            otherwise.
+
+        Raises:
+            TypeError if VINTF is invalid.
+        """
+
+        return (re.search(r"\b({0})\b".format(api_name), self._vintf_xml)
+                is not None)
+
+    def testOemHook(self):
+        """Test to ensure the deprecated IOemHook HAL is not present"""
+
+        logging.debug("Check if API is present in VINTF")
+        try:
+            asserts.assertFalse(self.apiNameInVintf("IOemHook"),
+                    "IOemHook cannot be present")
+        except TypeError as e:
+            asserts.fail(str(e))
+
+
+if __name__ == "__main__":
+    test_runner.main()
diff --git a/radio/deprecated/V1_0/host/__init__.py b/radio/deprecated/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/radio/deprecated/V1_0/host/__init__.py
diff --git a/radio/deprecated/__init__.py b/radio/deprecated/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/radio/deprecated/__init__.py
diff --git a/renderscript/V1_0/build/Android.bp b/renderscript/V1_0/build/Android.bp
index ed07378..ebc0450 100644
--- a/renderscript/V1_0/build/Android.bp
+++ b/renderscript/V1_0/build/Android.bp
@@ -49,24 +49,38 @@
     generated_headers: ["android.hardware.renderscript@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.renderscript@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.renderscript@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.renderscript@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.renderscript@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/wifi/V1_0/target/base/Android.mk b/renderscript/V1_0/target_profiling/Android.mk
similarity index 84%
copy from wifi/V1_0/target/base/Android.mk
copy to renderscript/V1_0/target_profiling/Android.mk
index c07841b..fcf1e57 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/renderscript/V1_0/target_profiling/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalRenderscriptV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/renderscript/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/renderscript/V1_0/target_profiling/AndroidTest.xml b/renderscript/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..1d87e03
--- /dev/null
+++ b/renderscript/V1_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalRenderscriptV1_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.renderscript@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.renderscript@1.0-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.renderscript@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.renderscript@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="VtsHalRenderscriptV1_0TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRenderscriptV1_0TargetTest/VtsHalRenderscriptV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRenderscriptV1_0TargetTest/VtsHalRenderscriptV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.renderscript@1.0"/>
+        <option name="test-timeout" value="2m"/>
+    </test>
+</configuration>
diff --git a/script/build/build_rule_gen.py b/script/build/build_rule_gen.py
old mode 100644
new mode 100755
index a3b72c2..afcf5ad
--- a/script/build/build_rule_gen.py
+++ b/script/build/build_rule_gen.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3.4
+#!/usr/bin/env python
 #
 # Copyright (C) 2017 The Android Open Source Project
 #
@@ -168,6 +168,9 @@
             """
             result = []
             for package in imported_packages:
+                if package in ["android.hidl.base@1.0",
+                               "android.hidl.manager@1.0"]:
+                    continue
                 prefix = 'android.hardware.'
                 if package.startswith(prefix):
                     # TODO(b/36475863)
diff --git a/script/build/template/vts_build_template.bp b/script/build/template/vts_build_template.bp
index bf474b4..0bd41e2 100644
--- a/script/build/template/vts_build_template.bp
+++ b/script/build/template/vts_build_template.bp
@@ -40,25 +40,39 @@
     generated_headers: ["android.hardware.{HAL_NAME}@{HAL_VERSION}-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.{HAL_NAME}@{HAL_VERSION}-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.{HAL_NAME}@{HAL_VERSION}",
         {IMPORTED_DRIVER_PACKAGES}
     ],
     export_shared_lib_headers: [
         {IMPORTED_DRIVER_PACKAGES}
     ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-unused-parameter",
+        "-Wno-unused-variable",
+        "-Wno-unused-private-field",
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
 }
 
 // Build VTS profiler.
@@ -93,13 +107,28 @@
     export_generated_headers: ["android.hardware.{HAL_NAME}@{HAL_VERSION}-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.{HAL_NAME}@{HAL_VERSION}",
         {IMPORTED_PROFILER_PACKAGES}
     ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-unused-parameter",
+        "-Wno-unused-variable",
+        "-Wno-unused-private-field",
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
 }
 
diff --git a/script/build/vts_spec_parser.py b/script/build/vts_spec_parser.py
index 96d7074..7554fe6 100644
--- a/script/build/vts_spec_parser.py
+++ b/script/build/vts_spec_parser.py
@@ -101,12 +101,8 @@
             return
         hidl_gen_cmd = (
             'hidl-gen -o {TEMP_DIR} -L vts '
-            '-r android.hardware:{HW_IFACE_DIR} '
-            '-r android.hidl:{ANDROID_BUILD_TOP}/system/libhidl/transport '
             'android.hardware.{HAL_NAME}@{HAL_VERSION}').format(
                 TEMP_DIR=self._tmp_dir,
-                HW_IFACE_DIR=self.HW_IFACE_DIR,
-                ANDROID_BUILD_TOP=ANDROID_BUILD_TOP,
                 HAL_NAME=hal_name,
                 HAL_VERSION=hal_version)
         subprocess.call(hidl_gen_cmd, shell=True)
diff --git a/script/update_hal_tests.py b/script/update_hal_tests.py
new file mode 100755
index 0000000..733254a
--- /dev/null
+++ b/script/update_hal_tests.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+#
+# Copyright 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 argparse
+import os
+import re
+import sys
+
+from configure.test_case_creator import TestCaseCreator
+from build.vts_spec_parser import VtsSpecParser
+"""Regenerate test configures for all existing tests.
+
+Usage:
+  python update_hal_tests.py
+"""
+
+
+def GetTimeOut(configure_path):
+    """Get the timeout settings from the original configure.
+
+    Args:
+      configure_path: path of the original configure file.
+
+    Returns:
+      timeout values.
+    """
+    time_out = "1m"
+    configure_file = open(configure_path, "r")
+    for line in configure_file.readlines():
+        if "test-timeout" in line:
+            temp = line[(line.find("value") + 7):]
+            time_out = temp[0:temp.find('"')]
+            break
+    return time_out
+
+
+def GetDisableRunTime(configure_path):
+    """Get the stop runtime settings from the original configure.
+
+    Args:
+      configure_path: path of the original configure file.
+
+    Returns:
+      Settings about whether to stop runtime before test.
+    """
+    disable_runtime = False
+    configure_file = open(configure_path, "r")
+    for line in configure_file.readlines():
+        if "binary-test-disable-framework" in line:
+            disable_runtime = True
+            break
+    return disable_runtime
+
+
+test_categories = {
+    'target': ('target/AndroidTest.xml', 'target', False),
+    'target_profiling': ('target_profiling/AndroidTest.xml', 'target', True),
+    'host': ('host/AndroidTest.xml', 'host', False),
+    'host_profiling': ('host_profiling/AndroidTest.xml', 'host', True),
+}
+
+
+def main():
+    build_top = os.getenv('ANDROID_BUILD_TOP')
+    if not build_top:
+        print('Error: Missing ANDROID_BUILD_TOP env variable. Please run '
+              '\'. build/envsetup.sh; lunch <build target>\' Exiting...')
+        sys.exit(1)
+
+    vts_spec_parser = VtsSpecParser()
+    hal_list = vts_spec_parser.HalNamesAndVersions()
+
+    for hal_name, hal_version in hal_list:
+        hal_package_name = 'android.hardware.' + hal_name + '@' + hal_version
+        test_case_creater = TestCaseCreator(vts_spec_parser, hal_package_name)
+        hal_path = hal_name.replace(".", "/")
+        hal_version_str = 'V' + hal_version.replace('.', '_')
+        hal_test_path = os.path.join(build_top, 'test/vts-testcase/hal',
+                                     hal_path, hal_version_str)
+
+        for test_categry, configure in test_categories.iteritems():
+            print test_categry
+            print configure
+            test_configure_path = os.path.join(hal_test_path, configure[0])
+            if os.path.exists(test_configure_path):
+                time_out = GetTimeOut(test_configure_path)
+                stop_runtime = GetDisableRunTime(test_configure_path)
+                test_case_creater.LaunchTestCase(
+                    configure[1],
+                    time_out=time_out,
+                    is_profiling=configure[2],
+                    stop_runtime=stop_runtime,
+                    update_only=True)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/sensors/V1_0/build/Android.bp b/sensors/V1_0/build/Android.bp
index a8b6236..5824821 100644
--- a/sensors/V1_0/build/Android.bp
+++ b/sensors/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.sensors@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.sensors@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.sensors@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/soundtrigger/V2_0/build/Android.bp b/soundtrigger/V2_0/build/Android.bp
index 9fe9b0a..d339e88 100644
--- a/soundtrigger/V2_0/build/Android.bp
+++ b/soundtrigger/V2_0/build/Android.bp
@@ -49,28 +49,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.soundtrigger@2.0",
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -110,15 +122,29 @@
     export_generated_headers: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "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",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/Android.bp b/tests/Android.bp
index 97d8a6b..aa484db 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -13,8 +13,4 @@
     "memory/V1_0",
     "msgq/V1_0",
     "pointer/V1_0",
-    "versioning/V1_0",
-    "versioning/V2_2",
-    "versioning/V2_3",
-    "versioning/V2_4",
 ]
diff --git a/tests/bar/V1_0/build/Android.bp b/tests/bar/V1_0/build/Android.bp
index 5d90f04..63e4cf9 100644
--- a/tests/bar/V1_0/build/Android.bp
+++ b/tests/bar/V1_0/build/Android.bp
@@ -58,28 +58,40 @@
     generated_headers: ["android.hardware.tests.bar@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.bar@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.bar@1.0",
         "android.hardware.tests.foo@1.0",
         "android.hardware.tests.foo@1.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.tests.foo@1.0",
         "android.hardware.tests.foo@1.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -125,15 +137,29 @@
     export_generated_headers: ["android.hardware.tests.bar@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.bar@1.0",
         "android.hardware.tests.foo@1.0",
         "android.hardware.tests.foo@1.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/baz/V1_0/build/Android.bp b/tests/baz/V1_0/build/Android.bp
index 9bab25d..7ef1b8d 100644
--- a/tests/baz/V1_0/build/Android.bp
+++ b/tests/baz/V1_0/build/Android.bp
@@ -55,24 +55,38 @@
     generated_headers: ["android.hardware.tests.baz@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.baz@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.baz@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -116,13 +130,28 @@
     export_generated_headers: ["android.hardware.tests.baz@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.baz@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/expression/V1_0/build/Android.bp b/tests/expression/V1_0/build/Android.bp
index f273d81..7ecb5b6 100644
--- a/tests/expression/V1_0/build/Android.bp
+++ b/tests/expression/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     generated_headers: ["android.hardware.tests.expression@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.expression@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.expression@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.tests.expression@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.expression@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/extension/light/V2_0/build/Android.bp b/tests/extension/light/V2_0/build/Android.bp
index bb45d2c..3a06f75 100644
--- a/tests/extension/light/V2_0/build/Android.bp
+++ b/tests/extension/light/V2_0/build/Android.bp
@@ -46,28 +46,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.extension.light@2.0",
         "android.hardware.light@2.0",
         "android.hardware.light@2.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.light@2.0",
         "android.hardware.light@2.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -105,15 +117,29 @@
     export_generated_headers: ["android.hardware.tests.extension.light@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.extension.light@2.0",
         "android.hardware.light@2.0",
         "android.hardware.light@2.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/foo/V1_0/build/Android.bp b/tests/foo/V1_0/build/Android.bp
index a80cf76..87377e0 100644
--- a/tests/foo/V1_0/build/Android.bp
+++ b/tests/foo/V1_0/build/Android.bp
@@ -58,24 +58,38 @@
     generated_headers: ["android.hardware.tests.foo@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.foo@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.foo@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -121,13 +135,28 @@
     export_generated_headers: ["android.hardware.tests.foo@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.foo@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/hash/V1_0/build/Android.bp b/tests/hash/V1_0/build/Android.bp
index bf4c8ad..0998e6a 100644
--- a/tests/hash/V1_0/build/Android.bp
+++ b/tests/hash/V1_0/build/Android.bp
@@ -43,24 +43,38 @@
     generated_headers: ["android.hardware.tests.hash@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.hash@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.hash@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.tests.hash@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.hash@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/inheritance/V1_0/build/Android.bp b/tests/inheritance/V1_0/build/Android.bp
index 084a5db..56acaa6 100644
--- a/tests/inheritance/V1_0/build/Android.bp
+++ b/tests/inheritance/V1_0/build/Android.bp
@@ -52,24 +52,38 @@
     generated_headers: ["android.hardware.tests.inheritance@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.inheritance@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.inheritance@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -111,13 +125,28 @@
     export_generated_headers: ["android.hardware.tests.inheritance@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.inheritance@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/libhwbinder/V1_0/build/Android.bp b/tests/libhwbinder/V1_0/build/Android.bp
index ed7430f..2a47be3 100644
--- a/tests/libhwbinder/V1_0/build/Android.bp
+++ b/tests/libhwbinder/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     generated_headers: ["android.hardware.tests.libhwbinder@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.libhwbinder@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.libhwbinder@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.tests.libhwbinder@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.libhwbinder@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/memory/V1_0/build/Android.bp b/tests/memory/V1_0/build/Android.bp
index 625b270..e4d3bc6 100644
--- a/tests/memory/V1_0/build/Android.bp
+++ b/tests/memory/V1_0/build/Android.bp
@@ -43,24 +43,38 @@
     generated_headers: ["android.hardware.tests.memory@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.memory@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.memory@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.tests.memory@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.memory@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/msgq/V1_0/build/Android.bp b/tests/msgq/V1_0/build/Android.bp
index fc6f8c0..9f46d0d 100644
--- a/tests/msgq/V1_0/build/Android.bp
+++ b/tests/msgq/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     generated_headers: ["android.hardware.tests.msgq@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.msgq@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.msgq@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.tests.msgq@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.msgq@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/pointer/V1_0/build/Android.bp b/tests/pointer/V1_0/build/Android.bp
index 5605206..3c056da 100644
--- a/tests/pointer/V1_0/build/Android.bp
+++ b/tests/pointer/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     generated_headers: ["android.hardware.tests.pointer@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.pointer@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tests.pointer@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.tests.pointer@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tests.pointer@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tests/versioning/V1_0/build/Android.bp b/tests/versioning/V1_0/build/Android.bp
deleted file mode 100644
index f134d45..0000000
--- a/tests/versioning/V1_0/build/Android.bp
+++ /dev/null
@@ -1,108 +0,0 @@
-// This file was auto-generated. Do not edit manually.
-// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
-
-// Generate .vts spec files.
-hal2vts {
-    name: "android.hardware.tests.versioning@1.0-vts.spec",
-    srcs: [
-        ":android.hardware.tests.versioning@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/1.0/Foo.vts",
-    ],
-}
-
-// Build VTS driver.
-genrule {
-    name: "android.hardware.tests.versioning@1.0-vts.driver_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tests/versioning/1.0/ $(genDir)/android/hardware/tests/versioning/1.0/",
-    srcs: [
-        ":android.hardware.tests.versioning@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/1.0/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@1.0-vts.driver_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tests/versioning/1.0/ $(genDir)/android/hardware/tests/versioning/1.0/",
-    srcs: [
-        ":android.hardware.tests.versioning@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/1.0/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@1.0-vts.driver",
-    generated_sources: ["android.hardware.tests.versioning@1.0-vts.driver_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@1.0-vts.driver_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@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.tests.versioning@1.0",
-        "android.hidl.base@1.0",
-    ],
-    export_shared_lib_headers: [
-        "android.hidl.base@1.0",
-    ],
-}
-
-// Build VTS profiler.
-genrule {
-    name: "android.hardware.tests.versioning@1.0-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tests/versioning/1.0/ $(genDir)/android/hardware/tests/versioning/1.0/",
-    srcs: [
-        ":android.hardware.tests.versioning@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/1.0/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@1.0-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tests/versioning/1.0/ $(genDir)/android/hardware/tests/versioning/1.0/",
-    srcs: [
-        ":android.hardware.tests.versioning@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/1.0/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@1.0-vts.profiler",
-    generated_sources: ["android.hardware.tests.versioning@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@1.0-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hardware.tests.versioning@1.0",
-        "android.hidl.base@1.0",
-    ],
-}
-
diff --git a/tests/versioning/V2_2/build/Android.bp b/tests/versioning/V2_2/build/Android.bp
deleted file mode 100644
index 7593a60..0000000
--- a/tests/versioning/V2_2/build/Android.bp
+++ /dev/null
@@ -1,113 +0,0 @@
-// This file was auto-generated. Do not edit manually.
-// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
-
-// Generate .vts spec files.
-hal2vts {
-    name: "android.hardware.tests.versioning@2.2-vts.spec",
-    srcs: [
-        ":android.hardware.tests.versioning@2.2_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.2/Bar.vts",
-        "android/hardware/tests/versioning/2.2/Foo.vts",
-    ],
-}
-
-// Build VTS driver.
-genrule {
-    name: "android.hardware.tests.versioning@2.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.tests.versioning@2.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tests/versioning/2.2/ $(genDir)/android/hardware/tests/versioning/2.2/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.2_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.2/Bar.vts.cpp",
-        "android/hardware/tests/versioning/2.2/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@2.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.tests.versioning@2.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tests/versioning/2.2/ $(genDir)/android/hardware/tests/versioning/2.2/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.2_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.2/Bar.vts.h",
-        "android/hardware/tests/versioning/2.2/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@2.2-vts.driver",
-    generated_sources: ["android.hardware.tests.versioning@2.2-vts.driver_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@2.2-vts.driver_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@2.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.tests.versioning@2.2",
-        "android.hidl.base@1.0",
-    ],
-    export_shared_lib_headers: [
-        "android.hidl.base@1.0",
-    ],
-}
-
-// Build VTS profiler.
-genrule {
-    name: "android.hardware.tests.versioning@2.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.tests.versioning@2.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tests/versioning/2.2/ $(genDir)/android/hardware/tests/versioning/2.2/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.2_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.2/Bar.vts.cpp",
-        "android/hardware/tests/versioning/2.2/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@2.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.tests.versioning@2.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tests/versioning/2.2/ $(genDir)/android/hardware/tests/versioning/2.2/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.2_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.2/Bar.vts.h",
-        "android/hardware/tests/versioning/2.2/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@2.2-vts.profiler",
-    generated_sources: ["android.hardware.tests.versioning@2.2-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@2.2-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@2.2-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hardware.tests.versioning@2.2",
-        "android.hidl.base@1.0",
-    ],
-}
-
diff --git a/tests/versioning/V2_3/Android.bp b/tests/versioning/V2_3/Android.bp
deleted file mode 100644
index 995dd5b..0000000
--- a/tests/versioning/V2_3/Android.bp
+++ /dev/null
@@ -1,6 +0,0 @@
-// 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/versioning/V2_3/build/Android.bp b/tests/versioning/V2_3/build/Android.bp
deleted file mode 100644
index c24b9e7..0000000
--- a/tests/versioning/V2_3/build/Android.bp
+++ /dev/null
@@ -1,130 +0,0 @@
-// This file was auto-generated. Do not edit manually.
-// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
-
-// Generate .vts spec files.
-hal2vts {
-    name: "android.hardware.tests.versioning@2.3-vts.spec",
-    srcs: [
-        ":android.hardware.tests.versioning@2.3_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.3/Bar.vts",
-        "android/hardware/tests/versioning/2.3/Baz.vts",
-        "android/hardware/tests/versioning/2.3/Foo.vts",
-    ],
-}
-
-// Build VTS driver.
-genrule {
-    name: "android.hardware.tests.versioning@2.3-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.versioning@2.3 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tests/versioning/2.3/ $(genDir)/android/hardware/tests/versioning/2.3/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.3_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.3/Bar.vts.cpp",
-        "android/hardware/tests/versioning/2.3/Baz.vts.cpp",
-        "android/hardware/tests/versioning/2.3/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@2.3-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.versioning@2.3 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tests/versioning/2.3/ $(genDir)/android/hardware/tests/versioning/2.3/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.3_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.3/Bar.vts.h",
-        "android/hardware/tests/versioning/2.3/Baz.vts.h",
-        "android/hardware/tests/versioning/2.3/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@2.3-vts.driver",
-    generated_sources: ["android.hardware.tests.versioning@2.3-vts.driver_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@2.3-vts.driver_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@2.3-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.versioning@2.3",
-        "android.hardware.tests.versioning@1.0",
-        "android.hardware.tests.versioning@1.0-vts.driver",
-        "android.hardware.tests.versioning@2.2",
-        "android.hardware.tests.versioning@2.2-vts.driver",
-        "android.hidl.base@1.0",
-    ],
-    export_shared_lib_headers: [
-        "android.hardware.tests.versioning@1.0",
-        "android.hardware.tests.versioning@1.0-vts.driver",
-        "android.hardware.tests.versioning@2.2",
-        "android.hardware.tests.versioning@2.2-vts.driver",
-        "android.hidl.base@1.0",
-    ],
-}
-
-// Build VTS profiler.
-genrule {
-    name: "android.hardware.tests.versioning@2.3-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.versioning@2.3 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tests/versioning/2.3/ $(genDir)/android/hardware/tests/versioning/2.3/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.3_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.3/Bar.vts.cpp",
-        "android/hardware/tests/versioning/2.3/Baz.vts.cpp",
-        "android/hardware/tests/versioning/2.3/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@2.3-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.versioning@2.3 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tests/versioning/2.3/ $(genDir)/android/hardware/tests/versioning/2.3/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.3_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.3/Bar.vts.h",
-        "android/hardware/tests/versioning/2.3/Baz.vts.h",
-        "android/hardware/tests/versioning/2.3/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@2.3-vts.profiler",
-    generated_sources: ["android.hardware.tests.versioning@2.3-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@2.3-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@2.3-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hardware.tests.versioning@2.3",
-        "android.hardware.tests.versioning@1.0",
-        "android.hardware.tests.versioning@1.0-vts.profiler",
-        "android.hardware.tests.versioning@2.2",
-        "android.hardware.tests.versioning@2.2-vts.profiler",
-        "android.hidl.base@1.0",
-    ],
-}
-
diff --git a/tests/versioning/V2_4/Android.bp b/tests/versioning/V2_4/Android.bp
deleted file mode 100644
index 995dd5b..0000000
--- a/tests/versioning/V2_4/Android.bp
+++ /dev/null
@@ -1,6 +0,0 @@
-// 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/versioning/V2_4/build/Android.bp b/tests/versioning/V2_4/build/Android.bp
deleted file mode 100644
index 1a83f31..0000000
--- a/tests/versioning/V2_4/build/Android.bp
+++ /dev/null
@@ -1,120 +0,0 @@
-// This file was auto-generated. Do not edit manually.
-// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
-
-// Generate .vts spec files.
-hal2vts {
-    name: "android.hardware.tests.versioning@2.4-vts.spec",
-    srcs: [
-        ":android.hardware.tests.versioning@2.4_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.4/Foo.vts",
-    ],
-}
-
-// Build VTS driver.
-genrule {
-    name: "android.hardware.tests.versioning@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.tests.versioning@2.4 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tests/versioning/2.4/ $(genDir)/android/hardware/tests/versioning/2.4/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.4_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.4/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@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.tests.versioning@2.4 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tests/versioning/2.4/ $(genDir)/android/hardware/tests/versioning/2.4/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.4_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.4/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@2.4-vts.driver",
-    generated_sources: ["android.hardware.tests.versioning@2.4-vts.driver_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@2.4-vts.driver_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@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.tests.versioning@2.4",
-        "android.hardware.tests.versioning@2.2",
-        "android.hardware.tests.versioning@2.2-vts.driver",
-        "android.hardware.tests.versioning@2.3",
-        "android.hardware.tests.versioning@2.3-vts.driver",
-        "android.hidl.base@1.0",
-    ],
-    export_shared_lib_headers: [
-        "android.hardware.tests.versioning@2.2",
-        "android.hardware.tests.versioning@2.2-vts.driver",
-        "android.hardware.tests.versioning@2.3",
-        "android.hardware.tests.versioning@2.3-vts.driver",
-        "android.hidl.base@1.0",
-    ],
-}
-
-// Build VTS profiler.
-genrule {
-    name: "android.hardware.tests.versioning@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.tests.versioning@2.4 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tests/versioning/2.4/ $(genDir)/android/hardware/tests/versioning/2.4/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.4_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.4/Foo.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.versioning@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.tests.versioning@2.4 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tests/versioning/2.4/ $(genDir)/android/hardware/tests/versioning/2.4/",
-    srcs: [
-        ":android.hardware.tests.versioning@2.4_hal",
-    ],
-    out: [
-        "android/hardware/tests/versioning/2.4/Foo.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tests.versioning@2.4-vts.profiler",
-    generated_sources: ["android.hardware.tests.versioning@2.4-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tests.versioning@2.4-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.versioning@2.4-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hardware.tests.versioning@2.4",
-        "android.hardware.tests.versioning@2.2",
-        "android.hardware.tests.versioning@2.2-vts.profiler",
-        "android.hardware.tests.versioning@2.3",
-        "android.hardware.tests.versioning@2.3-vts.profiler",
-        "android.hidl.base@1.0",
-    ],
-}
-
diff --git a/tests/versioning/V2_2/Android.bp b/tetheroffload/Android.bp
similarity index 78%
copy from tests/versioning/V2_2/Android.bp
copy to tetheroffload/Android.bp
index 995dd5b..3d48b18 100644
--- a/tests/versioning/V2_2/Android.bp
+++ b/tetheroffload/Android.bp
@@ -2,5 +2,6 @@
 // Use test/vts-testcase/hal/update_makefiles.py to generate this file.
 
 subdirs = [
-    "*",
+    "config/V1_0",
+    "control/V1_0",
 ]
diff --git a/tests/versioning/V1_0/Android.bp b/tetheroffload/config/V1_0/Android.bp
similarity index 100%
rename from tests/versioning/V1_0/Android.bp
rename to tetheroffload/config/V1_0/Android.bp
diff --git a/tetheroffload/config/V1_0/build/Android.bp b/tetheroffload/config/V1_0/build/Android.bp
new file mode 100644
index 0000000..a738f67
--- /dev/null
+++ b/tetheroffload/config/V1_0/build/Android.bp
@@ -0,0 +1,136 @@
+// 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.tetheroffload.config@1.0-vts.spec",
+    srcs: [
+        ":android.hardware.tetheroffload.config@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/config/1.0/OffloadConfig.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.tetheroffload.config@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.tetheroffload.config@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tetheroffload/config/1.0/ $(genDir)/android/hardware/tetheroffload/config/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.config@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/config/1.0/OffloadConfig.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.tetheroffload.config@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.tetheroffload.config@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tetheroffload/config/1.0/ $(genDir)/android/hardware/tetheroffload/config/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.config@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/config/1.0/OffloadConfig.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.tetheroffload.config@1.0-vts.driver",
+    generated_sources: ["android.hardware.tetheroffload.config@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.tetheroffload.config@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.tetheroffload.config@1.0-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.tetheroffload.config@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-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.tetheroffload.config@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.tetheroffload.config@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tetheroffload/config/1.0/ $(genDir)/android/hardware/tetheroffload/config/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.config@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/config/1.0/OffloadConfig.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.tetheroffload.config@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.tetheroffload.config@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tetheroffload/config/1.0/ $(genDir)/android/hardware/tetheroffload/config/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.config@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/config/1.0/OffloadConfig.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.tetheroffload.config@1.0-vts.profiler",
+    generated_sources: ["android.hardware.tetheroffload.config@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.tetheroffload.config@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.tetheroffload.config@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.tetheroffload.config@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-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/tetheroffload/config/V1_0/target/Android.mk
similarity index 85%
copy from wifi/V1_0/target/base/Android.mk
copy to tetheroffload/config/V1_0/target/Android.mk
index c07841b..c025bd9 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/tetheroffload/config/V1_0/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalTetherOffloadConfigV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/tetheroffload/config/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/tetheroffload/config/V1_0/target/AndroidTest.xml
similarity index 74%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to tetheroffload/config/V1_0/target/AndroidTest.xml
index 1b25dc8..1e627ec 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/tetheroffload/config/V1_0/target/AndroidTest.xml
@@ -13,21 +13,20 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalTetherOffloadConfigV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalTetherOffloadConfigV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTetheroffloadConfigV1_0TargetTest/VtsHalTetheroffloadConfigV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalTetheroffloadConfigV1_0TargetTest/VtsHalTetheroffloadConfigV1_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="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="precondition-lshal" value="android.hardware.tetheroffload.config@1.0"/>
+        <option name="test-timeout" value="5m"/>
+        <option name="runtime-hint" value="2m"/>
     </test>
 </configuration>
diff --git a/wifi/V1_0/target/base/Android.mk b/tetheroffload/config/V1_0/target_profiling/Android.mk
similarity index 83%
copy from wifi/V1_0/target/base/Android.mk
copy to tetheroffload/config/V1_0/target_profiling/Android.mk
index c07841b..ecb4cad 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/tetheroffload/config/V1_0/target_profiling/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalTetherOffloadConfigV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/tetheroffload/config/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/tetheroffload/config/V1_0/target_profiling/AndroidTest.xml b/tetheroffload/config/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..67e4c51
--- /dev/null
+++ b/tetheroffload/config/V1_0/target_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 VtsHalTetherOffloadConfigV1_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.tetheroffload.config@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.tetheroffload.config@1.0-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.tetheroffload.config@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.tetheroffload.config@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="VtsHalTetherOffloadConfigV1_0TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTetheroffloadConfigV1_0TargetTest/VtsHalTetheroffloadConfigV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalTetheroffloadConfigV1_0TargetTest/VtsHalTetheroffloadConfigV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.tetheroffload.config@1.0"/>
+        <option name="test-timeout" value="15m"/>
+    </test>
+</configuration>
diff --git a/tests/versioning/V1_0/Android.bp b/tetheroffload/control/V1_0/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to tetheroffload/control/V1_0/Android.bp
diff --git a/tetheroffload/control/V1_0/build/Android.bp b/tetheroffload/control/V1_0/build/Android.bp
new file mode 100644
index 0000000..5840b14
--- /dev/null
+++ b/tetheroffload/control/V1_0/build/Android.bp
@@ -0,0 +1,146 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.tetheroffload.control@1.0-vts.spec",
+    srcs: [
+        ":android.hardware.tetheroffload.control@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/control/1.0/OffloadControl.vts",
+        "android/hardware/tetheroffload/control/1.0/TetheringOffloadCallback.vts",
+        "android/hardware/tetheroffload/control/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.tetheroffload.control@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.tetheroffload.control@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/tetheroffload/control/1.0/ $(genDir)/android/hardware/tetheroffload/control/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.control@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/control/1.0/OffloadControl.vts.cpp",
+        "android/hardware/tetheroffload/control/1.0/TetheringOffloadCallback.vts.cpp",
+        "android/hardware/tetheroffload/control/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.tetheroffload.control@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.tetheroffload.control@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/tetheroffload/control/1.0/ $(genDir)/android/hardware/tetheroffload/control/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.control@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/control/1.0/OffloadControl.vts.h",
+        "android/hardware/tetheroffload/control/1.0/TetheringOffloadCallback.vts.h",
+        "android/hardware/tetheroffload/control/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.tetheroffload.control@1.0-vts.driver",
+    generated_sources: ["android.hardware.tetheroffload.control@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.tetheroffload.control@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.tetheroffload.control@1.0-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.tetheroffload.control@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-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.tetheroffload.control@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.tetheroffload.control@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tetheroffload/control/1.0/ $(genDir)/android/hardware/tetheroffload/control/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.control@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/control/1.0/OffloadControl.vts.cpp",
+        "android/hardware/tetheroffload/control/1.0/TetheringOffloadCallback.vts.cpp",
+        "android/hardware/tetheroffload/control/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.tetheroffload.control@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.tetheroffload.control@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tetheroffload/control/1.0/ $(genDir)/android/hardware/tetheroffload/control/1.0/",
+    srcs: [
+        ":android.hardware.tetheroffload.control@1.0_hal",
+    ],
+    out: [
+        "android/hardware/tetheroffload/control/1.0/OffloadControl.vts.h",
+        "android/hardware/tetheroffload/control/1.0/TetheringOffloadCallback.vts.h",
+        "android/hardware/tetheroffload/control/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.tetheroffload.control@1.0-vts.profiler",
+    generated_sources: ["android.hardware.tetheroffload.control@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.tetheroffload.control@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.tetheroffload.control@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.tetheroffload.control@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-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/tetheroffload/control/V1_0/target/Android.mk
similarity index 84%
copy from wifi/V1_0/target/base/Android.mk
copy to tetheroffload/control/V1_0/target/Android.mk
index c07841b..b5b34ce 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/tetheroffload/control/V1_0/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalTetherOffloadControlV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/tetheroffload/control/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/tetheroffload/control/V1_0/target/AndroidTest.xml
similarity index 69%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to tetheroffload/control/V1_0/target/AndroidTest.xml
index 1b25dc8..ede9458 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/tetheroffload/control/V1_0/target/AndroidTest.xml
@@ -13,21 +13,22 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalTetherOffloadControlV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalTetherOffloadControlV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTetheroffloadControlV1_0TargetTest/VtsHalTetheroffloadControlV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalTetheroffloadControlV1_0TargetTest/VtsHalTetheroffloadControlV1_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="precondition-lshal" value="android.hardware.tetheroffload.control@1.0"/>
         <option name="test-timeout" value="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="runtime-hint" value="6m"/>
+        <option name="exclude-filter" value="OffloadControlHidlTest.SetDataLimitNonZeroOk"/>
+        <option name="exclude-filter" value="OffloadControlHidlTest.SetDataLimitZeroOk"/>
     </test>
 </configuration>
diff --git a/wifi/V1_0/target/base/Android.mk b/tetheroffload/control/V1_0/target_profiling/Android.mk
similarity index 82%
copy from wifi/V1_0/target/base/Android.mk
copy to tetheroffload/control/V1_0/target_profiling/Android.mk
index c07841b..03ca4c3 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/tetheroffload/control/V1_0/target_profiling/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalTetherOffloadControlV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/tetheroffload/control/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/tetheroffload/control/V1_0/target_profiling/AndroidTest.xml b/tetheroffload/control/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..9cfdcdb
--- /dev/null
+++ b/tetheroffload/control/V1_0/target_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 VtsHalTetherOffloadConfigV1_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.tetheroffload.control@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.tetheroffload.control@1.0-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.tetheroffload.control@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.tetheroffload.control@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="VtsHalTetherOffloadControlV1_0TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTetheroffloadControlV1_0TargetTest/VtsHalTetheroffloadControlV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalTetheroffloadControlV1_0TargetTest/VtsHalTetheroffloadControlV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.tetheroffload.control@1.0"/>
+        <option name="test-timeout" value="30m"/>
+        <option name="exclude-filter" value="OffloadControlHidlTest.SetDataLimitNonZeroOk"/>
+        <option name="exclude-filter" value="OffloadControlHidlTest.SetDataLimitZeroOk"/>
+    </test>
+</configuration>
diff --git a/thermal/V1_0/build/Android.bp b/thermal/V1_0/build/Android.bp
index 1fd9dd9..b48ac1a 100644
--- a/thermal/V1_0/build/Android.bp
+++ b/thermal/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.thermal@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.thermal@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.thermal@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/treble/vintf/Android.bp b/treble/vintf/Android.bp
index bbf9107..f151f3e 100644
--- a/treble/vintf/Android.bp
+++ b/treble/vintf/Android.bp
@@ -26,7 +26,6 @@
         "libhidl-gen-hash",
         "libhidl-gen-utils",
         "libvintf",
-        "android.hidl.manager@1.0",
     ],
 }
 
diff --git a/treble/vintf/vts_treble_vintf_test.cpp b/treble/vintf/vts_treble_vintf_test.cpp
index a5954b5..4f83174 100644
--- a/treble/vintf/vts_treble_vintf_test.cpp
+++ b/treble/vintf/vts_treble_vintf_test.cpp
@@ -89,11 +89,8 @@
 
 // Returns true iff HAL interface is exempt from following rules:
 // 1. If an interface is declared in VINTF, it has to be served on the device.
-// TODO(b/62547028): remove these exemptions in O-DR.
 static bool IsExempt(const FQName &fq_iface_name) {
-  static const set<string> exempt_hals_ = {
-      "android.hardware.radio", "android.hardware.radio.deprecated",
-  };
+  static const set<string> exempt_hals_ = {};
   string hal_name = fq_iface_name.package();
   // Radio-releated and non-Google HAL interfaces are given exemptions.
   return exempt_hals_.find(hal_name) != exempt_hals_.end() ||
@@ -123,8 +120,8 @@
         << "Failed to get passthrough service manager." << endl;
 
     vendor_manifest_ = ::android::vintf::VintfObject::GetDeviceHalManifest();
-    ASSERT_NE(passthrough_manager_, nullptr)
-        << "Failed to get vendor HAL manifest." << endl;
+    ASSERT_NE(vendor_manifest_, nullptr) << "Failed to get vendor HAL manifest."
+                                         << endl;
   }
 
   // Applies given function to each HAL instance in VINTF.
diff --git a/tv/cec/V1_0/build/Android.bp b/tv/cec/V1_0/build/Android.bp
index 1e8265a..2cd74f2 100644
--- a/tv/cec/V1_0/build/Android.bp
+++ b/tv/cec/V1_0/build/Android.bp
@@ -49,24 +49,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tv.cec@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.tv.cec@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tv.cec@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/tv/input/V1_0/build/Android.bp b/tv/input/V1_0/build/Android.bp
index d9bb7bf..932bdd6 100644
--- a/tv/input/V1_0/build/Android.bp
+++ b/tv/input/V1_0/build/Android.bp
@@ -49,28 +49,40 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.tv.input@1.0",
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@1.0",
     ],
     export_shared_lib_headers: [
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.driver",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -110,15 +122,29 @@
     export_generated_headers: ["android.hardware.tv.input@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tv.input@1.0",
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.common@2.0-vts.profiler",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/usb/Android.bp b/usb/Android.bp
index cdc8905..2e98897 100644
--- a/usb/Android.bp
+++ b/usb/Android.bp
@@ -3,4 +3,5 @@
 
 subdirs = [
     "V1_0",
+    "V1_1",
 ]
diff --git a/usb/V1_0/build/Android.bp b/usb/V1_0/build/Android.bp
index 9911089..d01d318 100644
--- a/usb/V1_0/build/Android.bp
+++ b/usb/V1_0/build/Android.bp
@@ -49,24 +49,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.usb@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -106,13 +120,28 @@
     export_generated_headers: ["android.hardware.usb@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.usb@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/usb/V1_0/target_replay/AndroidTest.xml b/usb/V1_0/target_replay/AndroidTest.xml
index e67608c..ca41833 100644
--- a/usb/V1_0/target_replay/AndroidTest.xml
+++ b/usb/V1_0/target_replay/AndroidTest.xml
@@ -28,7 +28,7 @@
     <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-replay-test-trace-path" value="test/vts-testcase/hal-trace/usb/V1_0/android.hardware.usb_1.0_704343228913.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="exclude-filter" value="UsbHidlTest.switchModetoDFP" />
diff --git a/tests/versioning/V1_0/Android.bp b/usb/V1_1/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to usb/V1_1/Android.bp
diff --git a/usb/V1_1/build/Android.bp b/usb/V1_1/build/Android.bp
new file mode 100644
index 0000000..02ad66c
--- /dev/null
+++ b/usb/V1_1/build/Android.bp
@@ -0,0 +1,150 @@
+// 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.1-vts.spec",
+    srcs: [
+        ":android.hardware.usb@1.1_hal",
+    ],
+    out: [
+        "android/hardware/usb/1.1/Usb.vts",
+        "android/hardware/usb/1.1/UsbCallback.vts",
+        "android/hardware/usb/1.1/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.usb@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.usb@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/usb/1.1/ $(genDir)/android/hardware/usb/1.1/",
+    srcs: [
+        ":android.hardware.usb@1.1_hal",
+    ],
+    out: [
+        "android/hardware/usb/1.1/Usb.vts.cpp",
+        "android/hardware/usb/1.1/UsbCallback.vts.cpp",
+        "android/hardware/usb/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.usb@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.usb@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/usb/1.1/ $(genDir)/android/hardware/usb/1.1/",
+    srcs: [
+        ":android.hardware.usb@1.1_hal",
+    ],
+    out: [
+        "android/hardware/usb/1.1/Usb.vts.h",
+        "android/hardware/usb/1.1/UsbCallback.vts.h",
+        "android/hardware/usb/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.usb@1.1-vts.driver",
+    generated_sources: ["android.hardware.usb@1.1-vts.driver_genc++"],
+    generated_headers: ["android.hardware.usb@1.1-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.usb@1.1-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.usb@1.1",
+        "android.hardware.usb@1.0",
+        "android.hardware.usb@1.0-vts.driver",
+    ],
+    export_shared_lib_headers: [
+        "android.hardware.usb@1.0",
+        "android.hardware.usb@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-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.usb@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.usb@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/usb/1.1/ $(genDir)/android/hardware/usb/1.1/",
+    srcs: [
+        ":android.hardware.usb@1.1_hal",
+    ],
+    out: [
+        "android/hardware/usb/1.1/Usb.vts.cpp",
+        "android/hardware/usb/1.1/UsbCallback.vts.cpp",
+        "android/hardware/usb/1.1/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.usb@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.usb@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/usb/1.1/ $(genDir)/android/hardware/usb/1.1/",
+    srcs: [
+        ":android.hardware.usb@1.1_hal",
+    ],
+    out: [
+        "android/hardware/usb/1.1/Usb.vts.h",
+        "android/hardware/usb/1.1/UsbCallback.vts.h",
+        "android/hardware/usb/1.1/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.usb@1.1-vts.profiler",
+    generated_sources: ["android.hardware.usb@1.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.usb@1.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.usb@1.1-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.usb@1.1",
+        "android.hardware.usb@1.0",
+        "android.hardware.usb@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-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/usb/V1_1/target/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to usb/V1_1/target/Android.mk
index c07841b..f7e4333 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/usb/V1_1/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalUsbV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/usb/V1_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/usb/V1_1/target/AndroidTest.xml
similarity index 81%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to usb/V1_1/target/AndroidTest.xml
index 1b25dc8..e9e5b84 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/usb/V1_1/target/AndroidTest.xml
@@ -13,21 +13,20 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalUsbV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalUsbV1_1Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalUsbV1_1TargetTest/VtsHalUsbV1_1TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalUsbV1_1TargetTest/VtsHalUsbV1_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.wifi@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.usb@1.1"/>
         <option name="test-timeout" value="15m"/>
-        <option name="runtime-hint" value="5m"/>
     </test>
 </configuration>
diff --git a/vibrator/V1_0/build/Android.bp b/vibrator/V1_0/build/Android.bp
index a314c7c..b029ca3 100644
--- a/vibrator/V1_0/build/Android.bp
+++ b/vibrator/V1_0/build/Android.bp
@@ -46,24 +46,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.vibrator@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -101,13 +115,28 @@
     export_generated_headers: ["android.hardware.vibrator@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.vibrator@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/vibrator/V1_0/target_replay/Android.mk b/vibrator/V1_0/target_replay/Android.mk
index 449fd95..dff0176 100644
--- a/vibrator/V1_0/target_replay/Android.mk
+++ b/vibrator/V1_0/target_replay/Android.mk
@@ -19,5 +19,5 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVibratorV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/target
+VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/target_replay
 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
index 4db646b..fcf59a8 100644
--- a/vibrator/V1_0/target_replay/AndroidTest.xml
+++ b/vibrator/V1_0/target_replay/AndroidTest.xml
@@ -17,17 +17,29 @@
     <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="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_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="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_21738995445.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_21228695967.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_18909153496.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_357011271760.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_617631802097.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_74324590214.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_242337727264.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_21852157903.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_106577312906.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_23569480470.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vibrator/V1_0/android.hardware.vibrator_1.0_3442286814892.vts.trace"/>
+        <option name="hal-hidl-package-name" value="android.hardware.vibrator@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.vibrator@1.0"/>
         <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/wifi/V1_0/target/base/Android.mk b/vibrator/V1_1/target/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to vibrator/V1_1/target/Android.mk
index c07841b..a621f01 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/vibrator/V1_1/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalVibratorV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/vibrator/V1_1/target/AndroidTest.xml
similarity index 79%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to vibrator/V1_1/target/AndroidTest.xml
index 1b25dc8..6d03b85 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/vibrator/V1_1/target/AndroidTest.xml
@@ -13,21 +13,20 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalVibratorV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalVibratorV1_1Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVibratorV1_1TargetTest/VtsHalVibratorV1_1TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVibratorV1_1TargetTest/VtsHalVibratorV1_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.wifi@1.0"/>
-        <option name="test-timeout" value="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="precondition-lshal" value="android.hardware.vibrator@1.1"/>
+        <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/vr/V1_0/build/Android.bp b/vr/V1_0/build/Android.bp
index cac6326..ee741b9 100644
--- a/vr/V1_0/build/Android.bp
+++ b/vr/V1_0/build/Android.bp
@@ -43,24 +43,38 @@
     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: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.vr@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -96,13 +110,28 @@
     export_generated_headers: ["android.hardware.vr@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.vr@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/vr/V1_0/target_replay/AndroidTest.xml b/vr/V1_0/target_replay/AndroidTest.xml
index a9de929..61ad4d2 100644
--- a/vr/V1_0/target_replay/AndroidTest.xml
+++ b/vr/V1_0/target_replay/AndroidTest.xml
@@ -26,7 +26,9 @@
     <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-replay-test-trace-path" value="test/vts-testcase/hal-trace/vr/V1_0/android.hardware.vr_1.0_414639701250.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vr/V1_0/android.hardware.vr_1.0_703509813153.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/vr/V1_0/android.hardware.vr_1.0_45605331051.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="5m"/>
diff --git a/tests/versioning/V2_2/Android.bp b/weaver/Android.bp
similarity index 91%
copy from tests/versioning/V2_2/Android.bp
copy to weaver/Android.bp
index 995dd5b..cdc8905 100644
--- a/tests/versioning/V2_2/Android.bp
+++ b/weaver/Android.bp
@@ -2,5 +2,5 @@
 // Use test/vts-testcase/hal/update_makefiles.py to generate this file.
 
 subdirs = [
-    "*",
+    "V1_0",
 ]
diff --git a/tests/versioning/V1_0/Android.bp b/weaver/V1_0/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to weaver/V1_0/Android.bp
diff --git a/weaver/V1_0/build/Android.bp b/weaver/V1_0/build/Android.bp
new file mode 100644
index 0000000..dd9da7d
--- /dev/null
+++ b/weaver/V1_0/build/Android.bp
@@ -0,0 +1,136 @@
+// 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.weaver@1.0-vts.spec",
+    srcs: [
+        ":android.hardware.weaver@1.0_hal",
+    ],
+    out: [
+        "android/hardware/weaver/1.0/Weaver.vts",
+        "android/hardware/weaver/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.weaver@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.weaver@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/weaver/1.0/ $(genDir)/android/hardware/weaver/1.0/",
+    srcs: [
+        ":android.hardware.weaver@1.0_hal",
+    ],
+    out: [
+        "android/hardware/weaver/1.0/Weaver.vts.cpp",
+        "android/hardware/weaver/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.weaver@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.weaver@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/weaver/1.0/ $(genDir)/android/hardware/weaver/1.0/",
+    srcs: [
+        ":android.hardware.weaver@1.0_hal",
+    ],
+    out: [
+        "android/hardware/weaver/1.0/Weaver.vts.h",
+        "android/hardware/weaver/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.weaver@1.0-vts.driver",
+    generated_sources: ["android.hardware.weaver@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.weaver@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.weaver@1.0-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.weaver@1.0",
+        
+    ],
+    export_shared_lib_headers: [
+        
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.weaver@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.weaver@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/weaver/1.0/ $(genDir)/android/hardware/weaver/1.0/",
+    srcs: [
+        ":android.hardware.weaver@1.0_hal",
+    ],
+    out: [
+        "android/hardware/weaver/1.0/Weaver.vts.cpp",
+        "android/hardware/weaver/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.weaver@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.weaver@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/weaver/1.0/ $(genDir)/android/hardware/weaver/1.0/",
+    srcs: [
+        ":android.hardware.weaver@1.0_hal",
+    ],
+    out: [
+        "android/hardware/weaver/1.0/Weaver.vts.h",
+        "android/hardware/weaver/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.weaver@1.0-vts.profiler",
+    generated_sources: ["android.hardware.weaver@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.weaver@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.weaver@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.weaver@1.0",
+        
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/weaver/V1_0/target/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to weaver/V1_0/target/Android.mk
index c07841b..d43ddba 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/weaver/V1_0/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalWeaverV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/weaver/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/weaver/V1_0/target/AndroidTest.xml
similarity index 75%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to weaver/V1_0/target/AndroidTest.xml
index 1b25dc8..f2c1243 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/weaver/V1_0/target/AndroidTest.xml
@@ -13,21 +13,19 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VtsHalWeaverV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalWeaverV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWeaverV1_0TargetTest/VtsHalWeaverV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWeaverV1_0TargetTest/VtsHalWeaverV1_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="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="precondition-lshal" value="android.hardware.weaver@1.0"/>
+        <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/wifi/V1_0/target/base/Android.mk b/weaver/V1_0/target_profiling/Android.mk
similarity index 85%
copy from wifi/V1_0/target/base/Android.mk
copy to weaver/V1_0/target_profiling/Android.mk
index c07841b..83cf51e 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/weaver/V1_0/target_profiling/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalWeaverV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/weaver/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/weaver/V1_0/target_profiling/AndroidTest.xml
similarity index 62%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to weaver/V1_0/target_profiling/AndroidTest.xml
index 1b25dc8..fd1c527 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/weaver/V1_0/target_profiling/AndroidTest.xml
@@ -13,21 +13,24 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalWeaverV1_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="HalHidlTargetTest.push"/>
+        <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="DATA/lib/android.hardware.weaver@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.weaver@1.0-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.weaver@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.weaver@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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalWeaverV1_0TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWeaverV1_0TargetTest/VtsHalWeaverV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWeaverV1_0TargetTest/VtsHalWeaverV1_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="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.weaver@1.0"/>
+        <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/wifi/Android.bp b/wifi/Android.bp
index 0246948..9a6ba16 100644
--- a/wifi/Android.bp
+++ b/wifi/Android.bp
@@ -3,5 +3,7 @@
 
 subdirs = [
     "V1_0",
+    "V1_1",
+    "offload/V1_0",
     "supplicant/V1_0",
 ]
diff --git a/wifi/V1_0/__init__.py b/wifi/V1_0/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wifi/V1_0/__init__.py
diff --git a/wifi/V1_0/build/Android.bp b/wifi/V1_0/build/Android.bp
index 69f070c..053d733 100644
--- a/wifi/V1_0/build/Android.bp
+++ b/wifi/V1_0/build/Android.bp
@@ -82,24 +82,38 @@
     generated_headers: ["android.hardware.wifi@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.wifi@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.wifi@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -161,13 +175,28 @@
     export_generated_headers: ["android.hardware.wifi@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.wifi@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
diff --git a/wifi/V1_0/target/base/Android.mk b/wifi/V1_0/host/Android.mk
similarity index 87%
copy from wifi/V1_0/target/base/Android.mk
copy to wifi/V1_0/host/Android.mk
index c07841b..aafaebb 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/wifi/V1_0/host/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalWifiV1_0Host
+VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/wifi/V1_0/host/AndroidTest.xml
similarity index 75%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to wifi/V1_0/host/AndroidTest.xml
index 1b25dc8..87720e4 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/wifi/V1_0/host/AndroidTest.xml
@@ -13,21 +13,21 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalWifiV1_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="HalHidlTargetTest.push"/>
+        <option name="abort-on-push-failure" value="true"/>
+        <option name="push-group" value="HalHidlHostTest.push"/>
+        <option name="cleanup" value="true"/>
     </target_preparer>
     <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
-        <option name="test-module-name" value="VtsHalWifiV1_0Target"/>
+        <option name="test-module-name" value="VtsHalWifiV1_0Host"/>
+        <option name="test-case-path" value="vts/testcases/hal/wifi/V1_0/host/VtsHalWifiV1_0HostTest"/>
         <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="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="test-timeout" value="10m"/>
     </test>
 </configuration>
diff --git a/wifi/V1_0/host/VtsHalWifiV1_0HostTest.py b/wifi/V1_0/host/VtsHalWifiV1_0HostTest.py
new file mode 100644
index 0000000..c2c313d
--- /dev/null
+++ b/wifi/V1_0/host/VtsHalWifiV1_0HostTest.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+
+from vts.runners.host import const
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_gtest import hal_hidl_gtest
+from vts.testcases.hal.wifi.V1_0.host import VtsHalWifiV1_0TestCase as wifi_test_case
+
+
+class VtsHalWifiV1_0Host(hal_hidl_gtest.HidlHalGTest):
+    """Host test class to run the WiFi V1.0 HAL's VTS tests."""
+
+    WIFI_AWARE_FEATURE_NAME = "android.hardware.wifi.aware"
+
+    def CreateTestCases(self):
+        """Get all registered test components and create test case objects."""
+        pm_list = self.shell.Execute("pm list features")
+        self._nan_on = self.WIFI_AWARE_FEATURE_NAME in pm_list[const.STDOUT][0]
+        logging.info("Wifi NaN Feature Supported: %s", self._nan_on)
+        super(VtsHalWifiV1_0Host, self).CreateTestCases()
+
+    # @Override
+    def CreateTestCase(self, path, tag=''):
+        """Create a list of VtsHalWifiV1_0TestCase objects.
+
+        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 VtsHalWifiV1_0TestCase objects
+        """
+        gtest_cases = super(VtsHalWifiV1_0Host, self).CreateTestCase(path, tag)
+        test_cases = []
+        for gtest_case in gtest_cases:
+            test_case = wifi_test_case.VtsHalWifiV1_0TestCase(
+                self._nan_on, gtest_case.full_name, gtest_case.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/wifi/V1_0/host/VtsHalWifiV1_0TestCase.py b/wifi/V1_0/host/VtsHalWifiV1_0TestCase.py
new file mode 100644
index 0000000..bc8af65
--- /dev/null
+++ b/wifi/V1_0/host/VtsHalWifiV1_0TestCase.py
@@ -0,0 +1,38 @@
+#
+# 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.
+#
+
+from vts.testcases.template.gtest_binary_test import gtest_test_case
+
+class VtsHalWifiV1_0TestCase(gtest_test_case.GtestTestCase):
+    """A class to represent a WiFi HAL VTS test case.
+
+    Attributes:
+        _nan: boolean, whether WiFi NAN feature is supported on the device.
+    """
+
+    def __init__(self, nan, *args, **kwargs):
+        super(VtsHalWifiV1_0TestCase, self).__init__(*args, **kwargs)
+        self._nan = nan
+
+    # @Override
+    def GetRunCommand(self):
+        """Get the command to run the test. """
+        orig_cmds = super(VtsHalWifiV1_0TestCase,
+                          self).GetRunCommand(test_name=self.test_suite),
+        new_cmd = [('{cmd}{nan_on}').format(
+            cmd=orig_cmds[0][0], nan_on=" --nan_on" if self._nan else ""),
+            orig_cmds[0][1]]
+        return new_cmd
diff --git a/wifi/V1_0/host/__init__.py b/wifi/V1_0/host/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wifi/V1_0/host/__init__.py
diff --git a/wifi/V1_0/target/nan/AndroidTest.xml b/wifi/V1_0/target/nan/AndroidTest.xml
index 518e8b7..72ed40c 100644
--- a/wifi/V1_0/target/nan/AndroidTest.xml
+++ b/wifi/V1_0/target/nan/AndroidTest.xml
@@ -24,6 +24,8 @@
         <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiNanV1_0TargetTest/VtsHalWifiNanV1_0TargetTest" />
         <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiNanV1_0TargetTest/VtsHalWifiNanV1_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-feature" value="android.hardware.wifi.aware" />
         <option name="test-timeout" value="15m"/>
     </test>
diff --git a/tests/versioning/V1_0/Android.bp b/wifi/V1_1/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to wifi/V1_1/Android.bp
diff --git a/wifi/V1_1/build/Android.bp b/wifi/V1_1/build/Android.bp
new file mode 100644
index 0000000..a2bb596
--- /dev/null
+++ b/wifi/V1_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.wifi@1.1-vts.spec",
+    srcs: [
+        ":android.hardware.wifi@1.1_hal",
+    ],
+    out: [
+        "android/hardware/wifi/1.1/Wifi.vts",
+        "android/hardware/wifi/1.1/WifiChip.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.wifi@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.wifi@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/wifi/1.1/ $(genDir)/android/hardware/wifi/1.1/",
+    srcs: [
+        ":android.hardware.wifi@1.1_hal",
+    ],
+    out: [
+        "android/hardware/wifi/1.1/Wifi.vts.cpp",
+        "android/hardware/wifi/1.1/WifiChip.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.wifi@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.wifi@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/wifi/1.1/ $(genDir)/android/hardware/wifi/1.1/",
+    srcs: [
+        ":android.hardware.wifi@1.1_hal",
+    ],
+    out: [
+        "android/hardware/wifi/1.1/Wifi.vts.h",
+        "android/hardware/wifi/1.1/WifiChip.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.wifi@1.1-vts.driver",
+    generated_sources: ["android.hardware.wifi@1.1-vts.driver_genc++"],
+    generated_headers: ["android.hardware.wifi@1.1-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.wifi@1.1-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.wifi@1.1",
+        "android.hardware.wifi@1.0",
+        "android.hardware.wifi@1.0-vts.driver",
+    ],
+    export_shared_lib_headers: [
+        "android.hardware.wifi@1.0",
+        "android.hardware.wifi@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-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.wifi@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.wifi@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/wifi/1.1/ $(genDir)/android/hardware/wifi/1.1/",
+    srcs: [
+        ":android.hardware.wifi@1.1_hal",
+    ],
+    out: [
+        "android/hardware/wifi/1.1/Wifi.vts.cpp",
+        "android/hardware/wifi/1.1/WifiChip.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.wifi@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.wifi@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/wifi/1.1/ $(genDir)/android/hardware/wifi/1.1/",
+    srcs: [
+        ":android.hardware.wifi@1.1_hal",
+    ],
+    out: [
+        "android/hardware/wifi/1.1/Wifi.vts.h",
+        "android/hardware/wifi/1.1/WifiChip.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.wifi@1.1-vts.profiler",
+    generated_sources: ["android.hardware.wifi@1.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.wifi@1.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.wifi@1.1-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.wifi@1.1",
+        "android.hardware.wifi@1.0",
+        "android.hardware.wifi@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-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/wifi/V1_1/target/base/Android.mk
similarity index 88%
rename from wifi/V1_0/target/base/Android.mk
rename to wifi/V1_1/target/base/Android.mk
index c07841b..fe7cc16 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/wifi/V1_1/target/base/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalWifiV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_1/target/base
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/wifi/V1_1/target/base/AndroidTest.xml
similarity index 85%
rename from wifi/V1_0/target/base/AndroidTest.xml
rename to wifi/V1_1/target/base/AndroidTest.xml
index 1b25dc8..e16dd84 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/wifi/V1_1/target/base/AndroidTest.xml
@@ -13,20 +13,20 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalWifiV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalWifiV1_1Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiV1_1TargetTest/VtsHalWifiV1_1TargetTest" />
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiV1_1TargetTest/VtsHalWifiV1_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.wifi@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.wifi@1.1"/>
         <option name="test-timeout" value="15m"/>
         <option name="runtime-hint" value="5m"/>
     </test>
diff --git a/wifi/V1_0/target/base/Android.mk b/wifi/V1_1/target_profiling/base/Android.mk
similarity index 85%
copy from wifi/V1_0/target/base/Android.mk
copy to wifi/V1_1/target_profiling/base/Android.mk
index c07841b..07726c3 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/wifi/V1_1/target_profiling/base/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalWifiV1_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_1/target_profiling/base
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/wifi/V1_1/target_profiling/base/AndroidTest.xml
similarity index 65%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to wifi/V1_1/target_profiling/base/AndroidTest.xml
index 1b25dc8..b7824ec 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/wifi/V1_1/target_profiling/base/AndroidTest.xml
@@ -13,21 +13,24 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalWifiV1_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="HalHidlTargetTest.push"/>
+        <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="DATA/lib/android.hardware.wifi@1.1-vts.profiler.so->/data/local/tmp/32/android.hardware.wifi@1.1-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.wifi@1.1-vts.profiler.so->/data/local/tmp/64/android.hardware.wifi@1.1-vts.profiler.so"/>
     </target_preparer>
     <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
-        <option name="test-module-name" value="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalWifiV1_1TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiV1_1TargetTest/VtsHalWifiV1_1TargetTest" />
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiV1_1TargetTest/VtsHalWifiV1_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.wifi@1.0"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.wifi@1.1"/>
         <option name="test-timeout" value="15m"/>
-        <option name="runtime-hint" value="5m"/>
     </test>
 </configuration>
diff --git a/wifi/__init__.py b/wifi/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wifi/__init__.py
diff --git a/tests/versioning/V1_0/Android.bp b/wifi/offload/V1_0/Android.bp
similarity index 100%
copy from tests/versioning/V1_0/Android.bp
copy to wifi/offload/V1_0/Android.bp
diff --git a/wifi/offload/V1_0/build/Android.bp b/wifi/offload/V1_0/build/Android.bp
new file mode 100644
index 0000000..b5c12f4
--- /dev/null
+++ b/wifi/offload/V1_0/build/Android.bp
@@ -0,0 +1,147 @@
+// 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.wifi.offload@1.0-vts.spec",
+    srcs: [
+        ":android.hardware.wifi.offload@1.0_hal",
+    ],
+    out: [
+        "android/hardware/wifi/offload/1.0/Offload.vts",
+        "android/hardware/wifi/offload/1.0/OffloadCallback.vts",
+        "android/hardware/wifi/offload/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.wifi.offload@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.wifi.offload@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/wifi/offload/1.0/ $(genDir)/android/hardware/wifi/offload/1.0/",
+    srcs: [
+        ":android.hardware.wifi.offload@1.0_hal",
+    ],
+    out: [
+        "android/hardware/wifi/offload/1.0/Offload.vts.cpp",
+        "android/hardware/wifi/offload/1.0/OffloadCallback.vts.cpp",
+        "android/hardware/wifi/offload/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.wifi.offload@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.wifi.offload@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/wifi/offload/1.0/ $(genDir)/android/hardware/wifi/offload/1.0/",
+    srcs: [
+        ":android.hardware.wifi.offload@1.0_hal",
+    ],
+    out: [
+        "android/hardware/wifi/offload/1.0/Offload.vts.h",
+        "android/hardware/wifi/offload/1.0/OffloadCallback.vts.h",
+        "android/hardware/wifi/offload/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.wifi.offload@1.0-vts.driver",
+    generated_sources: ["android.hardware.wifi.offload@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.wifi.offload@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.wifi.offload@1.0-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.wifi.offload@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-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.wifi.offload@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.wifi.offload@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/wifi/offload/1.0/ $(genDir)/android/hardware/wifi/offload/1.0/",
+    srcs: [
+        ":android.hardware.wifi.offload@1.0_hal",
+    ],
+    out: [
+        "android/hardware/wifi/offload/1.0/Offload.vts.cpp",
+        "android/hardware/wifi/offload/1.0/OffloadCallback.vts.cpp",
+        "android/hardware/wifi/offload/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.wifi.offload@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.wifi.offload@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/wifi/offload/1.0/ $(genDir)/android/hardware/wifi/offload/1.0/",
+    srcs: [
+        ":android.hardware.wifi.offload@1.0_hal",
+    ],
+    out: [
+        "android/hardware/wifi/offload/1.0/Offload.vts.h",
+        "android/hardware/wifi/offload/1.0/OffloadCallback.vts.h",
+        "android/hardware/wifi/offload/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.wifi.offload@1.0-vts.profiler",
+    generated_sources: ["android.hardware.wifi.offload@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.wifi.offload@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.wifi.offload@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.wifi.offload@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-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/wifi/V1_0/target/base/Android.mk b/wifi/offload/V1_0/target/Android.mk
similarity index 86%
copy from wifi/V1_0/target/base/Android.mk
copy to wifi/offload/V1_0/target/Android.mk
index c07841b..b53ece1 100644
--- a/wifi/V1_0/target/base/Android.mk
+++ b/wifi/offload/V1_0/target/Android.mk
@@ -18,6 +18,6 @@
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := VtsHalWifiV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/base
+LOCAL_MODULE := VtsHalWifiOffloadV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/wifi/offload/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target/base/AndroidTest.xml b/wifi/offload/V1_0/target/AndroidTest.xml
similarity index 79%
copy from wifi/V1_0/target/base/AndroidTest.xml
copy to wifi/offload/V1_0/target/AndroidTest.xml
index 1b25dc8..7932da0 100644
--- a/wifi/V1_0/target/base/AndroidTest.xml
+++ b/wifi/offload/V1_0/target/AndroidTest.xml
@@ -13,21 +13,20 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<configuration description="Config for VTS VtsHalWifiV1_0Target test cases">
+<configuration description="Config for VTS VtsHalWifiOffloadV1_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="VtsHalWifiV1_0Target"/>
-        <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="test-module-name" value="VtsHalWifiOffloadV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiOffloadV1_0TargetTest/VtsHalWifiOffloadV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiOffloadV1_0TargetTest/VtsHalWifiOffloadV1_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="15m"/>
-        <option name="runtime-hint" value="5m"/>
+        <option name="precondition-lshal" value="android.hardware.wifi.offload@1.0"/>
+        <option name="test-timeout" value="1m"/>
     </test>
 </configuration>
diff --git a/wifi/supplicant/V1_0/build/Android.bp b/wifi/supplicant/V1_0/build/Android.bp
index 169634a..115cf55 100644
--- a/wifi/supplicant/V1_0/build/Android.bp
+++ b/wifi/supplicant/V1_0/build/Android.bp
@@ -79,24 +79,38 @@
     generated_headers: ["android.hardware.wifi.supplicant@1.0-vts.driver_genc++_headers"],
     export_generated_headers: ["android.hardware.wifi.supplicant@1.0-vts.driver_genc++_headers"],
     shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
         "libhwbinder",
         "liblog",
+        "libprotobuf-cpp-full",
         "libutils",
-        "libcutils",
         "libvts_common",
         "libvts_datatype",
         "libvts_drivercomm",
         "libvts_measurement",
         "libvts_multidevice_proto",
-        "libcamera_metadata",
-        "libprotobuf-cpp-full",
+        "android.hidl.allocator@1.0",
         "android.hardware.wifi.supplicant@1.0",
-        "android.hidl.base@1.0",
+        
     ],
     export_shared_lib_headers: [
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }
 
@@ -156,13 +170,28 @@
     export_generated_headers: ["android.hardware.wifi.supplicant@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
+        "libcutils",
+        "libfmq",
         "libhidlbase",
         "libhidltransport",
+        "libvts_common",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.wifi.supplicant@1.0",
-        "android.hidl.base@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-implicitly-unsigned-literal",
     ],
 }