Disable GNSS GetLocationLowPower VTS test am: 9c37dc1a65
am: 8a185457cc

Change-Id: Ie6015527d27ca2fba09f3eaecbde968f12d36624
diff --git a/Android.bp b/Android.bp
index 82a982f..1ec2e46 100644
--- a/Android.bp
+++ b/Android.bp
@@ -37,9 +37,11 @@
     defaults: ["VtsHalLibDefaults"],
     shared_libs: [
         "libfmq",
+        "libhidlmemory",
         "libvts_profiling",
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
+        "android.hidl.memory@1.0",
     ],
     // Userdebug only, should not be used to build modules contained in a user build device image.
     multilib: {
diff --git a/audio/V2_0/target/Android.mk b/audio/V2_0/target/Android.mk
index 9a02d84..7e60e6a 100644
--- a/audio/V2_0/target/Android.mk
+++ b/audio/V2_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalAudioV2_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/audio/V2_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/V2_0/target/AndroidTest.xml b/audio/V2_0/target/AndroidTest.xml
index c14a7b5..0899fad 100644
--- a/audio/V2_0/target/AndroidTest.xml
+++ b/audio/V2_0/target/AndroidTest.xml
@@ -31,6 +31,7 @@
         <option name="exclude-coverage-path" value="hardware/qcom/audio/post_proc" />
         <option name="exclude-coverage-path" value="hardware/qcom/audio/visualizer" />
         <option name="exclude-coverage-path" value="hardware/qcom/audio/voice_processing/" />
+        <option name="precondition-lshal" value="android.hardware.audio@2.0"/>
         <option name="test-timeout" value="30m"/>
         <option name="gtest-batch-mode" value="true"/>
     </test>
diff --git a/audio/V2_0/target_profiling/Android.mk b/audio/V2_0/target_profiling/Android.mk
index f1e7176..24a705d 100644
--- a/audio/V2_0/target_profiling/Android.mk
+++ b/audio/V2_0/target_profiling/Android.mk
@@ -19,6 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalAudioV2_0TargetProfiling
-
-VTS_CONFIG_SRC_DIR := testcases/hal/audio/V2_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/V2_0/target_profiling/AndroidTest.xml b/audio/V2_0/target_profiling/AndroidTest.xml
index c1ee846..a2f9e50 100644
--- a/audio/V2_0/target_profiling/AndroidTest.xml
+++ b/audio/V2_0/target_profiling/AndroidTest.xml
@@ -37,6 +37,7 @@
         <option name="exclude-coverage-path" value="hardware/qcom/audio/post_proc" />
         <option name="exclude-coverage-path" value="hardware/qcom/audio/visualizer" />
         <option name="exclude-coverage-path" value="hardware/qcom/audio/voice_processing/" />
+        <option name="precondition-lshal" value="android.hardware.audio@2.0"/>
         <option name="test-timeout" value="60m"/>
         <option name="gtest-batch-mode" value="true"/>
     </test>
diff --git a/audio/effect/V2_0/target/Android.mk b/audio/effect/V2_0/target/Android.mk
index d67ad68..d80c79a 100644
--- a/audio/effect/V2_0/target/Android.mk
+++ b/audio/effect/V2_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalAudioEffectV2_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/audio/effect/V2_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/effect/V2_0/target_profiling/Android.mk b/audio/effect/V2_0/target_profiling/Android.mk
index 7611426..5e3ba87 100644
--- a/audio/effect/V2_0/target_profiling/Android.mk
+++ b/audio/effect/V2_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalAudioEffectV2_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/audio/effect/V2_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/effect/V2_0/target_replay/Android.mk b/audio/effect/V2_0/target_replay/Android.mk
index 9bbfa23..1a5c508 100644
--- a/audio/effect/V2_0/target_replay/Android.mk
+++ b/audio/effect/V2_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalAudioEffectV2_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/audio/effect/V2_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/authsecret/V1_0/target/AndroidTest.xml b/authsecret/V1_0/target/AndroidTest.xml
index 94bc442..80f991a 100644
--- a/authsecret/V1_0/target/AndroidTest.xml
+++ b/authsecret/V1_0/target/AndroidTest.xml
@@ -27,6 +27,7 @@
         <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.authsecret@1.0"/>
         <option name="test-timeout" value="1m"/>
     </test>
 </configuration>
diff --git a/automotive/evs/V1_0/target/Android.mk b/automotive/evs/V1_0/target/Android.mk
index b511a08..af47e56 100644
--- a/automotive/evs/V1_0/target/Android.mk
+++ b/automotive/evs/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalEvsV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/evs/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/evs/V1_0/target_profiling/Android.mk b/automotive/evs/V1_0/target_profiling/Android.mk
index 9070902..765fe39 100644
--- a/automotive/evs/V1_0/target_profiling/Android.mk
+++ b/automotive/evs/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalEvsV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/evs/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/vehicle/V2_0/host/Android.mk b/automotive/vehicle/V2_0/host/Android.mk
index aa38340..5320921 100644
--- a/automotive/vehicle/V2_0/host/Android.mk
+++ b/automotive/vehicle/V2_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalAutomotiveVehicleV2_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/vehicle/V2_0/host_profiling/Android.mk b/automotive/vehicle/V2_0/host_profiling/Android.mk
index f4099a4..55fa746 100644
--- a/automotive/vehicle/V2_0/host_profiling/Android.mk
+++ b/automotive/vehicle/V2_0/host_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalAutomotiveVehicleV2_0HostProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/automotive/vehicle/V2_0/host_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/biometrics/fingerprint/V2_1/target/Android.mk b/biometrics/fingerprint/V2_1/target/Android.mk
index 07a6a75..8cad9cf 100644
--- a/biometrics/fingerprint/V2_1/target/Android.mk
+++ b/biometrics/fingerprint/V2_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBiometricsFingerprintV2_1Target
-VTS_CONFIG_SRC_DIR := testcases/hal/biometrics/fingerprint/V2_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/biometrics/fingerprint/V2_1/target_profiling/Android.mk b/biometrics/fingerprint/V2_1/target_profiling/Android.mk
index 70ab2a2..52e9ac7 100644
--- a/biometrics/fingerprint/V2_1/target_profiling/Android.mk
+++ b/biometrics/fingerprint/V2_1/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBiometricsFingerprintV2_1TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/biometrics/fingerprint/V2_1/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/biometrics/fingerprint/V2_1/target_replay/Android.mk b/biometrics/fingerprint/V2_1/target_replay/Android.mk
index 1743005..34e1c7d 100644
--- a/biometrics/fingerprint/V2_1/target_replay/Android.mk
+++ b/biometrics/fingerprint/V2_1/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBiometricsFingerprintV2_1TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/biometrics/fingerprint/V2_1/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/bluetooth/V1_0/target/Android.mk b/bluetooth/V1_0/target/Android.mk
index 1bd05ba..2d97b19 100644
--- a/bluetooth/V1_0/target/Android.mk
+++ b/bluetooth/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBluetoothV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/bluetooth/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/bluetooth/V1_0/target_profiling/Android.mk b/bluetooth/V1_0/target_profiling/Android.mk
index e4c4c9c..0f2893a 100644
--- a/bluetooth/V1_0/target_profiling/Android.mk
+++ b/bluetooth/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBluetoothV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/bluetooth/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/bluetooth/V1_0/target_replay/Android.mk b/bluetooth/V1_0/target_replay/Android.mk
index e44a943..7745d8a 100644
--- a/bluetooth/V1_0/target_replay/Android.mk
+++ b/bluetooth/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBluetoothV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/bluetooth/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/boot/V1_0/target/Android.mk b/boot/V1_0/target/Android.mk
index 6cd564a..0b0a58f 100644
--- a/boot/V1_0/target/Android.mk
+++ b/boot/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBootV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/boot/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/boot/V1_0/target_profiling/Android.mk b/boot/V1_0/target_profiling/Android.mk
index 2df23cb..87e7950 100644
--- a/boot/V1_0/target_profiling/Android.mk
+++ b/boot/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBootV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/boot/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_0/target/Android.mk b/broadcastradio/V1_0/target/Android.mk
index 8c20147..4139218 100644
--- a/broadcastradio/V1_0/target/Android.mk
+++ b/broadcastradio/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBroadcastradioV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_0/target/AndroidTest.xml b/broadcastradio/V1_0/target/AndroidTest.xml
index 7b24b5f..1042472 100644
--- a/broadcastradio/V1_0/target/AndroidTest.xml
+++ b/broadcastradio/V1_0/target/AndroidTest.xml
@@ -15,7 +15,6 @@
 -->
 <configuration description="Config for VTS VtsHalBroadcastradioV1_0Target test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
-    <option name="config-descriptor:metadata" key="plan" value="vts-hal" />
     <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"/>
diff --git a/broadcastradio/V1_0/target_profiling/Android.mk b/broadcastradio/V1_0/target_profiling/Android.mk
index ba55aaf..64cd088 100644
--- a/broadcastradio/V1_0/target_profiling/Android.mk
+++ b/broadcastradio/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBroadcastradioV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_1/target/Android.mk b/broadcastradio/V1_1/target/Android.mk
index 7ec9a3c..5d60809 100644
--- a/broadcastradio/V1_1/target/Android.mk
+++ b/broadcastradio/V1_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBroadcastradioV1_1Target
-VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_1/target_profiling/Android.mk b/broadcastradio/V1_1/target_profiling/Android.mk
index a4ee112..889d99d 100644
--- a/broadcastradio/V1_1/target_profiling/Android.mk
+++ b/broadcastradio/V1_1/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalBroadcastradioV1_1TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_1/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/camera/provider/V2_4/target/Android.mk b/camera/provider/V2_4/target/Android.mk
index a179da3..7eac592 100644
--- a/camera/provider/V2_4/target/Android.mk
+++ b/camera/provider/V2_4/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalCameraProviderV2_4Target
-VTS_CONFIG_SRC_DIR := testcases/hal/camera/provider/V2_4/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/camera/provider/V2_4/target_profiling/Android.mk b/camera/provider/V2_4/target_profiling/Android.mk
index 16f080e..4420439 100644
--- a/camera/provider/V2_4/target_profiling/Android.mk
+++ b/camera/provider/V2_4/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalCameraProviderV2_4TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/camera/provider/V2_4/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/cas/V1_0/target/Android.mk b/cas/V1_0/target/Android.mk
index 72836ba..04a5832 100644
--- a/cas/V1_0/target/Android.mk
+++ b/cas/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalCasV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/cas/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_0/target/Android.mk b/configstore/V1_0/target/Android.mk
index 7b6dbce..c9641d5 100644
--- a/configstore/V1_0/target/Android.mk
+++ b/configstore/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalConfigstoreV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_0/target_profiling/Android.mk b/configstore/V1_0/target_profiling/Android.mk
index e9f8597..fe39bd8 100644
--- a/configstore/V1_0/target_profiling/Android.mk
+++ b/configstore/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalConfigstoreV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_0/target_replay/Android.mk b/configstore/V1_0/target_replay/Android.mk
index 2132348..961f36f 100644
--- a/configstore/V1_0/target_replay/Android.mk
+++ b/configstore/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalConfigstoreV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/host/Android.mk b/contexthub/V1_0/host/Android.mk
index 6c60251..ba9d822 100644
--- a/contexthub/V1_0/host/Android.mk
+++ b/contexthub/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalContexthubV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/host/AndroidTest.xml b/contexthub/V1_0/host/AndroidTest.xml
index 9d4f08a..fd73afd 100644
--- a/contexthub/V1_0/host/AndroidTest.xml
+++ b/contexthub/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS VtsHalContexthubV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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"/>
diff --git a/contexthub/V1_0/target/Android.mk b/contexthub/V1_0/target/Android.mk
index 5e7d7a9..8738e85 100644
--- a/contexthub/V1_0/target/Android.mk
+++ b/contexthub/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalContexthubV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/target_profiling/Android.mk b/contexthub/V1_0/target_profiling/Android.mk
index 40ebb6c..d7472fc 100644
--- a/contexthub/V1_0/target_profiling/Android.mk
+++ b/contexthub/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalContexthubV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/V1_0/target_replay/Android.mk b/contexthub/V1_0/target_replay/Android.mk
index d935d2b..4b79935 100644
--- a/contexthub/V1_0/target_replay/Android.mk
+++ b/contexthub/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalContexthubV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/drm/V1_0/target/Android.mk b/drm/V1_0/target/Android.mk
index 22d31f1..669fedc 100644
--- a/drm/V1_0/target/Android.mk
+++ b/drm/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalDrmV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/drm/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/drm/V1_0/target_profiling/Android.mk b/drm/V1_0/target_profiling/Android.mk
index 609e3ec..f5352bb 100644
--- a/drm/V1_0/target_profiling/Android.mk
+++ b/drm/V1_0/target_profiling/Android.mk
@@ -21,6 +21,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalDrmV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/drm/V1_0/target_profiling
-
 include test/vts/tools/build/Android.host_config.mk
diff --git a/drm/V1_1/target/AndroidTest.xml b/drm/V1_1/target/AndroidTest.xml
index e35980d..9092108 100644
--- a/drm/V1_1/target/AndroidTest.xml
+++ b/drm/V1_1/target/AndroidTest.xml
@@ -27,6 +27,7 @@
         <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDrmV1_1TargetTest/VtsHalDrmV1_1TargetTest"/>
         <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDrmV1_1TargetTest/VtsHalDrmV1_1TargetTest"/>
         <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="precondition-lshal" value="android.hardware.drm@1.1"/>
         <option name="test-timeout" value="15m"/>
     </test>
 </configuration>
diff --git a/drm/V1_1/target_profiling/AndroidTest.xml b/drm/V1_1/target_profiling/AndroidTest.xml
index dda5a49..4094859 100644
--- a/drm/V1_1/target_profiling/AndroidTest.xml
+++ b/drm/V1_1/target_profiling/AndroidTest.xml
@@ -31,6 +31,7 @@
         <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDrmV1_1TargetTest/VtsHalDrmV1_1TargetTest"/>
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.drm@1.1"/>
         <option name="test-timeout" value="15m"/>
     </test>
 </configuration>
diff --git a/dumpstate/V1_0/target/Android.mk b/dumpstate/V1_0/target/Android.mk
index 04ea176..56ac84d 100644
--- a/dumpstate/V1_0/target/Android.mk
+++ b/dumpstate/V1_0/target/Android.mk
@@ -19,6 +19,5 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalDumpstateV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/dumpstate/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
 
diff --git a/gatekeeper/V1_0/target/Android.mk b/gatekeeper/V1_0/target/Android.mk
index ff457e6..c16419c 100644
--- a/gatekeeper/V1_0/target/Android.mk
+++ b/gatekeeper/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGatekeeperV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/V1_0/target_profiling/Android.mk b/gatekeeper/V1_0/target_profiling/Android.mk
index 603a4c1..fabf05b 100644
--- a/gatekeeper/V1_0/target_profiling/Android.mk
+++ b/gatekeeper/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGatekeeperV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/V1_0/target_replay/Android.mk b/gatekeeper/V1_0/target_replay/Android.mk
index d53e149..54ba536 100644
--- a/gatekeeper/V1_0/target_replay/Android.mk
+++ b/gatekeeper/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGatekeeperV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/gnss/V1_0/host/binderize/Android.mk b/gnss/V1_0/host/binderize/Android.mk
index bbdbd75..2ba2e79 100644
--- a/gnss/V1_0/host/binderize/Android.mk
+++ b/gnss/V1_0/host/binderize/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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
index 3e68b03..93d51f2 100644
--- a/gnss/V1_0/host/binderize/AndroidTest.xml
+++ b/gnss/V1_0/host/binderize/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS HAL gnss Provider (Binder Mode) test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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" />
diff --git a/gnss/V1_0/target/Android.mk b/gnss/V1_0/target/Android.mk
index 7a60e2c..5a30e90 100644
--- a/gnss/V1_0/target/Android.mk
+++ b/gnss/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGnssV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/gnss/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/gnss/V1_0/target_profiling/Android.mk b/gnss/V1_0/target_profiling/Android.mk
index bb14b55..1cf2d1b 100644
--- a/gnss/V1_0/target_profiling/Android.mk
+++ b/gnss/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGnssV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/gnss/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/gnss/V1_1/target/AndroidTest.xml b/gnss/V1_1/target/AndroidTest.xml
index 9b262ca..f84248b 100644
--- a/gnss/V1_1/target/AndroidTest.xml
+++ b/gnss/V1_1/target/AndroidTest.xml
@@ -27,6 +27,7 @@
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.gnss@1.1"/>
         <option name="test-timeout" value="15m"/>
         <!-- TODO(b/113276383): re-enable GetLocationLowPower when b/112611179 is fixed. -->
         <option name="exclude-filter" value="GnssHalTest.GetLocationLowPower" />
diff --git a/graphics/composer/V2_1/target/Android.mk b/graphics/composer/V2_1/target/Android.mk
index 5c3cd0b..3349682 100644
--- a/graphics/composer/V2_1/target/Android.mk
+++ b/graphics/composer/V2_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGraphicsComposerV2_1Target
-VTS_CONFIG_SRC_DIR := testcases/hal/graphics/composer/V2_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/composer/V2_1/target_profiling/Android.mk b/graphics/composer/V2_1/target_profiling/Android.mk
index 2178f89..545a560 100644
--- a/graphics/composer/V2_1/target_profiling/Android.mk
+++ b/graphics/composer/V2_1/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGraphicsComposerV2_1TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/graphics/composer/V2_1/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/composer/V2_2/target/AndroidTest.xml b/graphics/composer/V2_2/target/AndroidTest.xml
index 82d9d06..f273af3 100644
--- a/graphics/composer/V2_2/target/AndroidTest.xml
+++ b/graphics/composer/V2_2/target/AndroidTest.xml
@@ -27,6 +27,7 @@
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.graphics.composer@2.2"/>
         <option name="test-timeout" value="1m"/>
     </test>
 </configuration>
diff --git a/graphics/mapper/V2_0/target/Android.mk b/graphics/mapper/V2_0/target/Android.mk
index 5bb66f0..9fd8d65 100644
--- a/graphics/mapper/V2_0/target/Android.mk
+++ b/graphics/mapper/V2_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGraphicsMapperV2_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/graphics/mapper/V2_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/mapper/V2_0/target_profiling/Android.mk b/graphics/mapper/V2_0/target_profiling/Android.mk
index e8edcff..3aa3a94 100644
--- a/graphics/mapper/V2_0/target_profiling/Android.mk
+++ b/graphics/mapper/V2_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalGraphicsMapperV2_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/graphics/mapper/V2_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/mapper/V2_1/target/AndroidTest.xml b/graphics/mapper/V2_1/target/AndroidTest.xml
index fe08332..2e9d11e 100644
--- a/graphics/mapper/V2_1/target/AndroidTest.xml
+++ b/graphics/mapper/V2_1/target/AndroidTest.xml
@@ -29,6 +29,7 @@
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.graphics.mapper@2.1"/>
         <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/graphics/mapper/V2_1/target_profiling/AndroidTest.xml b/graphics/mapper/V2_1/target_profiling/AndroidTest.xml
index c192993..016c91c 100644
--- a/graphics/mapper/V2_1/target_profiling/AndroidTest.xml
+++ b/graphics/mapper/V2_1/target_profiling/AndroidTest.xml
@@ -37,6 +37,7 @@
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
         <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.graphics.mapper@2.1"/>
         <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/health/V1_0/target/Android.mk b/health/V1_0/target/Android.mk
index 1c42abd..f97bea2 100644
--- a/health/V1_0/target/Android.mk
+++ b/health/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalHealthV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/health/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/health/V1_0/target_profiling/Android.mk b/health/V1_0/target_profiling/Android.mk
index 20ceeee..0ce3f96 100644
--- a/health/V1_0/target_profiling/Android.mk
+++ b/health/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalHealthV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/health/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/health/V2_0/target/AndroidTest.xml b/health/V2_0/target/AndroidTest.xml
index c4b8d5f..da96a9e 100644
--- a/health/V2_0/target/AndroidTest.xml
+++ b/health/V2_0/target/AndroidTest.xml
@@ -27,6 +27,7 @@
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.health@2.0"/>
         <option name="test-timeout" value="1m"/>
     </test>
 </configuration>
diff --git a/ir/V1_0/target/Android.mk b/ir/V1_0/target/Android.mk
index bd1a082..1ac9098 100644
--- a/ir/V1_0/target/Android.mk
+++ b/ir/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalIrV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/ir/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/ir/V1_0/target_profiling/Android.mk b/ir/V1_0/target_profiling/Android.mk
index 8c16ab2..b3147cd 100644
--- a/ir/V1_0/target_profiling/Android.mk
+++ b/ir/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalIrV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/ir/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/keymaster/V3_0/target/Android.mk b/keymaster/V3_0/target/Android.mk
index 2457aec..3955d2a 100644
--- a/keymaster/V3_0/target/Android.mk
+++ b/keymaster/V3_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalKeymasterV3_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/keymaster/V3_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/keymaster/V3_0/target_profiling/Android.mk b/keymaster/V3_0/target_profiling/Android.mk
index f010639..0a88365 100644
--- a/keymaster/V3_0/target_profiling/Android.mk
+++ b/keymaster/V3_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalKeymasterV3_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/keymaster/V3_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/keymaster/V3_0/target_replay/Android.mk b/keymaster/V3_0/target_replay/Android.mk
index daed556..fbca711 100644
--- a/keymaster/V3_0/target_replay/Android.mk
+++ b/keymaster/V3_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalKeymasterV3_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/keymaster/V3_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/light/V2_0/target/Android.mk b/light/V2_0/target/Android.mk
index a9b93e8..ab6bd15 100644
--- a/light/V2_0/target/Android.mk
+++ b/light/V2_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalLightV2_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/light/V2_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/light/V2_0/target_profiling/Android.mk b/light/V2_0/target_profiling/Android.mk
index 31bf8c7..b23b20a 100644
--- a/light/V2_0/target_profiling/Android.mk
+++ b/light/V2_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalLightV2_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/light/V2_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/light/V2_0/target_replay/Android.mk b/light/V2_0/target_replay/Android.mk
index a92b553..f2dd2ce 100644
--- a/light/V2_0/target_replay/Android.mk
+++ b/light/V2_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalLightV2_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/light/V2_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/media/omx/V1_0/host/Android.mk b/media/omx/V1_0/host/Android.mk
index 6244a05..3a2de59 100644
--- a/media/omx/V1_0/host/Android.mk
+++ b/media/omx/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalMediaOmxV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/media/omx/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/media/omx/V1_0/host/AndroidTest.xml b/media/omx/V1_0/host/AndroidTest.xml
index 3e82fed..297ccd6 100644
--- a/media/omx/V1_0/host/AndroidTest.xml
+++ b/media/omx/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS VtsHalMediaOmxV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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"/>
diff --git a/media/omx/V1_0/host_omxstore/Android.mk b/media/omx/V1_0/host_omxstore/Android.mk
index 7f178b2..b24c794 100644
--- a/media/omx/V1_0/host_omxstore/Android.mk
+++ b/media/omx/V1_0/host_omxstore/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalMediaOmxStoreV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/media/omx/V1_0/host_omxstore
 include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/V1_0/target/Android.mk b/memtrack/V1_0/target/Android.mk
index 7469bcf..9f6001f 100644
--- a/memtrack/V1_0/target/Android.mk
+++ b/memtrack/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalMemtrackV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/V1_0/target_profiling/Android.mk b/memtrack/V1_0/target_profiling/Android.mk
index 9e3c1d6..1532cf1 100644
--- a/memtrack/V1_0/target_profiling/Android.mk
+++ b/memtrack/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalMemtrackV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/V1_0/target_replay/Android.mk b/memtrack/V1_0/target_replay/Android.mk
index fba0bca..ee233e5 100644
--- a/memtrack/V1_0/target_replay/Android.mk
+++ b/memtrack/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalMemtrackV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/neuralnetworks/V1_0/target/Android.mk b/neuralnetworks/V1_0/target/Android.mk
index 521fc01..eb11d00 100644
--- a/neuralnetworks/V1_0/target/Android.mk
+++ b/neuralnetworks/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNeuralnetworksV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/neuralnetworks/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/neuralnetworks/V1_0/target_profiling/Android.mk b/neuralnetworks/V1_0/target_profiling/Android.mk
index 37d2011..c953ec4 100644
--- a/neuralnetworks/V1_0/target_profiling/Android.mk
+++ b/neuralnetworks/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNeuralnetworksV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/neuralnetworks/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_0/host/binderize/Android.mk b/nfc/V1_0/host/binderize/Android.mk
index 25fce74..ead4fb3 100644
--- a/nfc/V1_0/host/binderize/Android.mk
+++ b/nfc/V1_0/host/binderize/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_0HostBinderize
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_0/host/binderize
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_0/host/binderize/AndroidTest.xml b/nfc/V1_0/host/binderize/AndroidTest.xml
index 430c3b2..5332f93 100644
--- a/nfc/V1_0/host/binderize/AndroidTest.xml
+++ b/nfc/V1_0/host/binderize/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS HAL NFC (Binder Mode) test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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" />
diff --git a/nfc/V1_0/host/passthrough/Android.mk b/nfc/V1_0/host/passthrough/Android.mk
index b8f330f..b07edfc 100644
--- a/nfc/V1_0/host/passthrough/Android.mk
+++ b/nfc/V1_0/host/passthrough/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_0HostPassthrough
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_0/host/passthrough
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_0/host/passthrough/AndroidTest.xml b/nfc/V1_0/host/passthrough/AndroidTest.xml
index b2d6b62..ad77818 100644
--- a/nfc/V1_0/host/passthrough/AndroidTest.xml
+++ b/nfc/V1_0/host/passthrough/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS HAL NFC (Passthrough) test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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" />
diff --git a/nfc/V1_0/host_profiling/Android.mk b/nfc/V1_0/host_profiling/Android.mk
index 1cdd983..51a18ae 100644
--- a/nfc/V1_0/host_profiling/Android.mk
+++ b/nfc/V1_0/host_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_0HostProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_0/host_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_0/target/Android.mk b/nfc/V1_0/target/Android.mk
index 52fd286..b50d1bc 100644
--- a/nfc/V1_0/target/Android.mk
+++ b/nfc/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_0/target_profiling/Android.mk b/nfc/V1_0/target_profiling/Android.mk
index 909f990..b8c03a1 100644
--- a/nfc/V1_0/target_profiling/Android.mk
+++ b/nfc/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_0/target_replay/Android.mk b/nfc/V1_0/target_replay/Android.mk
index 75a685c..547b51c 100644
--- a/nfc/V1_0/target_replay/Android.mk
+++ b/nfc/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_1/target/Android.mk b/nfc/V1_1/target/Android.mk
index 3a0a340..f6d78b0 100644
--- a/nfc/V1_1/target/Android.mk
+++ b/nfc/V1_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_1Target
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/V1_1/target_profiling/Android.mk b/nfc/V1_1/target_profiling/Android.mk
index bad3c63..b43ba71 100644
--- a/nfc/V1_1/target_profiling/Android.mk
+++ b/nfc/V1_1/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalNfcV1_1TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/V1_1/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/oemlock/V1_0/target/Android.mk b/oemlock/V1_0/target/Android.mk
index d66d3b5..797bb7b 100644
--- a/oemlock/V1_0/target/Android.mk
+++ b/oemlock/V1_0/target/Android.mk
@@ -19,6 +19,5 @@
 include $(CLEAR_VARS)
 
 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/oemlock/V1_0/target_profiling/Android.mk b/oemlock/V1_0/target_profiling/Android.mk
index b6163f8..d015b49 100644
--- a/oemlock/V1_0/target_profiling/Android.mk
+++ b/oemlock/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/power/V1_0/target/Android.mk b/power/V1_0/target/Android.mk
index 6057ecf..989d2b4 100644
--- a/power/V1_0/target/Android.mk
+++ b/power/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalPowerV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/power/V1_0/target_profiling/Android.mk b/power/V1_0/target_profiling/Android.mk
index c20df37..eda6514 100644
--- a/power/V1_0/target_profiling/Android.mk
+++ b/power/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalPowerV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/power/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/power/V1_0/target_replay/Android.mk b/power/V1_0/target_replay/Android.mk
index aac686a..6202ad0 100644
--- a/power/V1_0/target_replay/Android.mk
+++ b/power/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalPowerV1_0TargetReplay
-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_1/target/Android.mk b/power/V1_1/target/Android.mk
index c7f3216..3825282 100644
--- a/power/V1_1/target/Android.mk
+++ b/power/V1_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/power/V1_1/target_profiling/Android.mk b/power/V1_1/target_profiling/Android.mk
index a337e81..96eb874 100644
--- a/power/V1_1/target_profiling/Android.mk
+++ b/power/V1_1/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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_2/target/AndroidTest.xml b/power/V1_2/target/AndroidTest.xml
index fe17d0f..4ec3342 100644
--- a/power/V1_2/target/AndroidTest.xml
+++ b/power/V1_2/target/AndroidTest.xml
@@ -27,6 +27,7 @@
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.power@1.2"/>
         <option name="test-timeout" value="1m"/>
     </test>
 </configuration>
diff --git a/radio/V1_0/host/Android.mk b/radio/V1_0/host/Android.mk
index 353da11..0ad0bab 100644
--- a/radio/V1_0/host/Android.mk
+++ b/radio/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalRadioV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/V1_0/host/AndroidTest.xml b/radio/V1_0/host/AndroidTest.xml
index fd12d6c..d174b30 100644
--- a/radio/V1_0/host/AndroidTest.xml
+++ b/radio/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS VtsHalRadioV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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"/>
diff --git a/radio/V1_0/target/radio/Android.mk b/radio/V1_0/target/radio/Android.mk
index 29c1bff..639666b 100644
--- a/radio/V1_0/target/radio/Android.mk
+++ b/radio/V1_0/target/radio/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalRadioV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_0/target/radio
 include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/V1_0/target/sap/Android.mk b/radio/V1_0/target/sap/Android.mk
index 850187a..08a4ba9 100644
--- a/radio/V1_0/target/sap/Android.mk
+++ b/radio/V1_0/target/sap/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSapV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_0/target/sap
 include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/V1_0/target_profiling/radio/Android.mk b/radio/V1_0/target_profiling/radio/Android.mk
index 9925675..93894ad 100644
--- a/radio/V1_0/target_profiling/radio/Android.mk
+++ b/radio/V1_0/target_profiling/radio/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalRadioV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_0/target_profiling/radio
 include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/V1_0/target_profiling/sap/Android.mk b/radio/V1_0/target_profiling/sap/Android.mk
index 0d601f2..c354cea 100644
--- a/radio/V1_0/target_profiling/sap/Android.mk
+++ b/radio/V1_0/target_profiling/sap/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSapV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_0/target_profiling/sap
 include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/V1_1/target/radio/Android.mk b/radio/V1_1/target/radio/Android.mk
index bcc71d2..92670d2 100644
--- a/radio/V1_1/target/radio/Android.mk
+++ b/radio/V1_1/target/radio/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalRadioV1_1Target
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_1/target/radio
 include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/V1_2/target/radio/Android.mk b/radio/V1_2/target/radio/Android.mk
index 546b2e8..03bf318 100644
--- a/radio/V1_2/target/radio/Android.mk
+++ b/radio/V1_2/target/radio/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalRadioV1_2Target
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/V1_2/target/radio
 include test/vts/tools/build/Android.host_config.mk
diff --git a/renderscript/V1_0/target/Android.mk b/renderscript/V1_0/target/Android.mk
index 27cb87f..0016822 100644
--- a/renderscript/V1_0/target/Android.mk
+++ b/renderscript/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalRenderscriptV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/renderscript/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/renderscript/V1_0/target_profiling/Android.mk b/renderscript/V1_0/target_profiling/Android.mk
index fcf1e57..bcfac33 100644
--- a/renderscript/V1_0/target_profiling/Android.mk
+++ b/renderscript/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/secure_element/V1_0/target/Android.mk b/secure_element/V1_0/target/Android.mk
index 5f95e3c..2944e92 100644
--- a/secure_element/V1_0/target/Android.mk
+++ b/secure_element/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSecureElementV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/secure_element/config/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/secure_element/V1_0/target_profiling/Android.mk b/secure_element/V1_0/target_profiling/Android.mk
index ab8aef2..289ecd7 100644
--- a/secure_element/V1_0/target_profiling/Android.mk
+++ b/secure_element/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSecureElementV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/secure_element/config/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/host/Android.mk b/sensors/V1_0/host/Android.mk
index 55dc449..cfd7e03 100644
--- a/sensors/V1_0/host/Android.mk
+++ b/sensors/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSensorsV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/host/AndroidTest.xml b/sensors/V1_0/host/AndroidTest.xml
index 95e258a..04a06be 100644
--- a/sensors/V1_0/host/AndroidTest.xml
+++ b/sensors/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS VtsHalSensorsV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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"/>
diff --git a/sensors/V1_0/host_profiling/Android.mk b/sensors/V1_0/host_profiling/Android.mk
index 74fff3b..c965596 100644
--- a/sensors/V1_0/host_profiling/Android.mk
+++ b/sensors/V1_0/host_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSensorsV1_0HostProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/host_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/target/Android.mk b/sensors/V1_0/target/Android.mk
index 64bb97d..1e68b12 100644
--- a/sensors/V1_0/target/Android.mk
+++ b/sensors/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSensorsV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/V1_0/target_profiling/Android.mk b/sensors/V1_0/target_profiling/Android.mk
index a989354..24dc7b3 100644
--- a/sensors/V1_0/target_profiling/Android.mk
+++ b/sensors/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSensorsV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/soundtrigger/V2_0/target/Android.mk b/soundtrigger/V2_0/target/Android.mk
index 09e4d6e..e05dfc2 100644
--- a/soundtrigger/V2_0/target/Android.mk
+++ b/soundtrigger/V2_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSoundtriggerV2_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/soundtrigger/V2_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/soundtrigger/V2_0/target_profiling/Android.mk b/soundtrigger/V2_0/target_profiling/Android.mk
index 8b203c3..9563d0f 100644
--- a/soundtrigger/V2_0/target_profiling/Android.mk
+++ b/soundtrigger/V2_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalSoundtriggerV2_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/soundtrigger/V2_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/soundtrigger/V2_1/target/AndroidTest.xml b/soundtrigger/V2_1/target/AndroidTest.xml
index 80413a9..0b4e682 100644
--- a/soundtrigger/V2_1/target/AndroidTest.xml
+++ b/soundtrigger/V2_1/target/AndroidTest.xml
@@ -27,11 +27,7 @@
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
-        <option name="exclude-coverage-path" value="hardware/interfaces/audio/" />
-        <option name="exclude-coverage-path" value="hardware/libhardware/" />
-        <option name="exclude-coverage-path" value="hardware/qcom/audio/post_proc/" />
-        <option name="exclude-coverage-path" value="frameworks/av/media/libnbaio/" />
-        <option name="exclude-coverage-path" value="system/media/audio_utils/" />
+        <option name="precondition-lshal" value="android.hardware.soundtrigger@2.1"/>
         <option name="precondition-file-path-prefix" value="/*/lib/hw/sound_trigger.primary.*" />
         <option name="test-timeout" value="5m"/>
     </test>
diff --git a/soundtrigger/V2_1/target_profiling/AndroidTest.xml b/soundtrigger/V2_1/target_profiling/AndroidTest.xml
index 7d1687f..e01d354 100644
--- a/soundtrigger/V2_1/target_profiling/AndroidTest.xml
+++ b/soundtrigger/V2_1/target_profiling/AndroidTest.xml
@@ -35,11 +35,7 @@
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
         <option name="enable-profiling" value="true"/>
-        <option name="exclude-coverage-path" value="hardware/interfaces/audio/" />
-        <option name="exclude-coverage-path" value="hardware/libhardware/" />
-        <option name="exclude-coverage-path" value="hardware/qcom/audio/post_proc/" />
-        <option name="exclude-coverage-path" value="frameworks/av/media/libnbaio/" />
-        <option name="exclude-coverage-path" value="system/media/audio_utils/" />
+        <option name="precondition-lshal" value="android.hardware.soundtrigger@2.1"/>
         <option name="precondition-file-path-prefix" value="/*/lib/hw/sound_trigger.primary.*" />
         <option name="test-timeout" value="5m"/>
     </test>
diff --git a/tetheroffload/config/V1_0/target/Android.mk b/tetheroffload/config/V1_0/target/Android.mk
index c025bd9..a7be4d3 100644
--- a/tetheroffload/config/V1_0/target/Android.mk
+++ b/tetheroffload/config/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/tetheroffload/config/V1_0/target_profiling/Android.mk b/tetheroffload/config/V1_0/target_profiling/Android.mk
index ecb4cad..06ae5c1 100644
--- a/tetheroffload/config/V1_0/target_profiling/Android.mk
+++ b/tetheroffload/config/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/control/V1_0/target/Android.mk b/tetheroffload/control/V1_0/target/Android.mk
index b5b34ce..b3070a7 100644
--- a/tetheroffload/control/V1_0/target/Android.mk
+++ b/tetheroffload/control/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/tetheroffload/control/V1_0/target_profiling/Android.mk b/tetheroffload/control/V1_0/target_profiling/Android.mk
index 03ca4c3..4e58e15 100644
--- a/tetheroffload/control/V1_0/target_profiling/Android.mk
+++ b/tetheroffload/control/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/thermal/V1_0/target/Android.mk b/thermal/V1_0/target/Android.mk
index 0d260e3..31d0c03 100644
--- a/thermal/V1_0/target/Android.mk
+++ b/thermal/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalThermalV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target_profiling/Android.mk b/thermal/V1_0/target_profiling/Android.mk
index 3aebc82..132f7dd 100644
--- a/thermal/V1_0/target_profiling/Android.mk
+++ b/thermal/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalThermalV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target_replay/Android.mk b/thermal/V1_0/target_replay/Android.mk
index afe0919..c6413d6 100644
--- a/thermal/V1_0/target_replay/Android.mk
+++ b/thermal/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalThermalV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target_stress/Android.mk b/thermal/V1_0/target_stress/Android.mk
index 023cfa5..6130e34 100644
--- a/thermal/V1_0/target_stress/Android.mk
+++ b/thermal/V1_0/target_stress/Android.mk
@@ -21,5 +21,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := ThermalHidlTargetStressTest
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target_stress
 include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_1/target/Android.mk b/thermal/V1_1/target/Android.mk
index 1d209ea..ddfa252 100644
--- a/thermal/V1_1/target/Android.mk
+++ b/thermal/V1_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalThermalV1_1Target
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_1/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_1/target_profiling/Android.mk b/thermal/V1_1/target_profiling/Android.mk
index 29257c3..996e574 100644
--- a/thermal/V1_1/target_profiling/Android.mk
+++ b/thermal/V1_1/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalThermalV1_1TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_1/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/treble/platform_version/Android.mk b/treble/platform_version/Android.mk
index 7d1e096..8003142 100644
--- a/treble/platform_version/Android.mk
+++ b/treble/platform_version/Android.mk
@@ -21,5 +21,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsTreblePlatformVersionTest
-VTS_CONFIG_SRC_DIR := testcases/hal/treble/platform_version
 include test/vts/tools/build/Android.host_config.mk
diff --git a/treble/vintf/Android.bp b/treble/vintf/Android.bp
index 1357047..83dba52 100644
--- a/treble/vintf/Android.bp
+++ b/treble/vintf/Android.bp
@@ -62,6 +62,7 @@
     defaults: ["vts_treble_vintf_test_defaults"],
     srcs: [
         "DeviceManifestTest.cpp",
+        "DeviceMatrixTest.cpp",
         "SingleManifestTest.cpp",
     ],
 }
@@ -93,6 +94,7 @@
     defaults: ["vts_treble_vintf_test_defaults"],
     srcs: [
         "DeviceManifestTest.cpp",
+        "DeviceMatrixTest.cpp",
         "SingleManifestTest.cpp",
         "SystemVendorTest.cpp",
     ],
diff --git a/treble/vintf/DeviceMatrixTest.cpp b/treble/vintf/DeviceMatrixTest.cpp
new file mode 100644
index 0000000..86b4fd5
--- /dev/null
+++ b/treble/vintf/DeviceMatrixTest.cpp
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "DeviceMatrixTest.h"
+
+#include <android-base/properties.h>
+#include <vintf/VintfObject.h>
+
+using android::base::GetProperty;
+
+namespace android {
+namespace vintf {
+namespace testing {
+
+const string kVndkVersionProp{"ro.vndk.version"};
+
+void DeviceMatrixTest::SetUp() {
+  VtsTrebleVintfTestBase::SetUp();
+
+  vendor_matrix_ = VintfObject::GetDeviceCompatibilityMatrix();
+  ASSERT_NE(nullptr, vendor_matrix_)
+      << "Failed to get device compatibility matrix." << endl;
+}
+
+TEST_F(DeviceMatrixTest, VndkVersion) {
+  std::string syspropVndkVersion = GetProperty(kVndkVersionProp, "");
+  ASSERT_NE("", syspropVndkVersion)
+      << kVndkVersionProp << " must not be empty.";
+  std::string vintfVndkVersion = vendor_matrix_->getVendorNdkVersion();
+  ASSERT_NE("", vintfVndkVersion)
+      << "Device compatibility matrix does not declare proper VNDK version.";
+
+  EXPECT_EQ(syspropVndkVersion, vintfVndkVersion)
+      << "VNDK version does not match: " << kVndkVersionProp << "="
+      << syspropVndkVersion << ", device compatibility matrix requires "
+      << vintfVndkVersion << ".";
+}
+
+}  // namespace testing
+}  // namespace vintf
+}  // namespace android
diff --git a/treble/vintf/DeviceMatrixTest.h b/treble/vintf/DeviceMatrixTest.h
new file mode 100644
index 0000000..5942b77
--- /dev/null
+++ b/treble/vintf/DeviceMatrixTest.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#ifndef VTS_TREBLE_VINTF_TEST_DEVICE_MATRIX_TEST_H_
+#define VTS_TREBLE_VINTF_TEST_DEVICE_MATRIX_TEST_H_
+
+#include "VtsTrebleVintfTestBase.h"
+
+#include <gtest/gtest.h>
+
+namespace android {
+namespace vintf {
+namespace testing {
+
+// Test for device matrix only.
+
+class DeviceMatrixTest : public VtsTrebleVintfTestBase {
+ public:
+  virtual ~DeviceMatrixTest() {}
+  virtual void SetUp() override;
+
+  MatrixPtr vendor_matrix_;
+};
+
+}  // namespace testing
+}  // namespace vintf
+}  // namespace android
+
+#endif  // VTS_TREBLE_VINTF_TEST_DEVICE_MATRIX_TEST_H_
diff --git a/treble/vintf/SingleManifestTest.cpp b/treble/vintf/SingleManifestTest.cpp
index 4662d48..ecd5a81 100644
--- a/treble/vintf/SingleManifestTest.cpp
+++ b/treble/vintf/SingleManifestTest.cpp
@@ -32,7 +32,7 @@
 // For devices that launched <= Android O-MR1, systems/hals/implementations
 // were delivered to companies which either don't start up on device boot.
 bool LegacyAndExempt(const FQName &fq_name) {
-  return GetShippingApiLevel() <= 27 && !IsGoogleDefinedIface(fq_name);
+  return GetShippingApiLevel() <= 27 && !IsAndroidPlatformInterface(fq_name);
 }
 
 void FailureHalMissing(const FQName &fq_name) {
@@ -115,7 +115,7 @@
         // for both versions (mFoo1_1 != nullptr => you have 1.1)
         // and a 1.0 client still works with the 1.1 interface.
 
-        if (!IsGoogleDefinedIface(fq_name)) {
+        if (!IsAndroidPlatformInterface(fq_name)) {
           // This isn't the case for extensions of core Google interfaces.
           return;
         }
@@ -208,7 +208,7 @@
     // See HalsAreServed. These are always retrieved through the base interface
     // and if it is not a google defined interface, it must be an extension of
     // one.
-    if (!IsGoogleDefinedIface(fq_name)) return;
+    if (!IsAndroidPlatformInterface(fq_name)) return;
 
     const FQName lowest_name =
         fq_name.withVersion(fq_name.getPackageMajorVersion(), 0);
@@ -248,7 +248,7 @@
     // and if it is not a google defined interface, it must be an extension of
     // one.
     if (transport == Transport::PASSTHROUGH &&
-        (!IsGoogleDefinedIface(fq_name) ||
+        (!IsAndroidPlatformInterface(fq_name) ||
          fq_name.getPackageMinorVersion() != 0)) {
       return;
     }
@@ -286,7 +286,7 @@
         FailureHashMissing(fq_iface_name);
       }
 
-      if (IsGoogleDefinedIface(fq_iface_name)) {
+      if (IsAndroidPlatformInterface(fq_iface_name)) {
         set<string> released_hashes = ReleasedHashes(fq_iface_name);
         EXPECT_NE(released_hashes.find(hash), released_hashes.end())
             << "Hash not found. This interface was not released." << endl
diff --git a/treble/vintf/SystemVendorTest.cpp b/treble/vintf/SystemVendorTest.cpp
index 26e3eed..eebd4de 100644
--- a/treble/vintf/SystemVendorTest.cpp
+++ b/treble/vintf/SystemVendorTest.cpp
@@ -46,12 +46,12 @@
   // AVB version is not a compliance requirement.
   EXPECT_TRUE(VintfObject::GetRuntimeInfo()->checkCompatibility(
       *VintfObject::GetFrameworkCompatibilityMatrix(), &error,
-      ::android::vintf::DISABLE_AVB_CHECK))
+      ::android::vintf::CheckFlags::DISABLE_AVB_CHECK))
       << error;
 
   EXPECT_EQ(android::vintf::COMPATIBLE,
             VintfObject::CheckCompatibility(
-                {}, &error, ::android::vintf::DISABLE_AVB_CHECK))
+                {}, &error, ::android::vintf::CheckFlags::DISABLE_AVB_CHECK))
       << error;
 }
 
diff --git a/treble/vintf/utils.cpp b/treble/vintf/utils.cpp
index 59b3e5f..cb8839f 100644
--- a/treble/vintf/utils.cpp
+++ b/treble/vintf/utils.cpp
@@ -97,9 +97,9 @@
   return "";
 }
 
-// Returns true iff HAL interface is Google-defined.
-bool IsGoogleDefinedIface(const FQName &fq_iface_name) {
-  // Package roots are only known for Google-defined packages.
+// Returns true iff HAL interface is Android platform.
+bool IsAndroidPlatformInterface(const FQName &fq_iface_name) {
+  // Package roots are only known for Android platform packages.
   return !PackageRoot(fq_iface_name).empty();
 }
 
@@ -148,5 +148,4 @@
   }
   *os << to_string(v->type()) << " manifest";
 }
-void PrintTo(nullptr_t, ostream *os) { *os << "nullptr"; }
 }  // namespace std
diff --git a/treble/vintf/utils.h b/treble/vintf/utils.h
index 8c9c0db..cf8855c 100644
--- a/treble/vintf/utils.h
+++ b/treble/vintf/utils.h
@@ -64,6 +64,7 @@
                                        const string& instance_name, Transport)>;
 using HashCharArray = hidl_array<unsigned char, 32>;
 using HalManifestPtr = std::shared_ptr<const HalManifest>;
+using MatrixPtr = std::shared_ptr<const CompatibilityMatrix>;
 
 // Path to directory on target containing test data.
 extern const string kDataDir;
@@ -85,8 +86,8 @@
 // otherwise.
 const string PackageRoot(const FQName& fq_iface_name);
 
-// Returns true iff HAL interface is Google-defined.
-bool IsGoogleDefinedIface(const FQName& fq_iface_name);
+// Returns true iff HAL interface is Android platform.
+bool IsAndroidPlatformInterface(const FQName& fq_iface_name);
 
 // Returns the set of released hashes for a given HAL interface.
 set<string> ReleasedHashes(const FQName& fq_iface_name);
@@ -117,7 +118,6 @@
 // Allows GTest to print pointers with a human readable string.
 namespace std {
 void PrintTo(const android::vintf::testing::HalManifestPtr& v, ostream* os);
-void PrintTo(nullptr_t, ostream* os);
 template <typename T>
 void PrintTo(const T* v, ostream* os) {
   *os << android::hardware::details::toHexString<uintptr_t>(
diff --git a/treble/vintf/vts_treble_vintf_test_o_mr1.cpp b/treble/vintf/vts_treble_vintf_test_o_mr1.cpp
index 4ee7dd6..3ae3d0c 100644
--- a/treble/vintf/vts_treble_vintf_test_o_mr1.cpp
+++ b/treble/vintf/vts_treble_vintf_test_o_mr1.cpp
@@ -70,7 +70,7 @@
   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() ||
-         !IsGoogleDefinedIface(fq_iface_name);
+         !IsAndroidPlatformInterface(fq_iface_name);
 }
 
 class VtsTrebleVintfTest : public ::testing::Test {
@@ -230,7 +230,7 @@
       }
       string hash = hash_chain[i];
 
-      if (IsGoogleDefinedIface(fq_iface_name)) {
+      if (IsAndroidPlatformInterface(fq_iface_name)) {
         set<string> released_hashes = ReleasedHashes(fq_iface_name);
         EXPECT_NE(released_hashes.find(hash), released_hashes.end())
             << "Hash not found. This interface was not released." << endl
diff --git a/tv/cec/V1_0/host/Android.mk b/tv/cec/V1_0/host/Android.mk
index b992cd6..ecb5111 100644
--- a/tv/cec/V1_0/host/Android.mk
+++ b/tv/cec/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalTvCecV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/tv/cec/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/cec/V1_0/host_profiling/Android.mk b/tv/cec/V1_0/host_profiling/Android.mk
index 66c23ab..2a61a7e 100644
--- a/tv/cec/V1_0/host_profiling/Android.mk
+++ b/tv/cec/V1_0/host_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalTvCecV1_0HostProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/tv/cec/V1_0/host_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/host/Android.mk b/tv/input/V1_0/host/Android.mk
index d83909a..8cb5fdd 100644
--- a/tv/input/V1_0/host/Android.mk
+++ b/tv/input/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalTvInputV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/host_profiling/Android.mk b/tv/input/V1_0/host_profiling/Android.mk
index a4fd611..399f706 100644
--- a/tv/input/V1_0/host_profiling/Android.mk
+++ b/tv/input/V1_0/host_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalTvInputV1_0HostProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/host_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/target/Android.mk b/tv/input/V1_0/target/Android.mk
index 97ba1af..4d3396e 100644
--- a/tv/input/V1_0/target/Android.mk
+++ b/tv/input/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalTvInputV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/V1_0/target_profiling/Android.mk b/tv/input/V1_0/target_profiling/Android.mk
index dbba4e1..f187d59 100644
--- a/tv/input/V1_0/target_profiling/Android.mk
+++ b/tv/input/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalTvInputV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/tv/input/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/usb/V1_0/target/Android.mk b/usb/V1_0/target/Android.mk
index 31d2a85..2999b57 100644
--- a/usb/V1_0/target/Android.mk
+++ b/usb/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalUsbV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/usb/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/usb/V1_0/target_profiling/Android.mk b/usb/V1_0/target_profiling/Android.mk
index 6f35895..f9c1498 100644
--- a/usb/V1_0/target_profiling/Android.mk
+++ b/usb/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalUsbV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/usb/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/usb/V1_0/target_replay/Android.mk b/usb/V1_0/target_replay/Android.mk
index f73e6a8..0a77f50 100644
--- a/usb/V1_0/target_replay/Android.mk
+++ b/usb/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalUsbV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/usb/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/usb/V1_1/target/Android.mk b/usb/V1_1/target/Android.mk
index f7e4333..5b41c14 100644
--- a/usb/V1_1/target/Android.mk
+++ b/usb/V1_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/usb/gadget/V1_0/host/Android.mk b/usb/gadget/V1_0/host/Android.mk
index 669276d..a85e394 100644
--- a/usb/gadget/V1_0/host/Android.mk
+++ b/usb/gadget/V1_0/host/Android.mk
@@ -19,6 +19,5 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalUsbGadgetV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/usb/gadget/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
 
diff --git a/usb/gadget/V1_0/host/AndroidTest.xml b/usb/gadget/V1_0/host/AndroidTest.xml
index 9a9e3c4..6a7af1c 100644
--- a/usb/gadget/V1_0/host/AndroidTest.xml
+++ b/usb/gadget/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VtsHalUsbGadgetV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-default" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
         <option name="push-group" value="HostDrivenTest.push" />
     </target_preparer>
diff --git a/vibrator/V1_0/host/Android.mk b/vibrator/V1_0/host/Android.mk
index d7d253f..3e748cf 100644
--- a/vibrator/V1_0/host/Android.mk
+++ b/vibrator/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVibratorV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/host/AndroidTest.xml b/vibrator/V1_0/host/AndroidTest.xml
index 758a8ea..f8232fb 100644
--- a/vibrator/V1_0/host/AndroidTest.xml
+++ b/vibrator/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS VtsHalVibratorV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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"/>
diff --git a/vibrator/V1_0/host_profiling/Android.mk b/vibrator/V1_0/host_profiling/Android.mk
index cb5719a..641411d 100644
--- a/vibrator/V1_0/host_profiling/Android.mk
+++ b/vibrator/V1_0/host_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVibratorV1_0HostProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/host_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/target/Android.mk b/vibrator/V1_0/target/Android.mk
index 9ba8846..4f4ee12 100644
--- a/vibrator/V1_0/target/Android.mk
+++ b/vibrator/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVibratorV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/target_profiling/Android.mk b/vibrator/V1_0/target_profiling/Android.mk
index d6b67eb..376dfe6 100644
--- a/vibrator/V1_0/target_profiling/Android.mk
+++ b/vibrator/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVibratorV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/V1_0/target_replay/Android.mk b/vibrator/V1_0/target_replay/Android.mk
index dff0176..fc9be42 100644
--- a/vibrator/V1_0/target_replay/Android.mk
+++ b/vibrator/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVibratorV1_0TargetReplay
-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_1/target/Android.mk b/vibrator/V1_1/target/Android.mk
index a621f01..4133b76 100644
--- a/vibrator/V1_1/target/Android.mk
+++ b/vibrator/V1_1/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/vr/V1_0/host/Android.mk b/vr/V1_0/host/Android.mk
index bbb2e6c..6ab1655 100644
--- a/vr/V1_0/host/Android.mk
+++ b/vr/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVrV1_0Host
-VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/host
 include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/V1_0/host/AndroidTest.xml b/vr/V1_0/host/AndroidTest.xml
index 1525614..d0dee56 100644
--- a/vr/V1_0/host/AndroidTest.xml
+++ b/vr/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS VtsHalVrV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-staging-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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"/>
diff --git a/vr/V1_0/target/Android.mk b/vr/V1_0/target/Android.mk
index 0667055..5f1177d 100644
--- a/vr/V1_0/target/Android.mk
+++ b/vr/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVrV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/V1_0/target_profiling/Android.mk b/vr/V1_0/target_profiling/Android.mk
index e6c20c9..0df40e8 100644
--- a/vr/V1_0/target_profiling/Android.mk
+++ b/vr/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVrV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/V1_0/target_replay/Android.mk b/vr/V1_0/target_replay/Android.mk
index feed713..1ed5957 100644
--- a/vr/V1_0/target_replay/Android.mk
+++ b/vr/V1_0/target_replay/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalVrV1_0TargetReplay
-VTS_CONFIG_SRC_DIR := testcases/hal/vr/V1_0/target_replay
 include test/vts/tools/build/Android.host_config.mk
diff --git a/weaver/V1_0/target/Android.mk b/weaver/V1_0/target/Android.mk
index d43ddba..dc0a646 100644
--- a/weaver/V1_0/target/Android.mk
+++ b/weaver/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/weaver/V1_0/target_profiling/Android.mk b/weaver/V1_0/target_profiling/Android.mk
index 83cf51e..afbb063 100644
--- a/weaver/V1_0/target_profiling/Android.mk
+++ b/weaver/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/host/Android.mk b/wifi/V1_0/host/Android.mk
index aafaebb..1a6231b 100644
--- a/wifi/V1_0/host/Android.mk
+++ b/wifi/V1_0/host/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/host/AndroidTest.xml b/wifi/V1_0/host/AndroidTest.xml
index 3047266..81bf7a4 100644
--- a/wifi/V1_0/host/AndroidTest.xml
+++ b/wifi/V1_0/host/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Config for VTS VtsHalWifiV1_0Host test cases">
     <option name="config-descriptor:metadata" key="plan" value="vts-hal" />
+    <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
     <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"/>
diff --git a/wifi/V1_0/target/nan/Android.mk b/wifi/V1_0/target/nan/Android.mk
index c5567c5..65d4a85 100644
--- a/wifi/V1_0/target/nan/Android.mk
+++ b/wifi/V1_0/target/nan/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalWifiNanV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target/nan
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target_profiling/base/Android.mk b/wifi/V1_0/target_profiling/base/Android.mk
index 7b9cd9b..b73c9eb 100644
--- a/wifi/V1_0/target_profiling/base/Android.mk
+++ b/wifi/V1_0/target_profiling/base/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalWifiV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target_profiling/base
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_0/target_profiling/nan/Android.mk b/wifi/V1_0/target_profiling/nan/Android.mk
index 197fe86..d37ad72 100644
--- a/wifi/V1_0/target_profiling/nan/Android.mk
+++ b/wifi/V1_0/target_profiling/nan/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalWifiNanV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/V1_0/target_profiling/nan
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/V1_1/target/base/Android.mk b/wifi/V1_1/target/base/Android.mk
index fe7cc16..0a75238 100644
--- a/wifi/V1_1/target/base/Android.mk
+++ b/wifi/V1_1/target/base/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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_1/target_profiling/base/Android.mk b/wifi/V1_1/target_profiling/base/Android.mk
index 07726c3..e29d166 100644
--- a/wifi/V1_1/target_profiling/base/Android.mk
+++ b/wifi/V1_1/target_profiling/base/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/offload/V1_0/target/Android.mk b/wifi/offload/V1_0/target/Android.mk
index b53ece1..d3b25fc 100644
--- a/wifi/offload/V1_0/target/Android.mk
+++ b/wifi/offload/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 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/supplicant/V1_0/target/Android.mk b/wifi/supplicant/V1_0/target/Android.mk
index f0c4e5e..31d2785 100644
--- a/wifi/supplicant/V1_0/target/Android.mk
+++ b/wifi/supplicant/V1_0/target/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalWifiSupplicantV1_0Target
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/supplicant/V1_0/target
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/supplicant/V1_0/target_profiling/Android.mk b/wifi/supplicant/V1_0/target_profiling/Android.mk
index 89127ed..a867f60 100644
--- a/wifi/supplicant/V1_0/target_profiling/Android.mk
+++ b/wifi/supplicant/V1_0/target_profiling/Android.mk
@@ -19,5 +19,4 @@
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := VtsHalWifiSupplicantV1_0TargetProfiling
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/supplicant/V1_0/target_profiling
 include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/supplicant/V1_1/target/AndroidTest.xml b/wifi/supplicant/V1_1/target/AndroidTest.xml
index a3be44d..9f07e87 100644
--- a/wifi/supplicant/V1_1/target/AndroidTest.xml
+++ b/wifi/supplicant/V1_1/target/AndroidTest.xml
@@ -27,6 +27,7 @@
         <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.supplicant@1.1"/>
         <option name="test-timeout" value="30m"/>
     </test>
 </configuration>
diff --git a/wifi/supplicant/V1_1/target_profiling/AndroidTest.xml b/wifi/supplicant/V1_1/target_profiling/AndroidTest.xml
index 110d46c..5506c8d 100644
--- a/wifi/supplicant/V1_1/target_profiling/AndroidTest.xml
+++ b/wifi/supplicant/V1_1/target_profiling/AndroidTest.xml
@@ -33,6 +33,7 @@
         <option name="binary-test-disable-framework" value="true"/>
         <option name="binary-test-stop-native-servers" value="true"/>
         <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.wifi.supplicant@1.1"/>
         <option name="test-timeout" value="30m"/>
     </test>
 </configuration>