summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-08 16:04:57 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-08 16:04:57 +0000
commit3e2ab375ba320e81c4e1cd1394abc05a3e7ea5f5 (patch)
tree39d0a151f54f151a64c960a8a2d10793a99b44b2
parentf3a4230d5558a776fb3893d703a40d5bad643e60 (diff)
parentf11f1cbb2f55f899d540a9d460a163235fdaea5f (diff)
downloadhal-aml_tz2_305400100.tar.gz
Change-Id: Idf6f362136c27e7577c062d2e5b001c87be0316a
-rw-r--r--Android.bp4
-rw-r--r--__init__.py0
-rw-r--r--atrace/V1_0/target/Android.bp (renamed from treble/vintf/libvts_vintf_test_common/Android.bp)23
-rw-r--r--atrace/V1_0/target/AndroidTest.xml29
-rw-r--r--audio/OWNERS3
-rw-r--r--audio/V2_0/target/Android.bp19
-rw-r--r--audio/V2_0/target/AndroidTest.xml37
-rw-r--r--audio/V4_0/target/Android.bp19
-rw-r--r--audio/V4_0/target/AndroidTest.xml38
-rw-r--r--audio/V5_0/target/Android.bp19
-rw-r--r--audio/V5_0/target/AndroidTest.xml38
-rw-r--r--audio/V6_0/target/Android.bp19
-rw-r--r--audio/V6_0/target/AndroidTest.xml38
-rw-r--r--audio/effect/V2_0/target/Android.bp19
-rw-r--r--audio/effect/V2_0/target/AndroidTest.xml41
-rw-r--r--audio/effect/V2_0/target_replay/Android.bp19
-rw-r--r--audio/effect/V2_0/target_replay/AndroidTest.xml53
-rw-r--r--audio/effect/V4_0/target/Android.bp19
-rw-r--r--audio/effect/V4_0/target/AndroidTest.xml42
-rw-r--r--audio/effect/V5_0/target/Android.bp19
-rw-r--r--audio/effect/V5_0/target/AndroidTest.xml42
-rw-r--r--audio/effect/V6_0/target/Android.bp19
-rw-r--r--audio/effect/V6_0/target/AndroidTest.xml42
-rw-r--r--audio/policy/V1_0/target/Android.bp19
-rw-r--r--audio/policy/V1_0/target/AndroidTest.xml48
-rw-r--r--authsecret/V1_0/target/Android.bp19
-rw-r--r--authsecret/V1_0/target/AndroidTest.xml31
-rw-r--r--automotive/OWNERS6
-rw-r--r--automotive/__init__.py0
-rw-r--r--automotive/audiocontrol/V2_0/target/AndroidTest.xml30
-rw-r--r--automotive/can/V1_0/target/Android.bp19
-rw-r--r--automotive/can/V1_0/target/AndroidTest.xml35
-rw-r--r--automotive/can/V1_0/target_profiling/Android.bp19
-rw-r--r--automotive/display/V1_0/target/Android.bp19
-rw-r--r--automotive/display/V1_0/target/AndroidTest.xml33
-rw-r--r--automotive/evs/V1_0/target/Android.bp19
-rw-r--r--automotive/evs/V1_0/target/AndroidTest.xml34
-rw-r--r--automotive/evs/V1_1/target/Android.bp19
-rw-r--r--automotive/evs/V1_1/target/AndroidTest.xml34
-rw-r--r--automotive/vehicle/V2_0/host/Android.bp18
-rw-r--r--automotive/vehicle/V2_0/host/AndroidTest.xml33
-rw-r--r--automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py78
-rw-r--r--automotive/vehicle/V2_0/host_profiling/Android.bp19
-rw-r--r--biometrics/face/V1_0/target/Android.bp19
-rw-r--r--biometrics/face/V1_0/target/AndroidTest.xml30
-rw-r--r--biometrics/face/V1_0/target/OWNERS2
-rw-r--r--biometrics/fingerprint/V2_1/target/Android.bp18
-rw-r--r--biometrics/fingerprint/V2_1/target/AndroidTest.xml30
-rw-r--r--biometrics/fingerprint/V2_1/target_profiling/Android.bp19
-rw-r--r--biometrics/fingerprint/V2_1/target_replay/Android.bp19
-rw-r--r--biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml36
-rw-r--r--biometrics/fingerprint/V2_1/target_replay/OWNERS2
-rw-r--r--bluetooth/V1_0/target/Android.bp18
-rw-r--r--bluetooth/V1_0/target/AndroidTest.xml30
-rw-r--r--bluetooth/V1_0/target_profiling/Android.bp19
-rw-r--r--bluetooth/V1_0/target_replay/Android.bp19
-rw-r--r--bluetooth/V1_0/target_replay/AndroidTest.xml36
-rw-r--r--boot/V1_0/target/Android.bp18
-rw-r--r--boot/V1_0/target/AndroidTest.xml30
-rw-r--r--boot/V1_0/target_profiling/Android.bp19
-rw-r--r--broadcastradio/V1_0/OWNERS4
-rw-r--r--broadcastradio/V1_0/target/Android.bp18
-rw-r--r--broadcastradio/V1_0/target/AndroidTest.xml30
-rw-r--r--broadcastradio/V1_0/target_profiling/Android.bp19
-rw-r--r--broadcastradio/V1_1/adapter/Android.bp19
-rw-r--r--broadcastradio/V1_1/adapter/AndroidTest.xml29
-rw-r--r--broadcastradio/V1_1/target/Android.bp19
-rw-r--r--broadcastradio/V1_1/target/AndroidTest.xml30
-rw-r--r--broadcastradio/V1_1/target_profiling/Android.bp19
-rw-r--r--broadcastradio/V2_0/target/Android.bp19
-rw-r--r--broadcastradio/V2_0/target/AndroidTest.xml32
-rw-r--r--broadcastradio/V2_0/target_profiling/Android.bp19
-rw-r--r--bufferhub/V1_0/target/Android.bp19
-rw-r--r--bufferhub/V1_0/target/AndroidTest.xml31
-rw-r--r--camera/device/V3_3/adapter/CtsCameraTestCases/Android.bp19
-rw-r--r--camera/device/V3_3/adapter/CtsCameraTestCases/AndroidTest.xml30
-rw-r--r--camera/device/V3_3/adapter/CtsStatsdHostTestCases/Android.bp19
-rw-r--r--camera/device/V3_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml30
-rw-r--r--camera/device/V3_4/adapter/Android.bp19
-rw-r--r--camera/device/V3_4/adapter/AndroidTest.xml29
-rw-r--r--camera/metadata/V3_3/adapter/Android.bp19
-rw-r--r--camera/metadata/V3_3/adapter/AndroidTest.xml29
-rw-r--r--camera/provider/V2_4/target/Android.bp18
-rw-r--r--camera/provider/V2_4/target/AndroidTest.xml35
-rw-r--r--camera/provider/V2_4/target_profiling/Android.bp19
-rw-r--r--camera/provider/V2_5/target/Android.bp19
-rw-r--r--camera/provider/V2_5/target/AndroidTest.xml36
-rw-r--r--camera/provider/V2_5/target/OWNERS6
-rw-r--r--cas/V1_0/target/Android.bp18
-rw-r--r--cas/V1_0/target/AndroidTest.xml31
-rw-r--r--cas/V1_0/target/OWNERS2
-rw-r--r--cas/V1_1/target/Android.bp19
-rw-r--r--cas/V1_1/target/AndroidTest.xml31
-rw-r--r--cas/V1_1/target/OWNERS2
-rw-r--r--cas/V1_2/target/Android.bp19
-rw-r--r--cas/V1_2/target/AndroidTest.xml31
-rw-r--r--configstore/OWNERS6
-rw-r--r--configstore/V1_0/target/Android.bp18
-rw-r--r--configstore/V1_0/target/AndroidTest.xml30
-rw-r--r--configstore/V1_0/target_profiling/Android.bp19
-rw-r--r--configstore/V1_0/target_replay/Android.bp19
-rw-r--r--configstore/V1_0/target_replay/AndroidTest.xml33
-rw-r--r--contexthub/OWNERS4
-rw-r--r--contexthub/V1_0/__init__.py0
-rw-r--r--contexthub/V1_0/host/Android.bp18
-rw-r--r--contexthub/V1_0/host/AndroidTest.xml34
-rw-r--r--contexthub/V1_0/host/VtsHalContexthubV1_0HostTest.py113
-rw-r--r--contexthub/V1_0/host/__init__.py0
-rw-r--r--contexthub/V1_0/target/Android.bp18
-rw-r--r--contexthub/V1_0/target/AndroidTest.xml30
-rw-r--r--contexthub/V1_0/target_profiling/Android.bp19
-rw-r--r--contexthub/V1_0/target_replay/Android.bp19
-rw-r--r--contexthub/V1_0/target_replay/AndroidTest.xml34
-rw-r--r--contexthub/V1_1/target/Android.bp18
-rw-r--r--contexthub/V1_1/target/AndroidTest.xml30
-rw-r--r--contexthub/V1_1/target_profiling/Android.bp19
-rw-r--r--contexthub/__init__.py0
-rw-r--r--drm/V1_0/target/Android.bp19
-rw-r--r--drm/V1_0/target/AndroidTest.xml31
-rw-r--r--drm/V1_1/adapter/Android.bp19
-rw-r--r--drm/V1_1/adapter/AndroidTest.xml30
-rw-r--r--drm/V1_1/target/Android.bp19
-rw-r--r--drm/V1_1/target/AndroidTest.xml32
-rw-r--r--drm/V1_1/target_profiling/Android.bp19
-rw-r--r--drm/V1_2/adapter/Android.bp19
-rw-r--r--drm/V1_2/adapter/AndroidTest.xml30
-rw-r--r--drm/V1_2/target/Android.bp19
-rw-r--r--drm/V1_2/target/AndroidTest.xml32
-rw-r--r--drm/V1_3/adapter/Android.bp (renamed from usb/gadget/V1_2/host/Android.bp)23
-rw-r--r--drm/V1_3/adapter/AndroidTest.xml30
-rw-r--r--drm/V1_3/target/Android.bp21
-rw-r--r--drm/V1_3/target/AndroidTest.xml32
-rw-r--r--dumpstate/V1_0/target/Android.bp18
-rw-r--r--dumpstate/V1_0/target/AndroidTest.xml30
-rw-r--r--gatekeeper/V1_0/target/Android.bp18
-rw-r--r--gatekeeper/V1_0/target/AndroidTest.xml30
-rw-r--r--gatekeeper/V1_0/target_profiling/Android.bp19
-rw-r--r--gatekeeper/V1_0/target_replay/Android.bp19
-rw-r--r--gatekeeper/V1_0/target_replay/AndroidTest.xml34
-rw-r--r--gnss/OWNERS5
-rw-r--r--gnss/V1_0/__init__.py0
-rw-r--r--gnss/V1_0/host/VtsHalGnssV1_0HostTest.py152
-rw-r--r--gnss/V1_0/host/__init__.py0
-rw-r--r--gnss/V1_0/host/binderize/Android.bp19
-rw-r--r--gnss/V1_0/host/binderize/AndroidTest.xml55
-rw-r--r--gnss/V1_0/host/binderize/VtsHalGnssV1_0HostTest.runner_conf3
-rw-r--r--gnss/V1_0/target/Android.bp18
-rw-r--r--gnss/V1_0/target/AndroidTest.xml30
-rw-r--r--gnss/V1_0/target_profiling/Android.bp19
-rw-r--r--gnss/V1_0/target_profiling/OWNERS2
-rw-r--r--gnss/V1_1/adapter/CtsLocationTestCases/Android.bp19
-rw-r--r--gnss/V1_1/adapter/CtsLocationTestCases/AndroidTest.xml30
-rw-r--r--gnss/V1_1/adapter/CtsStatsdHostTestCases/Android.bp19
-rw-r--r--gnss/V1_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml30
-rw-r--r--gnss/V1_1/target/Android.bp19
-rw-r--r--gnss/V1_1/target/AndroidTest.xml32
-rw-r--r--gnss/V1_1/target/OWNERS2
-rw-r--r--gnss/V2_0/target/Android.bp19
-rw-r--r--gnss/V2_0/target/AndroidTest.xml31
-rw-r--r--gnss/V2_0/target/OWNERS2
-rw-r--r--gnss/V2_1/target/Android.bp19
-rw-r--r--gnss/V2_1/target/AndroidTest.xml31
-rw-r--r--gnss/__init__.py0
-rw-r--r--graphics/OWNERS4
-rw-r--r--graphics/common/V1_1/adapter/Android.bp19
-rw-r--r--graphics/common/V1_1/adapter/AndroidTest.xml29
-rw-r--r--graphics/composer/V2_1/target/Android.bp18
-rw-r--r--graphics/composer/V2_1/target/AndroidTest.xml46
-rw-r--r--graphics/composer/V2_1/target_profiling/Android.bp19
-rw-r--r--graphics/composer/V2_2/adapter/Android.bp19
-rw-r--r--graphics/composer/V2_2/adapter/AndroidTest.xml30
-rw-r--r--graphics/composer/V2_2/target/Android.bp19
-rw-r--r--graphics/composer/V2_2/target/AndroidTest.xml31
-rw-r--r--graphics/composer/V2_3/target/Android.bp19
-rw-r--r--graphics/composer/V2_3/target/AndroidTest.xml31
-rw-r--r--graphics/composer/V2_3/target/OWNERS3
-rw-r--r--graphics/mapper/V2_0/target/Android.bp18
-rw-r--r--graphics/mapper/V2_0/target/AndroidTest.xml32
-rw-r--r--graphics/mapper/V2_0/target_profiling/Android.bp19
-rw-r--r--graphics/mapper/V2_1/adapter/Android.bp19
-rw-r--r--graphics/mapper/V2_1/adapter/AndroidTest.xml30
-rw-r--r--graphics/mapper/V2_1/target/Android.bp19
-rw-r--r--graphics/mapper/V2_1/target/AndroidTest.xml33
-rw-r--r--graphics/mapper/V2_1/target_profiling/Android.bp19
-rw-r--r--graphics/mapper/V3_0/target/Android.bp18
-rw-r--r--graphics/mapper/V3_0/target/AndroidTest.xml32
-rw-r--r--graphics/mapper/V3_0/target_profiling/Android.bp19
-rw-r--r--graphics/mapper/V4_0/target/Android.bp18
-rw-r--r--graphics/mapper/V4_0/target/AndroidTest.xml32
-rw-r--r--graphics/mapper/V4_0/target_profiling/Android.bp19
-rw-r--r--health/V1_0/target/Android.bp19
-rw-r--r--health/V1_0/target/AndroidTest.xml30
-rw-r--r--health/V1_0/target_profiling/Android.bp19
-rw-r--r--health/V2_0/target/Android.bp19
-rw-r--r--health/V2_0/target/AndroidTest.xml31
-rw-r--r--health/storage/V1_0/target/Android.bp19
-rw-r--r--health/storage/V1_0/target/AndroidTest.xml29
-rw-r--r--input/OWNERS3
-rw-r--r--input/classifier/V1_0/target/Android.bp19
-rw-r--r--input/classifier/V1_0/target/AndroidTest.xml31
-rw-r--r--ir/V1_0/target/Android.bp18
-rw-r--r--ir/V1_0/target/AndroidTest.xml30
-rw-r--r--ir/V1_0/target_profiling/Android.bp19
-rw-r--r--keymaster/V3_0/target/Android.bp19
-rw-r--r--keymaster/V3_0/target/AndroidTest.xml29
-rw-r--r--keymaster/V3_0/target_replay/Android.bp19
-rw-r--r--keymaster/V3_0/target_replay/AndroidTest.xml34
-rw-r--r--keymaster/V4_0/target/Android.bp19
-rw-r--r--keymaster/V4_0/target/AndroidTest.xml30
-rw-r--r--light/V2_0/target/Android.bp18
-rw-r--r--light/V2_0/target/AndroidTest.xml30
-rw-r--r--light/V2_0/target_profiling/Android.bp19
-rw-r--r--light/V2_0/target_replay/Android.bp19
-rw-r--r--light/V2_0/target_replay/AndroidTest.xml34
-rw-r--r--media/__init__.py0
-rw-r--r--media/omx/V1_0/__init__.py0
-rw-r--r--media/omx/V1_0/host_omxstore/Android.bp19
-rw-r--r--media/omx/V1_0/host_omxstore/AndroidTest.xml45
-rw-r--r--media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest.py483
-rw-r--r--media/omx/V1_0/host_omxstore/__init__.py0
-rw-r--r--media/omx/__init__.py0
-rw-r--r--memtrack/V1_0/target/Android.bp18
-rw-r--r--memtrack/V1_0/target/AndroidTest.xml30
-rw-r--r--memtrack/V1_0/target_profiling/Android.bp19
-rw-r--r--memtrack/V1_0/target_replay/Android.bp19
-rw-r--r--memtrack/V1_0/target_replay/AndroidTest.xml34
-rw-r--r--net/netd/V1_0/target/Android.bp19
-rw-r--r--net/netd/V1_0/target/AndroidTest.xml29
-rw-r--r--net/netd/V1_1/target/Android.bp19
-rw-r--r--net/netd/V1_1/target/AndroidTest.xml29
-rw-r--r--neuralnetworks/V1_0/target/Android.bp19
-rw-r--r--neuralnetworks/V1_0/target_profiling/Android.bp19
-rw-r--r--neuralnetworks/V1_1/adapter/Android.bp19
-rw-r--r--neuralnetworks/V1_1/adapter/AndroidTest.xml30
-rw-r--r--neuralnetworks/V1_1/target/Android.bp19
-rw-r--r--neuralnetworks/V1_1/target_profiling/Android.bp19
-rw-r--r--neuralnetworks/V1_2/adapter/Android.bp18
-rw-r--r--neuralnetworks/V1_2/adapter/AndroidTest.xml30
-rw-r--r--neuralnetworks/V1_2/benchmark/java/Android.mk6
-rw-r--r--neuralnetworks/V1_2/benchmark/java/AndroidManifest.xml3
-rw-r--r--neuralnetworks/V1_2/benchmark/java/AndroidTest.xml3
-rw-r--r--neuralnetworks/V1_2/target/Android.bp18
-rw-r--r--neuralnetworks/V1_3/adapter/Android.bp18
-rw-r--r--neuralnetworks/V1_3/adapter/AndroidTest.xml30
-rw-r--r--neuralnetworks/V1_3/benchmark/java/Android.mk6
-rw-r--r--neuralnetworks/V1_3/benchmark/java/AndroidManifest.xml3
-rw-r--r--neuralnetworks/V1_3/benchmark/java/AndroidTest.xml3
-rw-r--r--neuralnetworks/V1_3/target/Android.bp18
-rw-r--r--nfc/V1_0/__init__.py0
-rw-r--r--nfc/V1_0/host/VtsHalNfcV1_0HostTest.py109
-rw-r--r--nfc/V1_0/host/__init__.py0
-rw-r--r--nfc/V1_0/host/binderize/Android.bp19
-rw-r--r--nfc/V1_0/host/binderize/AndroidTest.xml35
-rw-r--r--nfc/V1_0/host/binderize/NfcHidlBinderizeBasicTest.runner_conf3
-rw-r--r--nfc/V1_0/host/passthrough/Android.bp19
-rw-r--r--nfc/V1_0/host/passthrough/AndroidTest.xml35
-rw-r--r--nfc/V1_0/host/passthrough/NfcHidlPassthroughBasicTest.runner_conf3
-rw-r--r--nfc/V1_0/host_profiling/Android.bp19
-rw-r--r--nfc/V1_0/target/Android.bp18
-rw-r--r--nfc/V1_0/target/AndroidTest.xml35
-rw-r--r--nfc/V1_0/target_profiling/Android.bp19
-rw-r--r--nfc/V1_0/target_replay/Android.bp19
-rw-r--r--nfc/V1_0/target_replay/AndroidTest.xml37
-rw-r--r--nfc/V1_1/adapter/Android.bp19
-rw-r--r--nfc/V1_1/adapter/AndroidTest.xml30
-rw-r--r--nfc/V1_1/target/Android.bp19
-rw-r--r--nfc/V1_1/target/AndroidTest.xml33
-rw-r--r--nfc/V1_2/adapter/Android.bp19
-rw-r--r--nfc/V1_2/adapter/AndroidTest.xml30
-rw-r--r--nfc/V1_2/target/Android.bp19
-rw-r--r--nfc/V1_2/target/AndroidTest.xml33
-rw-r--r--nfc/V1_2/target/OWNERS3
-rw-r--r--nfc/__init__.py0
-rw-r--r--occupant_awareness/V1_0/target/Android.bp21
-rw-r--r--occupant_awareness/V1_0/target/AndroidTest.xml31
-rw-r--r--oemlock/V1_0/target/Android.bp19
-rw-r--r--oemlock/V1_0/target/AndroidTest.xml30
-rw-r--r--oemlock/V1_0/target_profiling/Android.bp19
-rw-r--r--power/V1_0/target/Android.bp18
-rw-r--r--power/V1_0/target/AndroidTest.xml31
-rw-r--r--power/V1_0/target_replay/Android.bp19
-rw-r--r--power/V1_0/target_replay/AndroidTest.xml36
-rw-r--r--power/V1_1/adapter/Android.bp19
-rw-r--r--power/V1_1/adapter/AndroidTest.xml30
-rw-r--r--power/V1_1/target/Android.bp19
-rw-r--r--power/V1_1/target/AndroidTest.xml31
-rw-r--r--power/V1_1/target_profiling/Android.bp19
-rw-r--r--power/V1_2/adapter/Android.bp19
-rw-r--r--power/V1_2/adapter/AndroidTest.xml30
-rw-r--r--power/V1_2/target/Android.bp19
-rw-r--r--power/V1_2/target/AndroidTest.xml31
-rw-r--r--power/V1_3/target/Android.bp18
-rw-r--r--power/V1_3/target/AndroidTest.xml32
-rw-r--r--power/stats/V1_0/target/Android.bp19
-rw-r--r--power/stats/V1_0/target/AndroidTest.xml31
-rw-r--r--radio/OWNERS7
-rw-r--r--radio/V1_0/__init__.py0
-rw-r--r--radio/V1_0/host/Android.bp18
-rw-r--r--radio/V1_0/host/AndroidTest.xml37
-rw-r--r--radio/V1_0/host/VtsHalRadioV1_0HostTest.py51
-rw-r--r--radio/V1_0/host/__init__.py0
-rw-r--r--radio/V1_0/target/radio/Android.bp19
-rw-r--r--radio/V1_0/target/radio/AndroidTest.xml41
-rw-r--r--radio/V1_0/target/sap/Android.bp19
-rw-r--r--radio/V1_0/target/sap/AndroidTest.xml30
-rw-r--r--radio/V1_0/target_profiling/radio/Android.bp19
-rw-r--r--radio/V1_0/target_profiling/sap/Android.bp19
-rw-r--r--radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp19
-rw-r--r--radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml30
-rw-r--r--radio/V1_1/adapter/CtsJobSchedulerTestCases/Android.bp19
-rw-r--r--radio/V1_1/adapter/CtsJobSchedulerTestCases/AndroidTest.xml30
-rw-r--r--radio/V1_1/adapter/CtsTelephonyTestCases/Android.bp19
-rw-r--r--radio/V1_1/adapter/CtsTelephonyTestCases/AndroidTest.xml30
-rw-r--r--radio/V1_1/target/radio/Android.bp19
-rw-r--r--radio/V1_1/target/radio/AndroidTest.xml35
-rw-r--r--radio/V1_2/adapter/Android.bp19
-rw-r--r--radio/V1_2/adapter/AndroidTest.xml29
-rw-r--r--radio/V1_2/target/radio/Android.bp19
-rw-r--r--radio/V1_2/target/radio/AndroidTest.xml38
-rw-r--r--radio/V1_3/target/radio/Android.bp19
-rw-r--r--radio/V1_3/target/radio/AndroidTest.xml37
-rw-r--r--radio/V1_4/target/radio/Android.bp19
-rw-r--r--radio/V1_4/target/radio/AndroidTest.xml34
-rw-r--r--radio/V1_5/target/radio/Android.bp19
-rw-r--r--radio/V1_5/target/radio/AndroidTest.xml35
-rw-r--r--radio/__init__.py0
-rw-r--r--radio/config/V1_0/target/radio/config/Android.mk22
-rw-r--r--radio/config/V1_0/target/radio/config/AndroidTest.xml34
-rw-r--r--radio/config/V1_1/target/radio/config/Android.mk22
-rw-r--r--radio/config/V1_1/target/radio/config/AndroidTest.xml34
-rw-r--r--radio/config/V1_2/target/radio/config/Android.mk22
-rw-r--r--radio/config/V1_2/target/radio/config/AndroidTest.xml34
-rw-r--r--renderscript/V1_0/target/Android.bp18
-rw-r--r--renderscript/V1_0/target/AndroidTest.xml34
-rw-r--r--script/build/__init__.py0
-rwxr-xr-xscript/build/build_rule_gen.py250
-rw-r--r--script/build/build_rule_gen_utils.py100
-rw-r--r--script/build/vts_spec_parser.py186
-rw-r--r--script/configure/__init__.py0
-rwxr-xr-xscript/configure/test_case_creator.py538
-rwxr-xr-xscript/launch_hal_test.py164
-rwxr-xr-xscript/update_hal_adapter_tests.py61
-rwxr-xr-xscript/update_hal_tests.py111
-rw-r--r--script/utils/__init__.py0
-rw-r--r--script/utils/const.py33
-rw-r--r--secure_element/V1_0/target/Android.bp19
-rw-r--r--secure_element/V1_0/target/AndroidTest.xml31
-rw-r--r--sensors/V1_0/__init__.py0
-rw-r--r--sensors/V1_0/host/Android.bp18
-rw-r--r--sensors/V1_0/host/AndroidTest.xml33
-rw-r--r--sensors/V1_0/host/VtsHalSensorsV1_0HostTest.py73
-rw-r--r--sensors/V1_0/host/__init__.py0
-rw-r--r--sensors/V1_0/host_profiling/Android.bp19
-rw-r--r--sensors/V1_0/target/Android.bp18
-rw-r--r--sensors/V1_0/target/AndroidTest.xml32
-rw-r--r--sensors/V1_0/target_profiling/Android.bp19
-rw-r--r--sensors/V2_0/__init__.py0
-rw-r--r--sensors/V2_0/host/Android.bp18
-rw-r--r--sensors/V2_0/host/AndroidTest.xml33
-rw-r--r--sensors/V2_0/host/VtsHalSensorsV2_0HostTest.py73
-rw-r--r--sensors/V2_0/host/__init__.py0
-rw-r--r--sensors/V2_0/host_profiling/Android.bp19
-rw-r--r--sensors/V2_0/target/Android.bp18
-rw-r--r--sensors/V2_0/target/AndroidTest.xml32
-rw-r--r--sensors/V2_0/target_profiling/Android.bp19
-rw-r--r--sensors/V2_1/target/Android.bp18
-rw-r--r--sensors/V2_1/target/AndroidTest.xml32
-rw-r--r--sensors/V2_1/target_profiling/Android.bp19
-rw-r--r--sensors/__init__.py0
-rw-r--r--soundtrigger/V2_0/OWNERS3
-rw-r--r--soundtrigger/V2_0/target/Android.bp18
-rw-r--r--soundtrigger/V2_0/target/AndroidTest.xml37
-rw-r--r--soundtrigger/V2_0/target_profiling/Android.bp19
-rw-r--r--soundtrigger/V2_1/OWNERS3
-rw-r--r--soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/Android.bp19
-rw-r--r--soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml30
-rw-r--r--soundtrigger/V2_1/adapter/CtsWidgetTestCases/Android.bp19
-rw-r--r--soundtrigger/V2_1/adapter/CtsWidgetTestCases/AndroidTest.xml30
-rw-r--r--soundtrigger/V2_1/target/Android.bp19
-rw-r--r--soundtrigger/V2_1/target/AndroidTest.xml38
-rw-r--r--soundtrigger/V2_1/target_profiling/Android.bp19
-rw-r--r--soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/Android.bp19
-rw-r--r--soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/AndroidTest.xml26
-rw-r--r--soundtrigger/V2_2/adapter/CtsWidgetTestCases/Android.bp19
-rw-r--r--soundtrigger/V2_2/adapter/CtsWidgetTestCases/AndroidTest.xml26
-rw-r--r--soundtrigger/V2_2/target/Android.bp18
-rw-r--r--soundtrigger/V2_2/target/AndroidTest.xml38
-rw-r--r--soundtrigger/V2_2/target_profiling/Android.bp19
-rw-r--r--soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/Android.bp19
-rw-r--r--soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml26
-rw-r--r--soundtrigger/V2_3/adapter/CtsWidgetTestCases/Android.bp19
-rw-r--r--soundtrigger/V2_3/adapter/CtsWidgetTestCases/AndroidTest.xml26
-rw-r--r--soundtrigger/V2_3/target/Android.bp18
-rw-r--r--soundtrigger/V2_3/target/AndroidTest.xml36
-rw-r--r--soundtrigger/V2_3/target_profiling/Android.bp19
-rw-r--r--stats/OWNERS3
-rw-r--r--stats/V1_0/target/Android.bp19
-rw-r--r--stats/V1_0/target/AndroidTest.xml30
-rw-r--r--tetheroffload/config/V1_0/target/Android.bp18
-rw-r--r--tetheroffload/config/V1_0/target/AndroidTest.xml31
-rw-r--r--tetheroffload/control/V1_0/target/Android.bp18
-rw-r--r--tetheroffload/control/V1_0/target/AndroidTest.xml33
-rw-r--r--thermal/OWNERS2
-rw-r--r--thermal/V1_0/target/Android.bp18
-rw-r--r--thermal/V1_0/target/AndroidTest.xml30
-rw-r--r--thermal/V1_0/target_profiling/Android.bp19
-rw-r--r--thermal/V1_0/target_replay/Android.bp19
-rw-r--r--thermal/V1_0/target_replay/AndroidTest.xml35
-rw-r--r--thermal/V1_0/target_stress/Android.bp8
-rw-r--r--thermal/V1_0/target_stress/AndroidTest.xml30
-rw-r--r--thermal/V1_1/adapter/Android.bp19
-rw-r--r--thermal/V1_1/adapter/AndroidTest.xml30
-rw-r--r--thermal/V1_1/target/Android.bp19
-rw-r--r--thermal/V1_1/target/AndroidTest.xml31
-rw-r--r--thermal/V1_1/target_profiling/Android.bp19
-rw-r--r--thermal/V2_0/target/Android.bp19
-rw-r--r--thermal/V2_0/target/AndroidTest.xml29
-rw-r--r--treble/Android.bp4
-rw-r--r--treble/framework_vintf/Android.bp17
-rw-r--r--treble/framework_vintf/AndroidTest.xml36
-rw-r--r--treble/platform_version/Android.bp9
-rw-r--r--treble/platform_version/AndroidTest.xml (renamed from usb/gadget/V1_2/host/AndroidTest.xml)19
-rw-r--r--treble/vendor_vintf/Android.bp19
-rw-r--r--treble/vendor_vintf/AndroidTest.xml36
-rw-r--r--treble/vintf/Android.bp11
-rw-r--r--treble/vintf/AndroidTest.xml37
-rw-r--r--treble/vintf/DeviceManifestTest.cpp42
-rw-r--r--treble/vintf/DeviceMatrixTest.cpp2
-rw-r--r--treble/vintf/SingleManifestTest.cpp128
-rw-r--r--treble/vintf/SystemVendorTest.cpp10
-rw-r--r--treble/vintf/VtsTrebleVintfTestBase.cpp8
-rw-r--r--treble/vintf/libvts_vintf_test_common/common.cpp87
-rw-r--r--treble/vintf/libvts_vintf_test_common/include/libvts_vintf_test_common/common.h36
-rw-r--r--treble/vintf/utils.cpp65
-rw-r--r--treble/vintf/utils.h23
-rw-r--r--tv/__init__.py0
-rw-r--r--tv/cec/V1_0/__init__.py0
-rw-r--r--tv/cec/V1_0/host/Android.bp18
-rw-r--r--tv/cec/V1_0/host/AndroidTest.xml32
-rw-r--r--tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest.py116
-rw-r--r--tv/cec/V1_0/host/__init__.py0
-rw-r--r--tv/cec/V1_0/host_profiling/Android.bp19
-rw-r--r--tv/cec/__init__.py0
-rw-r--r--tv/input/V1_0/__init__.py0
-rw-r--r--tv/input/V1_0/host/Android.bp18
-rw-r--r--tv/input/V1_0/host/AndroidTest.xml35
-rw-r--r--tv/input/V1_0/host/VtsHalTvInputV1_0HostTest.py51
-rw-r--r--tv/input/V1_0/host/__init__.py0
-rw-r--r--tv/input/V1_0/host_profiling/Android.bp19
-rw-r--r--tv/input/V1_0/target/Android.bp18
-rw-r--r--tv/input/V1_0/target/AndroidTest.xml31
-rw-r--r--tv/input/V1_0/target_profiling/Android.bp19
-rw-r--r--tv/input/__init__.py0
-rw-r--r--tv/tuner/V1_0/target/Android.bp21
-rw-r--r--tv/tuner/V1_0/target/AndroidTest.xml31
-rw-r--r--usb/V1_0/target/Android.bp18
-rw-r--r--usb/V1_0/target/AndroidTest.xml31
-rw-r--r--usb/V1_0/target_profiling/Android.bp19
-rw-r--r--usb/V1_0/target_replay/Android.bp19
-rw-r--r--usb/V1_0/target_replay/AndroidTest.xml34
-rw-r--r--usb/V1_1/adapter/Android.bp19
-rw-r--r--usb/V1_1/adapter/AndroidTest.xml30
-rw-r--r--usb/V1_1/target/Android.bp19
-rw-r--r--usb/V1_1/target/AndroidTest.xml30
-rw-r--r--usb/gadget/V1_0/__init__.py0
-rw-r--r--usb/gadget/V1_0/host/Android.bp6
-rw-r--r--usb/gadget/V1_0/host/AndroidTest.xml32
-rw-r--r--usb/gadget/V1_0/host/HalUsbGadgetV1_0HostTest.xml22
-rw-r--r--usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.py130
-rw-r--r--usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.runner_conf16
-rw-r--r--usb/gadget/V1_0/host/__init__.py0
-rw-r--r--usb/gadget/V1_0/host/src/com/android/tests/usbgadget/HalUsbGadgetV1_0HostTest.java6
-rw-r--r--usb/gadget/V1_1/host/Android.bp5
-rw-r--r--usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/VtsHalUsbGadgetV1_2HostTest.java154
-rw-r--r--usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/ConfigDescriptor.java52
-rw-r--r--usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/DeviceDescriptor.java55
-rw-r--r--usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/IUsbNative.java66
-rw-r--r--usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/Interface.java45
-rw-r--r--usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/InterfaceDescriptor.java57
-rw-r--r--usb/gadget/__init__.py0
-rw-r--r--vibrator/OWNERS2
-rw-r--r--vibrator/V1_0/__init__.py0
-rw-r--r--vibrator/V1_0/host/Android.bp18
-rw-r--r--vibrator/V1_0/host/AndroidTest.xml33
-rw-r--r--vibrator/V1_0/host/VtsHalVibratorV1_0HostTest.py63
-rw-r--r--vibrator/V1_0/host/__init__.py0
-rw-r--r--vibrator/V1_0/host_profiling/Android.bp19
-rw-r--r--vibrator/V1_0/target/Android.bp18
-rw-r--r--vibrator/V1_0/target/AndroidTest.xml30
-rw-r--r--vibrator/V1_0/target_profiling/Android.bp19
-rw-r--r--vibrator/V1_0/target_replay/Android.bp19
-rw-r--r--vibrator/V1_0/target_replay/AndroidTest.xml43
-rw-r--r--vibrator/V1_1/adapter/Android.bp19
-rw-r--r--vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp19
-rw-r--r--vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml30
-rw-r--r--vibrator/V1_1/adapter/CtsMonkeyTestCases/Android.bp19
-rw-r--r--vibrator/V1_1/adapter/CtsMonkeyTestCases/AndroidTest.xml30
-rw-r--r--vibrator/V1_1/target/Android.bp18
-rw-r--r--vibrator/V1_1/target/AndroidTest.xml30
-rw-r--r--vibrator/V1_2/adapter/Android.bp19
-rw-r--r--vibrator/V1_2/adapter/AndroidTest.xml30
-rw-r--r--vibrator/V1_2/target/Android.bp19
-rw-r--r--vibrator/V1_2/target/AndroidTest.xml31
-rw-r--r--vibrator/V1_3/target/Android.bp19
-rw-r--r--vibrator/V1_3/target/AndroidTest.xml31
-rw-r--r--vibrator/V1_4/target/Android.bp21
-rw-r--r--vibrator/V1_4/target/AndroidTest.xml31
-rw-r--r--vibrator/__init__.py0
-rw-r--r--vr/V1_0/__init__.py0
-rw-r--r--vr/V1_0/host/Android.bp18
-rw-r--r--vr/V1_0/host/AndroidTest.xml32
-rw-r--r--vr/V1_0/host/VtsHalVrV1_0HostTest.py59
-rw-r--r--vr/V1_0/host/__init__.py0
-rw-r--r--vr/V1_0/target/Android.bp18
-rw-r--r--vr/V1_0/target/AndroidTest.xml30
-rw-r--r--vr/V1_0/target_replay/Android.bp19
-rw-r--r--vr/V1_0/target_replay/AndroidTest.xml34
-rw-r--r--vr/__init__.py0
-rw-r--r--vts_specs/Android.mk30
-rw-r--r--weaver/V1_0/target/Android.bp18
-rw-r--r--weaver/V1_0/target/AndroidTest.xml30
-rw-r--r--weaver/V1_0/target_profiling/Android.bp19
-rw-r--r--wifi/OWNERS2
-rw-r--r--wifi/V1_0/app/wifi_native_test/Android.bp19
-rw-r--r--wifi/V1_0/app/wifi_native_test/AndroidTest.xml46
-rw-r--r--wifi/V1_0/app/wifi_native_test/VtsAppWifiNativeTest.runner_conf16
-rw-r--r--wifi/V1_0/target/Android.bp19
-rw-r--r--wifi/V1_0/target/AndroidTest.xml31
-rw-r--r--wifi/V1_0/target/ap/Android.bp19
-rw-r--r--wifi/V1_0/target/ap/AndroidTest.xml31
-rw-r--r--wifi/V1_0/target/nan/Android.bp19
-rw-r--r--wifi/V1_0/target/nan/AndroidTest.xml31
-rw-r--r--wifi/V1_0/target_profiling/base/Android.bp19
-rw-r--r--wifi/V1_0/target_profiling/nan/Android.bp19
-rw-r--r--wifi/V1_1/adapter/Android.bp19
-rw-r--r--wifi/V1_1/adapter/AndroidTest.xml30
-rw-r--r--wifi/V1_1/target/base/Android.bp19
-rw-r--r--wifi/V1_1/target/base/AndroidTest.xml33
-rw-r--r--wifi/V1_1/target_profiling/base/Android.bp19
-rw-r--r--wifi/V1_2/adapter/Android.bp19
-rw-r--r--wifi/V1_2/adapter/AndroidTest.xml30
-rw-r--r--wifi/V1_2/target/Android.bp19
-rw-r--r--wifi/V1_2/target/AndroidTest.xml31
-rw-r--r--wifi/V1_2/target/nan/Android.bp19
-rw-r--r--wifi/V1_2/target/nan/AndroidTest.xml32
-rw-r--r--wifi/V1_2/target_profiling/Android.bp19
-rw-r--r--wifi/V1_2/target_profiling/nan/Android.bp19
-rw-r--r--wifi/V1_3/target/Android.bp19
-rw-r--r--wifi/V1_3/target/AndroidTest.xml31
-rw-r--r--wifi/V1_4/target/ap/Android.bp18
-rw-r--r--wifi/V1_4/target/ap/AndroidTest.xml33
-rw-r--r--wifi/__init__.py0
-rw-r--r--wifi/hostapd/V1_0/target/Android.bp19
-rw-r--r--wifi/hostapd/V1_0/target/AndroidTest.xml32
-rw-r--r--wifi/hostapd/V1_1/target/Android.bp19
-rw-r--r--wifi/hostapd/V1_1/target/AndroidTest.xml32
-rw-r--r--wifi/hostapd/V1_2/target/Android.bp19
-rw-r--r--wifi/hostapd/V1_2/target/AndroidTest.xml33
-rw-r--r--wifi/offload/V1_0/target/Android.bp18
-rw-r--r--wifi/offload/V1_0/target/AndroidTest.xml30
-rw-r--r--wifi/supplicant/V1_0/__init__.py0
-rw-r--r--wifi/supplicant/V1_0/host/Android.bp19
-rw-r--r--wifi/supplicant/V1_0/host/AndroidTest.xml46
-rw-r--r--wifi/supplicant/V1_0/host/VtsHalWifiSupplicantV1_0HostTest.py68
-rw-r--r--wifi/supplicant/V1_0/host/__init__.py0
-rw-r--r--wifi/supplicant/V1_0/target/Android.bp18
-rw-r--r--wifi/supplicant/V1_0/target/AndroidTest.xml32
-rw-r--r--wifi/supplicant/V1_0/target/p2p/Android.bp19
-rw-r--r--wifi/supplicant/V1_0/target/p2p/AndroidTest.xml32
-rw-r--r--wifi/supplicant/V1_0/target_profiling/Android.bp19
-rw-r--r--wifi/supplicant/V1_1/__init__.py0
-rw-r--r--wifi/supplicant/V1_1/adapter/Android.bp19
-rw-r--r--wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp19
-rw-r--r--wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml30
-rw-r--r--wifi/supplicant/V1_1/adapter/CtsNetTestCases/Android.bp19
-rw-r--r--wifi/supplicant/V1_1/adapter/CtsNetTestCases/AndroidTest.xml30
-rw-r--r--wifi/supplicant/V1_1/host/Android.bp19
-rw-r--r--wifi/supplicant/V1_1/host/AndroidTest.xml37
-rw-r--r--wifi/supplicant/V1_1/host/VtsHalWifiSupplicantV1_1HostTest.py68
-rw-r--r--wifi/supplicant/V1_1/host/__init__.py0
-rw-r--r--wifi/supplicant/V1_1/target/Android.bp18
-rw-r--r--wifi/supplicant/V1_1/target_profiling/Android.bp19
-rw-r--r--wifi/supplicant/V1_2/__init__.py0
-rw-r--r--wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/Android.bp19
-rw-r--r--wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml30
-rw-r--r--wifi/supplicant/V1_2/adapter/CtsNetTestCases/Android.bp19
-rw-r--r--wifi/supplicant/V1_2/adapter/CtsNetTestCases/AndroidTest.xml30
-rw-r--r--wifi/supplicant/V1_2/host/Android.bp19
-rw-r--r--wifi/supplicant/V1_2/host/AndroidTest.xml38
-rw-r--r--wifi/supplicant/V1_2/host/VtsHalWifiSupplicantV1_2HostTest.py56
-rw-r--r--wifi/supplicant/V1_2/host/__init__.py0
-rw-r--r--wifi/supplicant/V1_2/target/p2p/Android.bp19
-rw-r--r--wifi/supplicant/V1_2/target/p2p/AndroidTest.xml32
-rw-r--r--wifi/supplicant/V1_3/__init__.py0
-rw-r--r--wifi/supplicant/V1_3/adapter/Android.bp21
-rw-r--r--wifi/supplicant/V1_3/adapter/AndroidTest.xml29
-rw-r--r--wifi/supplicant/V1_3/host/Android.bp19
-rw-r--r--wifi/supplicant/V1_3/host/AndroidTest.xml36
-rw-r--r--wifi/supplicant/V1_3/host/VtsHalWifiSupplicantV1_3HostTest.py56
-rw-r--r--wifi/supplicant/V1_3/host/__init__.py0
-rw-r--r--wifi/supplicant/V1_3/target/Android.bp21
-rw-r--r--wifi/supplicant/V1_3/target/AndroidTest.xml31
-rw-r--r--wifi/supplicant/__init__.py0
603 files changed, 14979 insertions, 918 deletions
diff --git a/Android.bp b/Android.bp
index 3bee8ab8..ac43311c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,7 +1,3 @@
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
cc_defaults {
name: "VtsHalLibDefaults",
shared_libs: [
diff --git a/__init__.py b/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/__init__.py
diff --git a/treble/vintf/libvts_vintf_test_common/Android.bp b/atrace/V1_0/target/Android.bp
index ac075929..2861ddb3 100644
--- a/treble/vintf/libvts_vintf_test_common/Android.bp
+++ b/atrace/V1_0/target/Android.bp
@@ -1,32 +1,19 @@
+//
// 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
+// 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.
+//
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
-cc_library_static {
- name: "libvts_vintf_test_common",
- host_supported: true,
- shared_libs: [
- "libbase",
- "libvintf",
- ],
- srcs: [
- "common.cpp",
- ],
- export_include_dirs: [
- "include",
- ],
+vts_config {
+ name: "VtsHalAtraceV1_0Target",
}
diff --git a/atrace/V1_0/target/AndroidTest.xml b/atrace/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..4084b599
--- /dev/null
+++ b/atrace/V1_0/target/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalAtraceV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAtraceV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAtraceV1_0TargetTest/VtsHalAtraceV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAtraceV1_0TargetTest/VtsHalAtraceV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/audio/OWNERS b/audio/OWNERS
new file mode 100644
index 00000000..6fdc97ca
--- /dev/null
+++ b/audio/OWNERS
@@ -0,0 +1,3 @@
+elaurent@google.com
+krocard@google.com
+mnaganov@google.com
diff --git a/audio/V2_0/target/Android.bp b/audio/V2_0/target/Android.bp
new file mode 100644
index 00000000..c2e4a61d
--- /dev/null
+++ b/audio/V2_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAudioV2_0Target",
+}
diff --git a/audio/V2_0/target/AndroidTest.xml b/audio/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..990cdf96
--- /dev/null
+++ b/audio/V2_0/target/AndroidTest.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS Audio V2_0 HIDL HAL's basic target-side test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/2.0/config/audio_policy_configuration.xsd->/data/local/tmp/audio_policy_configuration_V2_0.xsd"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioV2_0TargetTest/VtsHalAudioV2_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioV2_0TargetTest/VtsHalAudioV2_0TargetTest" />
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/effect" />
+ <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="test-timeout" value="30m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/audio/V4_0/target/Android.bp b/audio/V4_0/target/Android.bp
new file mode 100644
index 00000000..04c7d09b
--- /dev/null
+++ b/audio/V4_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAudioV4_0Target",
+}
diff --git a/audio/V4_0/target/AndroidTest.xml b/audio/V4_0/target/AndroidTest.xml
new file mode 100644
index 00000000..fea368dd
--- /dev/null
+++ b/audio/V4_0/target/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS Audio V4_0 HIDL HAL's basic target-side test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/4.0/config/audio_policy_configuration.xsd->/data/local/tmp/audio_policy_configuration_V4_0.xsd"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioV4_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioV4_0TargetTest/VtsHalAudioV4_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioV4_0TargetTest/VtsHalAudioV4_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="exclude-coverage-path" value="hardware/interfaces/audio/effect" />
+ <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="test-timeout" value="30m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/audio/V5_0/target/Android.bp b/audio/V5_0/target/Android.bp
new file mode 100644
index 00000000..e02f9376
--- /dev/null
+++ b/audio/V5_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAudioV5_0Target",
+}
diff --git a/audio/V5_0/target/AndroidTest.xml b/audio/V5_0/target/AndroidTest.xml
new file mode 100644
index 00000000..97548ae9
--- /dev/null
+++ b/audio/V5_0/target/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS Audio V5_0 HIDL HAL's basic target-side test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/5.0/config/audio_policy_configuration.xsd->/data/local/tmp/audio_policy_configuration_V5_0.xsd"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioV5_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioV5_0TargetTest/VtsHalAudioV5_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioV5_0TargetTest/VtsHalAudioV5_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="exclude-coverage-path" value="hardware/interfaces/audio/effect" />
+ <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="test-timeout" value="120m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/audio/V6_0/target/Android.bp b/audio/V6_0/target/Android.bp
new file mode 100644
index 00000000..0ded7d26
--- /dev/null
+++ b/audio/V6_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalAudioV6_0Target",
+}
diff --git a/audio/V6_0/target/AndroidTest.xml b/audio/V6_0/target/AndroidTest.xml
new file mode 100644
index 00000000..ac43d018
--- /dev/null
+++ b/audio/V6_0/target/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS Audio V6_0 HIDL HAL's basic target-side test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/6.0/config/audio_policy_configuration.xsd->/data/local/tmp/audio_policy_configuration_V6_0.xsd"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioV6_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioV6_0TargetTest/VtsHalAudioV6_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioV6_0TargetTest/VtsHalAudioV6_0TargetTest" />
+ <option name="binary-test-type" value="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/effect" />
+ <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="test-timeout" value="30m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/audio/effect/V2_0/target/Android.bp b/audio/effect/V2_0/target/Android.bp
new file mode 100644
index 00000000..fbb568dc
--- /dev/null
+++ b/audio/effect/V2_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAudioEffectV2_0Target",
+}
diff --git a/audio/effect/V2_0/target/AndroidTest.xml b/audio/effect/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..95cc5fcd
--- /dev/null
+++ b/audio/effect/V2_0/target/AndroidTest.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalAudioEffectV2_0Target test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/effect/2.0/xml/audio_effects_conf.xsd->/data/local/tmp/audio_effects_conf_V2_0.xsd"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioEffectV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioEffectV2_0TargetTest/VtsHalAudioEffectV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioEffectV2_0TargetTest/VtsHalAudioEffectV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/2.0/default/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/core/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/soundtrigger/" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/audio_alsaops.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/sound_trigger.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/modules/" />
+ <option name="exclude-coverage-path" value="hardware/qcom/audio/hal/" />
+ <option name="exclude-coverage-path" value="system/media" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/audio/effect/V2_0/target_replay/Android.bp b/audio/effect/V2_0/target_replay/Android.bp
new file mode 100644
index 00000000..27b80fa7
--- /dev/null
+++ b/audio/effect/V2_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+vts_config {
+
+ name: "VtsHalAudioEffectV2_0TargetReplay",
+}
diff --git a/audio/effect/V2_0/target_replay/AndroidTest.xml b/audio/effect/V2_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..b497ef56
--- /dev/null
+++ b/audio/effect/V2_0/target_replay/AndroidTest.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalAudioEffectV2_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/audio/common/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/audio/common/2.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/AcousticEchoCancelerEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/AutomaticGainControlEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/BassBoostEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/BassBoostEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/DownmixEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/DownmixEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/Effect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/Effect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/EffectBufferProviderCallback.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/EffectsFactory.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/EffectsFactory.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/EnvironmentalReverbEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/EqualizerEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/EqualizerEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/LoudnessEnhancerEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/NoiseSuppressionEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/PresetReverbEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/PresetReverbEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/VirtualizerEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/VirtualizerEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/VisualizerEffect.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/VisualizerEffect.vts"/>
+ <option name="push" value="spec/hardware/interfaces/audio/effect/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/audio/effect/2.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.audio.effect@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.audio.effect@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.audio.effect@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.audio.effect@2.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioEffectV2_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/audio/effect/V2_0/android.hardware.audio.effect_2.0_32249473887.vts.trace"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/audio/effect/V2_0/android.hardware.audio.effect_2.0_486896798397.vts.trace"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/audio/effect/V2_0/android.hardware.audio.effect_2.0_61278401310.vts.trace"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/audio/effect/V2_0/android.hardware.audio.effect_2.0_89221826074.vts.trace"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="6m"/>
+ </test>
+</configuration>
diff --git a/audio/effect/V4_0/target/Android.bp b/audio/effect/V4_0/target/Android.bp
new file mode 100644
index 00000000..2c7a8d62
--- /dev/null
+++ b/audio/effect/V4_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAudioEffectV4_0Target",
+}
diff --git a/audio/effect/V4_0/target/AndroidTest.xml b/audio/effect/V4_0/target/AndroidTest.xml
new file mode 100644
index 00000000..c6afd188
--- /dev/null
+++ b/audio/effect/V4_0/target/AndroidTest.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalAudioEffectV4_0Target test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/effect/4.0/xml/audio_effects_conf.xsd->/data/local/tmp/audio_effects_conf_V4_0.xsd"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioEffectV4_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioEffectV4_0TargetTest/VtsHalAudioEffectV4_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioEffectV4_0TargetTest/VtsHalAudioEffectV4_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/4.0/default/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/core/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/soundtrigger/" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/audio_alsaops.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/sound_trigger.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/modules/" />
+ <option name="exclude-coverage-path" value="hardware/qcom/audio/hal/" />
+ <option name="exclude-coverage-path" value="system/media" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/audio/effect/V5_0/target/Android.bp b/audio/effect/V5_0/target/Android.bp
new file mode 100644
index 00000000..39dfa0e1
--- /dev/null
+++ b/audio/effect/V5_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAudioEffectV5_0Target",
+}
diff --git a/audio/effect/V5_0/target/AndroidTest.xml b/audio/effect/V5_0/target/AndroidTest.xml
new file mode 100644
index 00000000..30b9b8e2
--- /dev/null
+++ b/audio/effect/V5_0/target/AndroidTest.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalAudioEffectV5_0Target test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/effect/5.0/xml/audio_effects_conf.xsd->/data/local/tmp/audio_effects_conf_V5_0.xsd"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioEffectV5_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioEffectV5_0TargetTest/VtsHalAudioEffectV5_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioEffectV5_0TargetTest/VtsHalAudioEffectV5_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/5.0/default/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/core/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/soundtrigger/" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/audio_alsaops.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/sound_trigger.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/modules/" />
+ <option name="exclude-coverage-path" value="hardware/qcom/audio/hal/" />
+ <option name="exclude-coverage-path" value="system/media" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/audio/effect/V6_0/target/Android.bp b/audio/effect/V6_0/target/Android.bp
new file mode 100644
index 00000000..8b9e0f55
--- /dev/null
+++ b/audio/effect/V6_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalAudioEffectV6_0Target",
+}
diff --git a/audio/effect/V6_0/target/AndroidTest.xml b/audio/effect/V6_0/target/AndroidTest.xml
new file mode 100644
index 00000000..52e017c9
--- /dev/null
+++ b/audio/effect/V6_0/target/AndroidTest.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalAudioEffectV6_0Target test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/effect/6.0/xml/audio_effects_conf.xsd->/data/local/tmp/audio_effects_conf_V6_0.xsd"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioEffectV6_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioEffectV6_0TargetTest/VtsHalAudioEffectV6_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioEffectV6_0TargetTest/VtsHalAudioEffectV6_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/6.0/default/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/audio/core/" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/soundtrigger/" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/audio_alsaops.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/include/hardware/sound_trigger.h" />
+ <option name="exclude-coverage-path" value="hardware/libhardware/modules/" />
+ <option name="exclude-coverage-path" value="hardware/qcom/audio/hal/" />
+ <option name="exclude-coverage-path" value="system/media" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/audio/policy/V1_0/target/Android.bp b/audio/policy/V1_0/target/Android.bp
new file mode 100644
index 00000000..aadf2881
--- /dev/null
+++ b/audio/policy/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalAudioPolicyV1_0Target",
+}
diff --git a/audio/policy/V1_0/target/AndroidTest.xml b/audio/policy/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..fa72d566
--- /dev/null
+++ b/audio/policy/V1_0/target/AndroidTest.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS Audio Policy configuration V1.0 validation test cases">
+ <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"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/audio_policy_engine_configuration.xsd->/data/local/tmp/audio_policy_engine_configuration_V1_0.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/AllSchemas.xsd->/data/local/tmp/audio_policy_engine_configurable_configuration_V1_0.xsd"/>
+
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/ParameterFrameworkConfiguration.xsd->/data/local/tmp/Schemas/ParameterFrameworkConfiguration.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/ComponentLibrary.xsd->/data/local/tmp/Schemas/ComponentLibrary.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/ComponentTypeSet.xsd->/data/local/tmp/Schemas/ComponentTypeSet.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/ConfigurableDomain.xsd->/data/local/tmp/Schemas/ConfigurableDomain.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/ConfigurableDomains.xsd->/data/local/tmp/Schemas/ConfigurableDomains.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/FileIncluder.xsd->/data/local/tmp/Schemas/FileIncluder.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/Parameter.xsd->/data/local/tmp/Schemas/Parameter.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/ParameterFrameworkConfiguration.xsd->/data/local/tmp/Schemas/ParameterFrameworkConfiguration.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/ParameterSettings.xsd->/data/local/tmp/Schemas/ParameterSettings.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/Subsystem.xsd->/data/local/tmp/Schemas/Subsystem.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/SystemClass.xsd->/data/local/tmp/Schemas/SystemClass.xsd"/>
+ <option name="push" value="DATA/hardware/interfaces/audio/policy/1.0/xml/pfw_schemas/W3cXmlAttributes.xsd->/data/local/tmp/Schemas/W3cXmlAttributes.xsd"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioPolicyV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioPolicyV1_0TargetTest/VtsHalAudioPolicyV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioPolicyV1_0TargetTest/VtsHalAudioPolicyV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="false"/>
+ <option name="test-timeout" value="30m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/authsecret/V1_0/target/Android.bp b/authsecret/V1_0/target/Android.bp
new file mode 100644
index 00000000..92e890f6
--- /dev/null
+++ b/authsecret/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAuthSecretV1_0Target",
+}
diff --git a/authsecret/V1_0/target/AndroidTest.xml b/authsecret/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..dcf63749
--- /dev/null
+++ b/authsecret/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalAuthSecretV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAuthSecretV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAuthSecretV1_0TargetTest/VtsHalAuthSecretV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAuthSecretV1_0TargetTest/VtsHalAuthSecretV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/automotive/OWNERS b/automotive/OWNERS
new file mode 100644
index 00000000..940bee4e
--- /dev/null
+++ b/automotive/OWNERS
@@ -0,0 +1,6 @@
+changyeon@google.com
+kwangsudo@google.com
+pfg@google.com
+pirozzoj@google.com
+randolphs@google.com
+swan@google.com
diff --git a/automotive/__init__.py b/automotive/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/automotive/__init__.py
diff --git a/automotive/audiocontrol/V2_0/target/AndroidTest.xml b/automotive/audiocontrol/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..1656d9e5
--- /dev/null
+++ b/automotive/audiocontrol/V2_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 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 VtsHalAudioControlV2_0 test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAudioControlV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAudioControlV2_0TargetTest/VtsHalAudioControlV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAudioControlV2_0TargetTest/VtsHalAudioControlV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/automotive/can/V1_0/target/Android.bp b/automotive/can/V1_0/target/Android.bp
new file mode 100644
index 00000000..7f8c342f
--- /dev/null
+++ b/automotive/can/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalCanV1_0Target",
+}
diff --git a/automotive/can/V1_0/target/AndroidTest.xml b/automotive/can/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..17f0f305
--- /dev/null
+++ b/automotive/can/V1_0/target/AndroidTest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalCanV1_0Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
+ <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>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalCanV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCanControllerV1_0TargetTest/VtsHalCanControllerV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCanControllerV1_0TargetTest/VtsHalCanControllerV1_0TargetTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCanBusVirtualV1_0TargetTest/VtsHalCanBusVirtualV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCanBusVirtualV1_0TargetTest/VtsHalCanBusVirtualV1_0TargetTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCanBusV1_0TargetTest/VtsHalCanBusV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCanBusV1_0TargetTest/VtsHalCanBusV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/automotive/can/V1_0/target_profiling/Android.bp b/automotive/can/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..cc336c3a
--- /dev/null
+++ b/automotive/can/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalCanV1_0TargetProfiling",
+}
diff --git a/automotive/display/V1_0/target/Android.bp b/automotive/display/V1_0/target/Android.bp
new file mode 100644
index 00000000..81b1508b
--- /dev/null
+++ b/automotive/display/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalAutomotiveDisplayV1_0Target",
+}
diff --git a/automotive/display/V1_0/target/AndroidTest.xml b/automotive/display/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..341127f0
--- /dev/null
+++ b/automotive/display/V1_0/target/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 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 VtsHalAutomotiveDisplayV1_0Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAutomotiveDisplayV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalAutomotiveDisplayV1_0TargetTest/VtsHalAutomotiveDisplayV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalAutomotiveDisplayV1_0TargetTest/VtsHalAutomotiveDisplayV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="false"/>
+
+ <option name="precondition-lshal" value="android.frameworks.automotive.display@1.0"/>
+ </test>
+</configuration>
+
diff --git a/automotive/evs/V1_0/target/Android.bp b/automotive/evs/V1_0/target/Android.bp
new file mode 100644
index 00000000..be02d437
--- /dev/null
+++ b/automotive/evs/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalEvsV1_0Target",
+}
diff --git a/automotive/evs/V1_0/target/AndroidTest.xml b/automotive/evs/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..c46f056a
--- /dev/null
+++ b/automotive/evs/V1_0/target/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalEvsV1_0Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalEvsV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="false"/>
+
+ <option name="precondition-lshal" value="android.hardware.automotive.evs@1.0"/>
+
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/automotive/evs/V1_1/target/Android.bp b/automotive/evs/V1_1/target/Android.bp
new file mode 100644
index 00000000..559a75d1
--- /dev/null
+++ b/automotive/evs/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalEvsV1_1Target",
+}
diff --git a/automotive/evs/V1_1/target/AndroidTest.xml b/automotive/evs/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..f5a2b4a8
--- /dev/null
+++ b/automotive/evs/V1_1/target/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalEvsV1_1Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalEvsV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalEvsV1_1TargetTest/VtsHalEvsV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalEvsV1_1TargetTest/VtsHalEvsV1_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="false"/>
+
+ <option name="precondition-lshal" value="android.hardware.automotive.evs@1.1"/>
+
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_0/host/Android.bp b/automotive/vehicle/V2_0/host/Android.bp
new file mode 100644
index 00000000..c42969f4
--- /dev/null
+++ b/automotive/vehicle/V2_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAutomotiveVehicleV2_0Host",
+}
diff --git a/automotive/vehicle/V2_0/host/AndroidTest.xml b/automotive/vehicle/V2_0/host/AndroidTest.xml
new file mode 100644
index 00000000..5961b6d0
--- /dev/null
+++ b/automotive/vehicle/V2_0/host/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalAutomotiveVehicleV2_0Host test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlHostTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.0/vts/Vehicle.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/Vehicle.vts"/>
+ <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.0/vts/VehicleCallback.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/VehicleCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/automotive/vehicle/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/automotive/vehicle/2.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.automotive.vehicle@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.automotive.vehicle@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.automotive.vehicle@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.automotive.vehicle@2.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalAutomotiveVehicleV2_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
index 3d2c452e..c25132fc 100644
--- a/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
+++ b/automotive/vehicle/V2_0/host/VtsHalAutomotiveVehicleV2_0HostTest.py
@@ -416,39 +416,26 @@ class VtsHalAutomotiveVehicleV2_0HostTest(hal_hidl_host_test.HalHidlHostTest):
self.vtypes.VehicleProperty.INFO_EV_PORT_LOCATION,
self.vtypes.VehicleProperty.INFO_DRIVER_SEAT,
])
-
- def checkForStaticCondition(propConfig):
- asserts.assertEqual(
- self.vtypes.VehiclePropertyAccess.READ,
- propConfig["access"],
- "Prop 0x%x must be read access" % propConfig['prop'])
- for area in propConfig["areaConfigs"]:
- propValue = self.readVhalProperty(
- propConfig['prop'], area["areaId"])
- asserts.assertEqual(propConfig['prop'], propValue["prop"])
- self.setVhalProperty(
- propConfig['prop'], propValue["value"],
- expectedStatus=self.vtypes.StatusCode.ACCESS_DENIED)
-
for c in self.configList:
- # Static system property
+ prop = c['prop']
+ msg = "Prop 0x%x" % prop
if (c["prop"] in staticProperties):
asserts.assertEqual(
self.vtypes.VehiclePropertyChangeMode.STATIC,
- c["changeMode"],
- "Prop 0x%x must be static change mode" % c['prop'])
- checkForStaticCondition(c)
- # Static vendor property
- elif (c["prop"] & self.vtypes.VehiclePropertyGroup.MASK
- == self.vtypes.VehiclePropertyGroup.VENDOR and
- c["changeMode"] == self.vtypes.VehiclePropertyChangeMode.STATIC):
- checkForStaticCondition(c)
- # Non-static property
- else:
+ c["changeMode"], msg)
+ asserts.assertEqual(self.vtypes.VehiclePropertyAccess.READ,
+ c["access"], msg)
+ for area in c["areaConfigs"]:
+ propValue = self.readVhalProperty(prop, area["areaId"])
+ asserts.assertEqual(prop, propValue["prop"])
+ self.setVhalProperty(
+ prop,
+ propValue["value"],
+ expectedStatus=self.vtypes.StatusCode.ACCESS_DENIED)
+ else: # Non-static property
asserts.assertNotEqual(
self.vtypes.VehiclePropertyChangeMode.STATIC,
- c["changeMode"],
- "Prop 0x%x cannot be static change mode" % c['prop'])
+ c["changeMode"], msg)
def testPropertyRanges(self):
"""Retrieve the property ranges for all areas.
@@ -458,41 +445,24 @@ class VtsHalAutomotiveVehicleV2_0HostTest(hal_hidl_host_test.HalHidlHostTest):
retrieved from the HIDL must be within the ranges defined."""
enumProperties = {
- self.vtypes.VehicleProperty.INFO_FUEL_TYPE,
- self.vtypes.VehicleProperty.INFO_EV_CONNECTOR_TYPE,
- self.vtypes.VehicleProperty.INFO_FUEL_DOOR_LOCATION,
- self.vtypes.VehicleProperty.INFO_EV_PORT_LOCATION,
- self.vtypes.VehicleProperty.INFO_DRIVER_SEAT,
self.vtypes.VehicleProperty.ENGINE_OIL_LEVEL,
self.vtypes.VehicleProperty.GEAR_SELECTION,
self.vtypes.VehicleProperty.CURRENT_GEAR,
self.vtypes.VehicleProperty.TURN_SIGNAL_STATE,
self.vtypes.VehicleProperty.IGNITION_STATE,
self.vtypes.VehicleProperty.HVAC_FAN_DIRECTION,
- self.vtypes.VehicleProperty.HVAC_TEMPERATURE_DISPLAY_UNITS,
self.vtypes.VehicleProperty.HVAC_FAN_DIRECTION_AVAILABLE,
- self.vtypes.VehicleProperty.DISTANCE_DISPLAY_UNITS,
- self.vtypes.VehicleProperty.FUEL_VOLUME_DISPLAY_UNITS,
- self.vtypes.VehicleProperty.TIRE_PRESSURE_DISPLAY_UNITS,
- self.vtypes.VehicleProperty.EV_BATTERY_DISPLAY_UNITS,
- self.vtypes.VehicleProperty.VEHICLE_SPEED_DISPLAY_UNITS,
- self.vtypes.VehicleProperty.AP_POWER_STATE_REQ,
- self.vtypes.VehicleProperty.AP_POWER_STATE_REPORT,
- self.vtypes.VehicleProperty.AP_POWER_BOOTUP_REASON,
- self.vtypes.VehicleProperty.HW_KEY_INPUT,
- self.vtypes.VehicleProperty.SEAT_OCCUPANCY,
+ self.vtypes.VehicleProperty.HAZARD_LIGHTS_STATE,
+ self.vtypes.VehicleProperty.FOG_LIGHTS_STATE,
self.vtypes.VehicleProperty.HEADLIGHTS_STATE,
self.vtypes.VehicleProperty.HIGH_BEAM_LIGHTS_STATE,
- self.vtypes.VehicleProperty.FOG_LIGHTS_STATE,
- self.vtypes.VehicleProperty.HAZARD_LIGHTS_STATE,
self.vtypes.VehicleProperty.HEADLIGHTS_SWITCH,
self.vtypes.VehicleProperty.HIGH_BEAM_LIGHTS_SWITCH,
self.vtypes.VehicleProperty.FOG_LIGHTS_SWITCH,
self.vtypes.VehicleProperty.HAZARD_LIGHTS_SWITCH,
- self.vtypes.VehicleProperty.CABIN_LIGHTS_STATE,
- self.vtypes.VehicleProperty.CABIN_LIGHTS_SWITCH,
- self.vtypes.VehicleProperty.READING_LIGHTS_STATE,
- self.vtypes.VehicleProperty.READING_LIGHTS_SWITCH,
+ self.vtypes.VehicleProperty.INFO_EV_PORT_LOCATION,
+ self.vtypes.VehicleProperty.INFO_FUEL_DOOR_LOCATION,
+ self.vtypes.VehicleProperty.INFO_DRIVER_SEAT,
}
for c in self.configList:
@@ -524,6 +494,10 @@ class VtsHalAutomotiveVehicleV2_0HostTest(hal_hidl_host_test.HalHidlHostTest):
asserts.assertTrue(c["areaConfigs"] != None,
"Prop 0x%x must have areaConfigs" % c["prop"])
areasFound = 0
+ if c["prop"] == self.vtypes.VehicleProperty.HVAC_TEMPERATURE_DISPLAY_UNITS:
+ # This property doesn't have sensible min/max
+ continue
+
for a in c["areaConfigs"]:
# Make sure this doesn't override one of the other areas found.
asserts.assertEqual(0, areasFound & a["areaId"])
@@ -553,12 +527,6 @@ class VtsHalAutomotiveVehicleV2_0HostTest(hal_hidl_host_test.HalHidlHostTest):
}
for valType, valBoundNames in valTypes.items():
for v in val[valType]:
- # If it is a vendor property and does not have range values,
- # it is excluded from testing.
- if (c["prop"] & self.vtypes.VehiclePropertyGroup.MASK
- == self.vtypes.VehiclePropertyGroup.VENDOR and
- a[valBoundNames[0]] == 0 and a[valBoundNames[1]] == 0):
- continue
# Make sure value isn't less than the minimum.
asserts.assertFalse(
v < a[valBoundNames[0]],
diff --git a/automotive/vehicle/V2_0/host_profiling/Android.bp b/automotive/vehicle/V2_0/host_profiling/Android.bp
new file mode 100644
index 00000000..5c6ed630
--- /dev/null
+++ b/automotive/vehicle/V2_0/host_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalAutomotiveVehicleV2_0HostProfiling",
+}
diff --git a/biometrics/face/V1_0/target/Android.bp b/biometrics/face/V1_0/target/Android.bp
new file mode 100644
index 00000000..dadbeef2
--- /dev/null
+++ b/biometrics/face/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalBiometricsFaceV1_0Target",
+}
diff --git a/biometrics/face/V1_0/target/AndroidTest.xml b/biometrics/face/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..062834c6
--- /dev/null
+++ b/biometrics/face/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalBiometricsFaceV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBiometricsFaceV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBiometricsFaceV1_0TargetTest/VtsHalBiometricsFaceV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBiometricsFaceV1_0TargetTest/VtsHalBiometricsFaceV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/biometrics/face/V1_0/target/OWNERS b/biometrics/face/V1_0/target/OWNERS
deleted file mode 100644
index 7651b694..00000000
--- a/biometrics/face/V1_0/target/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 432605
-ilyamaty@google.com
diff --git a/biometrics/fingerprint/V2_1/target/Android.bp b/biometrics/fingerprint/V2_1/target/Android.bp
new file mode 100644
index 00000000..0f7f8058
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBiometricsFingerprintV2_1Target",
+}
diff --git a/biometrics/fingerprint/V2_1/target/AndroidTest.xml b/biometrics/fingerprint/V2_1/target/AndroidTest.xml
new file mode 100644
index 00000000..f3f1e6e2
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBiometricsFingerprintV2_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBiometricsFingerprintV2_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBiometricsFingerprintV2_1TargetTest/VtsHalBiometricsFingerprintV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBiometricsFingerprintV2_1TargetTest/VtsHalBiometricsFingerprintV2_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/biometrics/fingerprint/V2_1/target_profiling/Android.bp b/biometrics/fingerprint/V2_1/target_profiling/Android.bp
new file mode 100644
index 00000000..1e60b92f
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBiometricsFingerprintV2_1TargetProfiling",
+}
diff --git a/biometrics/fingerprint/V2_1/target_replay/Android.bp b/biometrics/fingerprint/V2_1/target_replay/Android.bp
new file mode 100644
index 00000000..22226cb3
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBiometricsFingerprintV2_1TargetReplay",
+}
diff --git a/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml b/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..0d19e7cd
--- /dev/null
+++ b/biometrics/fingerprint/V2_1/target_replay/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBiometricsFingerprintV2_1TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <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"/>
+ <option name="push" value="DATA/lib/android.hardware.biometrics.fingerprint@2.1-vts.driver.so->/data/local/tmp/32/android.hardware.biometrics.fingerprint@2.1-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.biometrics.fingerprint@2.1-vts.driver.so->/data/local/tmp/64/android.hardware.biometrics.fingerprint@2.1-vts.driver.so"/>
+ </target_preparer>
+ <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_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="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/biometrics/fingerprint/V2_1/target_replay/OWNERS b/biometrics/fingerprint/V2_1/target_replay/OWNERS
deleted file mode 100644
index 0014ce91..00000000
--- a/biometrics/fingerprint/V2_1/target_replay/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 114777
-ilyamaty@google.com
diff --git a/bluetooth/V1_0/target/Android.bp b/bluetooth/V1_0/target/Android.bp
new file mode 100644
index 00000000..e42fd34f
--- /dev/null
+++ b/bluetooth/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBluetoothV1_0Target",
+}
diff --git a/bluetooth/V1_0/target/AndroidTest.xml b/bluetooth/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..4529f1eb
--- /dev/null
+++ b/bluetooth/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBluetoothV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBluetoothV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBluetoothV1_0TargetTest/VtsHalBluetoothV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBluetoothV1_0TargetTest/VtsHalBluetoothV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/bluetooth/V1_0/target_profiling/Android.bp b/bluetooth/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..4364d2ee
--- /dev/null
+++ b/bluetooth/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBluetoothV1_0TargetProfiling",
+}
diff --git a/bluetooth/V1_0/target_replay/Android.bp b/bluetooth/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..07a3596b
--- /dev/null
+++ b/bluetooth/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBluetoothV1_0TargetReplay",
+}
diff --git a/bluetooth/V1_0/target_replay/AndroidTest.xml b/bluetooth/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..a3a52c05
--- /dev/null
+++ b/bluetooth/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBluetoothV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/bluetooth/1.0/vts/BluetoothHci.vts->/data/local/tmp/spec/android/hardware/bluetooth/1.0/BluetoothHci.vts"/>
+ <option name="push" value="spec/hardware/interfaces/bluetooth/1.0/vts/BluetoothHciCallbacks.vts->/data/local/tmp/spec/android/hardware/bluetooth/1.0/BluetoothHciCallbacks.vts"/>
+ <option name="push" value="spec/hardware/interfaces/bluetooth/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/bluetooth/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.bluetooth@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.bluetooth@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.bluetooth@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.bluetooth@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBluetoothV1_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/bluetooth/V1_0/android.hardware.bluetooth_1.0_4975305052967.vts.trace"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/bluetooth/V1_0/android.hardware.bluetooth_1.0_19300431972.vts.trace"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/boot/V1_0/target/Android.bp b/boot/V1_0/target/Android.bp
new file mode 100644
index 00000000..4f0b5149
--- /dev/null
+++ b/boot/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBootV1_0Target",
+}
diff --git a/boot/V1_0/target/AndroidTest.xml b/boot/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..aeb619ff
--- /dev/null
+++ b/boot/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBootV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBootV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBootV1_0TargetTest/VtsHalBootV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBootV1_0TargetTest/VtsHalBootV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/boot/V1_0/target_profiling/Android.bp b/boot/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..0a8968c1
--- /dev/null
+++ b/boot/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBootV1_0TargetProfiling",
+}
diff --git a/broadcastradio/V1_0/OWNERS b/broadcastradio/V1_0/OWNERS
new file mode 100644
index 00000000..b1590839
--- /dev/null
+++ b/broadcastradio/V1_0/OWNERS
@@ -0,0 +1,4 @@
+elaurent@google.com
+krocard@google.com
+mnaganov@google.com
+twasilczyk@google.com
diff --git a/broadcastradio/V1_0/target/Android.bp b/broadcastradio/V1_0/target/Android.bp
new file mode 100644
index 00000000..612bed95
--- /dev/null
+++ b/broadcastradio/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBroadcastradioV1_0Target",
+}
diff --git a/broadcastradio/V1_0/target/AndroidTest.xml b/broadcastradio/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..48960cd1
--- /dev/null
+++ b/broadcastradio/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBroadcastradioV1_0Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBroadcastradioV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_0TargetTest/VtsHalBroadcastradioV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_0TargetTest/VtsHalBroadcastradioV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/broadcastradio/V1_0/target_profiling/Android.bp b/broadcastradio/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..ebe0e6ad
--- /dev/null
+++ b/broadcastradio/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBroadcastradioV1_0TargetProfiling",
+}
diff --git a/broadcastradio/V1_1/adapter/Android.bp b/broadcastradio/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..d8608049
--- /dev/null
+++ b/broadcastradio/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBroadcastradioV1_1Adapter",
+}
diff --git a/broadcastradio/V1_1/adapter/AndroidTest.xml b/broadcastradio/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..3180a78e
--- /dev/null
+++ b/broadcastradio/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalBroadcastradioV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.broadcastradio@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.broadcastradio@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.broadcastradio@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+</configuration>
diff --git a/broadcastradio/V1_1/target/Android.bp b/broadcastradio/V1_1/target/Android.bp
new file mode 100644
index 00000000..3e73995b
--- /dev/null
+++ b/broadcastradio/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBroadcastradioV1_1Target",
+}
diff --git a/broadcastradio/V1_1/target/AndroidTest.xml b/broadcastradio/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..c4b19000
--- /dev/null
+++ b/broadcastradio/V1_1/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalBroadcastradioV1_1Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-auto" />
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBroadcastradioV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/broadcastradio/V1_1/target_profiling/Android.bp b/broadcastradio/V1_1/target_profiling/Android.bp
new file mode 100644
index 00000000..e618636d
--- /dev/null
+++ b/broadcastradio/V1_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBroadcastradioV1_1TargetProfiling",
+}
diff --git a/broadcastradio/V2_0/target/Android.bp b/broadcastradio/V2_0/target/Android.bp
new file mode 100644
index 00000000..3331fec4
--- /dev/null
+++ b/broadcastradio/V2_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBroadcastradioV2_0Target",
+}
diff --git a/broadcastradio/V2_0/target/AndroidTest.xml b/broadcastradio/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..e457f059
--- /dev/null
+++ b/broadcastradio/V2_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalBroadcastradioV2_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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBroadcastradioV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV2_0TargetTest/VtsHalBroadcastradioV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV2_0TargetTest/VtsHalBroadcastradioV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/broadcastradio/V2_0/target_profiling/Android.bp b/broadcastradio/V2_0/target_profiling/Android.bp
new file mode 100644
index 00000000..b176745e
--- /dev/null
+++ b/broadcastradio/V2_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBroadcastradioV2_0TargetProfiling",
+}
diff --git a/bufferhub/V1_0/target/Android.bp b/bufferhub/V1_0/target/Android.bp
new file mode 100644
index 00000000..6defe654
--- /dev/null
+++ b/bufferhub/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalBufferHubV1_0Target",
+}
diff --git a/bufferhub/V1_0/target/AndroidTest.xml b/bufferhub/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..748546df
--- /dev/null
+++ b/bufferhub/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalBufferHubV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalBufferHubV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBufferHubV1_0TargetTest/VtsHalBufferHubV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBufferHubV1_0TargetTest/VtsHalBufferHubV1_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="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/camera/device/V3_3/adapter/CtsCameraTestCases/Android.bp b/camera/device/V3_3/adapter/CtsCameraTestCases/Android.bp
new file mode 100644
index 00000000..f05703ab
--- /dev/null
+++ b/camera/device/V3_3/adapter/CtsCameraTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalCameraDeviceV3_3AdapterCtsCameraTestCases",
+}
diff --git a/camera/device/V3_3/adapter/CtsCameraTestCases/AndroidTest.xml b/camera/device/V3_3/adapter/CtsCameraTestCases/AndroidTest.xml
new file mode 100644
index 00000000..404d1aa7
--- /dev/null
+++ b/camera/device/V3_3/adapter/CtsCameraTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalCameraDeviceV3_3AdapterCtsCameraTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.camera.device@3.3"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.camera.device@3.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.camera.device@3.3"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsCameraTestCases.config"/>
+</configuration>
diff --git a/camera/device/V3_3/adapter/CtsStatsdHostTestCases/Android.bp b/camera/device/V3_3/adapter/CtsStatsdHostTestCases/Android.bp
new file mode 100644
index 00000000..2a9a9084
--- /dev/null
+++ b/camera/device/V3_3/adapter/CtsStatsdHostTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalCameraDeviceV3_3AdapterCtsStatsdHostTestCases",
+}
diff --git a/camera/device/V3_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml b/camera/device/V3_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml
new file mode 100644
index 00000000..9fcae9b6
--- /dev/null
+++ b/camera/device/V3_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalCameraDeviceV3_3AdapterCtsStatsdHostTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.camera.device@3.3"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.camera.device@3.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.camera.device@3.3"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsStatsdHostTestCases.config"/>
+</configuration>
diff --git a/camera/device/V3_4/adapter/Android.bp b/camera/device/V3_4/adapter/Android.bp
new file mode 100644
index 00000000..4df5476e
--- /dev/null
+++ b/camera/device/V3_4/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+vts_config {
+
+ name: "VtsHalCameraDeviceV3_4Adapter",
+}
diff --git a/camera/device/V3_4/adapter/AndroidTest.xml b/camera/device/V3_4/adapter/AndroidTest.xml
new file mode 100644
index 00000000..727bc992
--- /dev/null
+++ b/camera/device/V3_4/adapter/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalCameraDeviceV3_4Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.camera.device@3.4"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.camera.device@3.3-adapter"/>
+ <option name="hal-package-name" value="android.hardware.camera.device@3.4"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+</configuration>
diff --git a/camera/metadata/V3_3/adapter/Android.bp b/camera/metadata/V3_3/adapter/Android.bp
new file mode 100644
index 00000000..1a431c96
--- /dev/null
+++ b/camera/metadata/V3_3/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalCameraMetadataV3_3Adapter",
+}
diff --git a/camera/metadata/V3_3/adapter/AndroidTest.xml b/camera/metadata/V3_3/adapter/AndroidTest.xml
new file mode 100644
index 00000000..be77bf5f
--- /dev/null
+++ b/camera/metadata/V3_3/adapter/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalCameraMetadataV3_3Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.camera.metadata@3.3"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.camera.metadata@3.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.camera.metadata@3.3"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+</configuration>
diff --git a/camera/provider/V2_4/target/Android.bp b/camera/provider/V2_4/target/Android.bp
new file mode 100644
index 00000000..ee327b29
--- /dev/null
+++ b/camera/provider/V2_4/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalCameraProviderV2_4Target",
+}
diff --git a/camera/provider/V2_4/target/AndroidTest.xml b/camera/provider/V2_4/target/AndroidTest.xml
new file mode 100644
index 00000000..e955a4d6
--- /dev/null
+++ b/camera/provider/V2_4/target/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 VtsHalCameraProviderV2_4Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalCameraProviderV2_4Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="exclude-coverage-path" value="hardware/qcom/camera/msm8998/QCamera2/HAL" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/graphics/mapper/2.0" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/configstore/utils" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/sensors" />
+ <option name="exclude-coverage-path" value="hardware/qcom/display/msm8998" />
+ <option name="exclude-coverage-path" value="vendor/qcom/msm8998/proprietary/proprietary/qmi-framework" />
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/camera/provider/V2_4/target_profiling/Android.bp b/camera/provider/V2_4/target_profiling/Android.bp
new file mode 100644
index 00000000..2fd62039
--- /dev/null
+++ b/camera/provider/V2_4/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalCameraProviderV2_4TargetProfiling",
+}
diff --git a/camera/provider/V2_5/target/Android.bp b/camera/provider/V2_5/target/Android.bp
new file mode 100644
index 00000000..8d21851b
--- /dev/null
+++ b/camera/provider/V2_5/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalCameraProviderV2_5Target",
+}
diff --git a/camera/provider/V2_5/target/AndroidTest.xml b/camera/provider/V2_5/target/AndroidTest.xml
new file mode 100644
index 00000000..db24c654
--- /dev/null
+++ b/camera/provider/V2_5/target/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalCameraProviderV2_5Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalCameraProviderV2_5Target"/>
+ <!-- Provider V2.5 is tested by V2.4 tests -->
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCameraProviderV2_4TargetTest/VtsHalCameraProviderV2_4TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="exclude-coverage-path" value="hardware/qcom/camera/msm8998/QCamera2/HAL" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/graphics/mapper/2.0" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/configstore/utils" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/sensors" />
+ <option name="exclude-coverage-path" value="hardware/qcom/display/msm8998" />
+ <option name="exclude-coverage-path" value="vendor/qcom/msm8998/proprietary/proprietary/qmi-framework" />
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/camera/provider/V2_5/target/OWNERS b/camera/provider/V2_5/target/OWNERS
deleted file mode 100644
index 1e0a1d9e..00000000
--- a/camera/provider/V2_5/target/OWNERS
+++ /dev/null
@@ -1,6 +0,0 @@
-# Bug component: 41727
-epeev@google.com
-etalvala@google.com
-shuzhenwang@google.com
-yinchiayeh@google.com
-jchowdhary@google.com
diff --git a/cas/V1_0/target/Android.bp b/cas/V1_0/target/Android.bp
new file mode 100644
index 00000000..7cd7e22d
--- /dev/null
+++ b/cas/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalCasV1_0Target",
+}
diff --git a/cas/V1_0/target/AndroidTest.xml b/cas/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..419e51bc
--- /dev/null
+++ b/cas/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalCasV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalCasV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCasV1_0TargetTest/VtsHalCasV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCasV1_0TargetTest/VtsHalCasV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av/media" />
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/cas/V1_0/target/OWNERS b/cas/V1_0/target/OWNERS
deleted file mode 100644
index aec93b0e..00000000
--- a/cas/V1_0/target/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 1344
-quxiangfang@google.com
diff --git a/cas/V1_1/target/Android.bp b/cas/V1_1/target/Android.bp
new file mode 100644
index 00000000..94120c94
--- /dev/null
+++ b/cas/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalCasV1_1Target",
+}
diff --git a/cas/V1_1/target/AndroidTest.xml b/cas/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..cd066000
--- /dev/null
+++ b/cas/V1_1/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalCasV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalCasV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCasV1_1TargetTest/VtsHalCasV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCasV1_1TargetTest/VtsHalCasV1_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av/media" />
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/cas/V1_1/target/OWNERS b/cas/V1_1/target/OWNERS
deleted file mode 100644
index aec93b0e..00000000
--- a/cas/V1_1/target/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 1344
-quxiangfang@google.com
diff --git a/cas/V1_2/target/Android.bp b/cas/V1_2/target/Android.bp
new file mode 100644
index 00000000..d69a124a
--- /dev/null
+++ b/cas/V1_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalCasV1_2Target",
+}
diff --git a/cas/V1_2/target/AndroidTest.xml b/cas/V1_2/target/AndroidTest.xml
new file mode 100644
index 00000000..fbb8071b
--- /dev/null
+++ b/cas/V1_2/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalCasV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalCasV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalCasV1_2TargetTest/VtsHalCasV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalCasV1_2TargetTest/VtsHalCasV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av/media" />
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/configstore/OWNERS b/configstore/OWNERS
new file mode 100644
index 00000000..94bc3ad6
--- /dev/null
+++ b/configstore/OWNERS
@@ -0,0 +1,6 @@
+#Graphics team
+lpy@google.com
+
+#Display team
+solomondaniel@google.com
+linpeter@google.com
diff --git a/configstore/V1_0/target/Android.bp b/configstore/V1_0/target/Android.bp
new file mode 100644
index 00000000..d4639c4e
--- /dev/null
+++ b/configstore/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalConfigstoreV1_0Target",
+}
diff --git a/configstore/V1_0/target/AndroidTest.xml b/configstore/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..095f5b6e
--- /dev/null
+++ b/configstore/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalConfigstoreV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalConfigstoreV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalConfigstoreV1_0TargetTest/VtsHalConfigstoreV1_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalConfigstoreV1_0TargetTest/VtsHalConfigstoreV1_0TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/configstore/V1_0/target_profiling/Android.bp b/configstore/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..4de0a828
--- /dev/null
+++ b/configstore/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalConfigstoreV1_0TargetProfiling",
+}
diff --git a/configstore/V1_0/target_replay/Android.bp b/configstore/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..5aef35a5
--- /dev/null
+++ b/configstore/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalConfigstoreV1_0TargetReplay",
+}
diff --git a/configstore/V1_0/target_replay/AndroidTest.xml b/configstore/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..a8d8b935
--- /dev/null
+++ b/configstore/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalConfigstoreV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/configstore/1.0/vts/SurfaceFlingerConfigs.vts->/data/local/tmp/spec/android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts"/>
+ <option name="push" value="spec/hardware/interfaces/configstore/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/configstore/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.configstore@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.configstore@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.configstore@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.configstore@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalConfigstoreV1_0TargetReplay"/>
+ <option name="binary-test-type" value="hal_hidl_replay_test"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/configstore/V1_0/android.hardware.configstore_1.0_16680329225052.vts.trace"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/contexthub/OWNERS b/contexthub/OWNERS
deleted file mode 100644
index fc6f91af..00000000
--- a/contexthub/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-# Bug component: 393449
-arthuri@google.com
-bduddie@google.com
-stange@google.com \ No newline at end of file
diff --git a/contexthub/V1_0/__init__.py b/contexthub/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/contexthub/V1_0/__init__.py
diff --git a/contexthub/V1_0/host/Android.bp b/contexthub/V1_0/host/Android.bp
new file mode 100644
index 00000000..37888c6b
--- /dev/null
+++ b/contexthub/V1_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalContexthubV1_0Host",
+}
diff --git a/contexthub/V1_0/host/AndroidTest.xml b/contexthub/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..fd73afd8
--- /dev/null
+++ b/contexthub/V1_0/host/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalContexthubV1_0Host test cases">
+ <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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/Contexthub.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/Contexthub.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/ContexthubCallback.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/ContexthubCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.contexthub@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.contexthub@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalContexthubV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest.py b/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest.py
new file mode 100644
index 00000000..1b4ec65e
--- /dev/null
+++ b/contexthub/V1_0/host/VtsHalContexthubV1_0HostTest.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+import threading
+import time
+
+from vts.runners.host import asserts
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+
+class ContextHubCallback:
+ def __init__(self, hub_id):
+ self.hub_id = hub_id
+ self.event = threading.Event()
+
+ def wait_on_callback(timeout=None):
+ """Wait on the next callback in this object to be invoked.
+
+ Args:
+ timeout: (fractional) seconds to wait before timing out, or None
+
+ Returns:
+ True when a callback was received, False if a timeout occurred
+ """
+ return self.event.wait(timeout)
+
+ def prepare():
+ # TODO: cleaner method of doing this, so that we clear --> call HAL
+ # method --> wait for CB, all wrapped into one
+ self.event.clear()
+
+ def ignore_client_msg(self, msg):
+ logging.debug("Ignoring client message from hubId %s: %s", self.hub_id, msg)
+ self.event.set()
+
+ def ignore_txn_result(self, txnId, result):
+ logging.debug("Ignoring transaction result from hubId %s: %s", self.hub_id, msg)
+ self.event.set()
+
+ def ignore_hub_event(self, evt):
+ logging.debug("Ignoring hub event from hubId %s: %s", self.hub_id, evt)
+ self.event.set()
+
+ def ignore_apps_info(self, appInfo):
+ logging.debug("Ignoring app info data from hubId %s: %s", self.hub_id, appInfo)
+ self.event.set()
+
+
+class ContexthubHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """A set of test cases for the context hub HIDL HAL"""
+ TEST_HAL_SERVICES = {
+ "android.hardware.contexthub@1.0::IContexthub",
+ }
+
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer CONTEXTHUB service."""
+ super(ContexthubHidlTest, self).setUpClass()
+ self.dut.hal.InitHidlHal(
+ target_type="contexthub",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.contexthub",
+ target_component_name="IContexthub",
+ bits=int(self.abi_bitness))
+
+ self.types = self.dut.hal.contexthub.GetHidlTypeInterface("types")
+ logging.info("types: %s", self.types)
+
+ def testContexthubBasic(self):
+ logging.info("About to call gethubs!!!")
+ hubs = self.dut.hal.contexthub.getHubs()
+ logging.info("Got result: %s", hubs)
+ #
+ #hub_id = 0 # TODO: should get this from hub list
+ #
+ #cb = ContextHubCallback(hub_id)
+ #client_callback = self.dut.hal.contexthub.GetHidlCallbackInterface(
+ # "IContexthubCallback",
+ # handleClientMsg=cb.ignore_client_msg,
+ # handleTxnResult=cb.ignore_txn_result,
+ # handleHubEvent=cb.ignore_hub_event,
+ # handleAppsInfo=cb.ignore_apps_info)
+ #
+ #logging.info("About to call registerCallback")
+ #result = self.dut.hal.contexthub.registerCallback(hub_id,
+ # client_callback)
+ #logging.info("registerCallback returned result: %s", result)
+ #
+ #logging.info("About to call queryApps")
+ #result = self.dut.hal.contexthub.queryApps(hub_id)
+ #logging.info("queryApps returned result: %s", result)
+ #
+ #got_callback = cb.wait_on_callback(5)
+ #logging.info("Wait on callback returned %s", got_callback)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/contexthub/V1_0/host/__init__.py b/contexthub/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/contexthub/V1_0/host/__init__.py
diff --git a/contexthub/V1_0/target/Android.bp b/contexthub/V1_0/target/Android.bp
new file mode 100644
index 00000000..76825b14
--- /dev/null
+++ b/contexthub/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalContexthubV1_0Target",
+}
diff --git a/contexthub/V1_0/target/AndroidTest.xml b/contexthub/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..13ef668b
--- /dev/null
+++ b/contexthub/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalContexthubV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalContexthubV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalContexthubV1_0TargetTest/VtsHalContexthubV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalContexthubV1_0TargetTest/VtsHalContexthubV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_0/target_profiling/Android.bp b/contexthub/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..c8caa80f
--- /dev/null
+++ b/contexthub/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalContexthubV1_0TargetProfiling",
+}
diff --git a/contexthub/V1_0/target_replay/Android.bp b/contexthub/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..2a44e0c9
--- /dev/null
+++ b/contexthub/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalContexthubV1_0TargetReplay",
+}
diff --git a/contexthub/V1_0/target_replay/AndroidTest.xml b/contexthub/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..ff4d80aa
--- /dev/null
+++ b/contexthub/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalContexthubV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/Contexthub.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/Contexthub.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/ContexthubCallback.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/ContexthubCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/contexthub/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/contexthub/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.contexthub@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.contexthub@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.contexthub@1.0-vts.driver.so"/>
+ </target_preparer>
+ <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_19190690972.vts.trace"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_1/target/Android.bp b/contexthub/V1_1/target/Android.bp
new file mode 100644
index 00000000..3b3fccc7
--- /dev/null
+++ b/contexthub/V1_1/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2020 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.
+//
+
+vts_config {
+ name: "VtsHalContexthubV1_1Target",
+}
diff --git a/contexthub/V1_1/target/AndroidTest.xml b/contexthub/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..d7e68c0e
--- /dev/null
+++ b/contexthub/V1_1/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalContexthubV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalContexthubV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalContexthubV1_1TargetTest/VtsHalContexthubV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalContexthubV1_1TargetTest/VtsHalContexthubV1_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/contexthub/V1_1/target_profiling/Android.bp b/contexthub/V1_1/target_profiling/Android.bp
new file mode 100644
index 00000000..045a82d3
--- /dev/null
+++ b/contexthub/V1_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2020 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.
+//
+
+vts_config {
+ name: "VtsHalContexthubV1_1TargetProfiling",
+}
diff --git a/contexthub/__init__.py b/contexthub/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/contexthub/__init__.py
diff --git a/drm/V1_0/target/Android.bp b/drm/V1_0/target/Android.bp
new file mode 100644
index 00000000..ccb507fc
--- /dev/null
+++ b/drm/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalDrmV1_0Target",
+}
diff --git a/drm/V1_0/target/AndroidTest.xml b/drm/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..3e0af675
--- /dev/null
+++ b/drm/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalDrmV1_0Target test cases">
+ <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"/>
+ <option name="push" value="vendor/lib/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/32/lib/libvtswidevine.so"/>
+ <option name="push" value="vendor/lib64/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/64/lib/libvtswidevine.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDrmV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDrmV1_0TargetTest/VtsHalDrmV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/drm/V1_1/adapter/Android.bp b/drm/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..79119b5c
--- /dev/null
+++ b/drm/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalDrmV1_1Adapter",
+}
diff --git a/drm/V1_1/adapter/AndroidTest.xml b/drm/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..17a7730e
--- /dev/null
+++ b/drm/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalDrmV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.drm@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.drm@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.drm@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsMediaTestCases.config"/>
+</configuration>
diff --git a/drm/V1_1/target/Android.bp b/drm/V1_1/target/Android.bp
new file mode 100644
index 00000000..e9a5662d
--- /dev/null
+++ b/drm/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalDrmV1_1Target",
+}
diff --git a/drm/V1_1/target/AndroidTest.xml b/drm/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..42f9586e
--- /dev/null
+++ b/drm/V1_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalDrmV1_1Target test cases">
+ <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"/>
+ <option name="push" value="vendor/lib/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/32/lib/libvtswidevine.so"/>
+ <option name="push" value="vendor/lib64/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/64/lib/libvtswidevine.so"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDrmV1_1Target"/>
+ <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="gtest"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/drm/V1_1/target_profiling/Android.bp b/drm/V1_1/target_profiling/Android.bp
new file mode 100644
index 00000000..58b98d6a
--- /dev/null
+++ b/drm/V1_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalDrmV1_1TargetProfiling",
+}
diff --git a/drm/V1_2/adapter/Android.bp b/drm/V1_2/adapter/Android.bp
new file mode 100644
index 00000000..42813ae8
--- /dev/null
+++ b/drm/V1_2/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalDrmV1_2Adapter",
+}
diff --git a/drm/V1_2/adapter/AndroidTest.xml b/drm/V1_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..eb1d25b0
--- /dev/null
+++ b/drm/V1_2/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalDrmV1_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.drm@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.drm@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.drm@1.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsMediaTestCases.config"/>
+</configuration>
diff --git a/drm/V1_2/target/Android.bp b/drm/V1_2/target/Android.bp
new file mode 100644
index 00000000..eefc9516
--- /dev/null
+++ b/drm/V1_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalDrmV1_2Target",
+}
diff --git a/drm/V1_2/target/AndroidTest.xml b/drm/V1_2/target/AndroidTest.xml
new file mode 100644
index 00000000..9dfc29c4
--- /dev/null
+++ b/drm/V1_2/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalDrmV1_2Target test cases">
+ <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"/>
+ <option name="push" value="vendor/lib/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/32/lib/libvtswidevine.so"/>
+ <option name="push" value="vendor/lib64/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/64/lib/libvtswidevine.so"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDrmV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDrmV1_2TargetTest/VtsHalDrmV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDrmV1_2TargetTest/VtsHalDrmV1_2TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/usb/gadget/V1_2/host/Android.bp b/drm/V1_3/adapter/Android.bp
index 7d71cb46..9094fbce 100644
--- a/usb/gadget/V1_2/host/Android.bp
+++ b/drm/V1_3/adapter/Android.bp
@@ -12,25 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
+vts_config {
+ name: "VtsHalDrmV1_3Adapter",
}
-java_test_host {
- name: "VtsHalUsbGadgetV1_2HostTest",
- libs: [
- "compatibility-host-util",
- "tradefed",
- ],
-
- static_libs: [
- "platform-test-annotations-host",
- ],
-
- srcs: ["src/**/*.java"],
- test_suites: [
- "general-tests",
- "vts",
- ],
-}
diff --git a/drm/V1_3/adapter/AndroidTest.xml b/drm/V1_3/adapter/AndroidTest.xml
new file mode 100644
index 00000000..25fa9dba
--- /dev/null
+++ b/drm/V1_3/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalDrmV1_3Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.drm@1.3"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.drm@1.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.drm@1.3"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsMediaTestCases.config"/>
+</configuration>
diff --git a/drm/V1_3/target/Android.bp b/drm/V1_3/target/Android.bp
new file mode 100644
index 00000000..a9b78979
--- /dev/null
+++ b/drm/V1_3/target/Android.bp
@@ -0,0 +1,21 @@
+// Copyright (C) 2020 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
+
+vts_config {
+ name: "VtsHalDrmV1_3Target",
+}
+
diff --git a/drm/V1_3/target/AndroidTest.xml b/drm/V1_3/target/AndroidTest.xml
new file mode 100644
index 00000000..3788b34c
--- /dev/null
+++ b/drm/V1_3/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalDrmV1_3Target test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-staging-default"/>
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ <option name="push" value="vendor/lib/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/32/lib/libvtswidevine.so"/>
+ <option name="push" value="vendor/lib64/drm-vts-test-libs/libvtswidevine.so->/data/local/tmp/64/lib/libvtswidevine.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDrmV1_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDrmV1_3TargetTest/VtsHalDrmV1_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDrmV1_3TargetTest/VtsHalDrmV1_3TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ </test>
+</configuration>
diff --git a/dumpstate/V1_0/target/Android.bp b/dumpstate/V1_0/target/Android.bp
new file mode 100644
index 00000000..bbf8f2b6
--- /dev/null
+++ b/dumpstate/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalDumpstateV1_0Target",
+}
diff --git a/dumpstate/V1_0/target/AndroidTest.xml b/dumpstate/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..e9f5938f
--- /dev/null
+++ b/dumpstate/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VtsHalDumpstateV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalDumpstateV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDumpstateV1_0TargetTest/VtsHalDumpstateV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDumpstateV1_0TargetTest/VtsHalDumpstateV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/gatekeeper/V1_0/target/Android.bp b/gatekeeper/V1_0/target/Android.bp
new file mode 100644
index 00000000..1b47a845
--- /dev/null
+++ b/gatekeeper/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalGatekeeperV1_0Target",
+}
diff --git a/gatekeeper/V1_0/target/AndroidTest.xml b/gatekeeper/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..0ed21478
--- /dev/null
+++ b/gatekeeper/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGatekeeperV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGatekeeperV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGatekeeperV1_0TargetTest/VtsHalGatekeeperV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGatekeeperV1_0TargetTest/VtsHalGatekeeperV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/gatekeeper/V1_0/target_profiling/Android.bp b/gatekeeper/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..e2256c70
--- /dev/null
+++ b/gatekeeper/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGatekeeperV1_0TargetProfiling",
+}
diff --git a/gatekeeper/V1_0/target_replay/Android.bp b/gatekeeper/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..af5724c5
--- /dev/null
+++ b/gatekeeper/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGatekeeperV1_0TargetReplay",
+}
diff --git a/gatekeeper/V1_0/target_replay/AndroidTest.xml b/gatekeeper/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..50d31b18
--- /dev/null
+++ b/gatekeeper/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGatekeeperV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/gatekeeper/1.0/vts/Gatekeeper.vts->/data/local/tmp/spec/android/hardware/gatekeeper/1.0/Gatekeeper.vts"/>
+ <option name="push" value="spec/hardware/interfaces/gatekeeper/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/gatekeeper/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.gatekeeper@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.gatekeeper@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.gatekeeper@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.gatekeeper@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGatekeeperV1_0TargetReplay"/>
+ <option name="binary-test-type" value="hal_hidl_replay_test"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/gatekeeper/V1_0/android.hardware.gatekeeper_1.0_450525506023.vts.trace"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/gatekeeper/V1_0/android.hardware.gatekeeper_1.0_39493054816.vts.trace"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/gnss/OWNERS b/gnss/OWNERS
new file mode 100644
index 00000000..8da956c0
--- /dev/null
+++ b/gnss/OWNERS
@@ -0,0 +1,5 @@
+wyattriley@google.com
+gomo@google.com
+smalkos@google.com
+yuhany@google.com
+aadmal@google.com
diff --git a/gnss/V1_0/__init__.py b/gnss/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/gnss/V1_0/__init__.py
diff --git a/gnss/V1_0/host/VtsHalGnssV1_0HostTest.py b/gnss/V1_0/host/VtsHalGnssV1_0HostTest.py
new file mode 100644
index 00000000..5a362203
--- /dev/null
+++ b/gnss/V1_0/host/VtsHalGnssV1_0HostTest.py
@@ -0,0 +1,152 @@
+#!/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 keys
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+class VtsHalGnssV1_0HostTest(hal_hidl_host_test.HalHidlHostTest):
+ """A simple testcase for the GNSS HIDL HAL."""
+
+ SYSPROP_GETSTUB = "vts.hal.vts.hidl.get_stub"
+ TEST_HAL_SERVICES = {"android.hardware.gnss@1.0::IGnss"}
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer GNSS service."""
+ super(VtsHalGnssV1_0HostTest, self).setUpClass()
+
+ self.passthrough_mode = self.getUserParam(
+ keys.ConfigKeys.IKEY_PASSTHROUGH_MODE, default_value=True)
+
+ mode = "true" if self.passthrough_mode else "false"
+ self.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))
+
+ 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 00000000..e69de29b
--- /dev/null
+++ b/gnss/V1_0/host/__init__.py
diff --git a/gnss/V1_0/host/binderize/Android.bp b/gnss/V1_0/host/binderize/Android.bp
new file mode 100644
index 00000000..c2b15bab
--- /dev/null
+++ b/gnss/V1_0/host/binderize/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV1_0HostBinderize",
+}
diff --git a/gnss/V1_0/host/binderize/AndroidTest.xml b/gnss/V1_0/host/binderize/AndroidTest.xml
new file mode 100644
index 00000000..93d51f2c
--- /dev/null
+++ b/gnss/V1_0/host/binderize/AndroidTest.xml
@@ -0,0 +1,55 @@
+<?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">
+ <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" />
+ <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>
+ <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.runner_conf" />
+ <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.runner_conf b/gnss/V1_0/host/binderize/VtsHalGnssV1_0HostTest.runner_conf
new file mode 100644
index 00000000..5a94c6fa
--- /dev/null
+++ b/gnss/V1_0/host/binderize/VtsHalGnssV1_0HostTest.runner_conf
@@ -0,0 +1,3 @@
+{
+ "passthrough_mode": False
+}
diff --git a/gnss/V1_0/target/Android.bp b/gnss/V1_0/target/Android.bp
new file mode 100644
index 00000000..d4b6caea
--- /dev/null
+++ b/gnss/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV1_0Target",
+}
diff --git a/gnss/V1_0/target/AndroidTest.xml b/gnss/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..283c1f72
--- /dev/null
+++ b/gnss/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGnssV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGnssV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGnssV1_0TargetTest/VtsHalGnssV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGnssV1_0TargetTest/VtsHalGnssV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/gnss/V1_0/target_profiling/Android.bp b/gnss/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..5a2031f3
--- /dev/null
+++ b/gnss/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV1_0TargetProfiling",
+}
diff --git a/gnss/V1_0/target_profiling/OWNERS b/gnss/V1_0/target_profiling/OWNERS
deleted file mode 100644
index b831eb45..00000000
--- a/gnss/V1_0/target_profiling/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 393449
-yuhany@google.com
diff --git a/gnss/V1_1/adapter/CtsLocationTestCases/Android.bp b/gnss/V1_1/adapter/CtsLocationTestCases/Android.bp
new file mode 100644
index 00000000..85897159
--- /dev/null
+++ b/gnss/V1_1/adapter/CtsLocationTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV1_1AdapterCtsLocationTestCases",
+}
diff --git a/gnss/V1_1/adapter/CtsLocationTestCases/AndroidTest.xml b/gnss/V1_1/adapter/CtsLocationTestCases/AndroidTest.xml
new file mode 100644
index 00000000..449b5cbe
--- /dev/null
+++ b/gnss/V1_1/adapter/CtsLocationTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGnssV1_1AdapterCtsLocationGnssTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.gnss@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.gnss@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.gnss@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsLocationGnssTestCases.config"/>
+</configuration>
diff --git a/gnss/V1_1/adapter/CtsStatsdHostTestCases/Android.bp b/gnss/V1_1/adapter/CtsStatsdHostTestCases/Android.bp
new file mode 100644
index 00000000..f4ea7002
--- /dev/null
+++ b/gnss/V1_1/adapter/CtsStatsdHostTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV1_1AdapterCtsStatsdHostTestCases",
+}
diff --git a/gnss/V1_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml b/gnss/V1_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml
new file mode 100644
index 00000000..7b3db4f4
--- /dev/null
+++ b/gnss/V1_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGnssV1_1AdapterCtsStatsdHostTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.gnss@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.gnss@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.gnss@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsStatsdHostTestCases.config"/>
+</configuration>
diff --git a/gnss/V1_1/target/Android.bp b/gnss/V1_1/target/Android.bp
new file mode 100644
index 00000000..08276fd1
--- /dev/null
+++ b/gnss/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV1_1Target",
+}
diff --git a/gnss/V1_1/target/AndroidTest.xml b/gnss/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..999273b2
--- /dev/null
+++ b/gnss/V1_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGnssV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGnssV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGnssV1_1TargetTest/VtsHalGnssV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGnssV1_1TargetTest/VtsHalGnssV1_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/gnss/V1_1/target/OWNERS b/gnss/V1_1/target/OWNERS
deleted file mode 100644
index b831eb45..00000000
--- a/gnss/V1_1/target/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 393449
-yuhany@google.com
diff --git a/gnss/V2_0/target/Android.bp b/gnss/V2_0/target/Android.bp
new file mode 100644
index 00000000..abb99a85
--- /dev/null
+++ b/gnss/V2_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV2_0Target",
+}
diff --git a/gnss/V2_0/target/AndroidTest.xml b/gnss/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..7ce79390
--- /dev/null
+++ b/gnss/V2_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGnssV2_0Target test cases">
+ <option key="plan" name="config-descriptor:metadata" 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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGnssV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGnssV2_0TargetTest/VtsHalGnssV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGnssV2_0TargetTest/VtsHalGnssV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/gnss/V2_0/target/OWNERS b/gnss/V2_0/target/OWNERS
deleted file mode 100644
index b831eb45..00000000
--- a/gnss/V2_0/target/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 393449
-yuhany@google.com
diff --git a/gnss/V2_1/target/Android.bp b/gnss/V2_1/target/Android.bp
new file mode 100644
index 00000000..b0db29dc
--- /dev/null
+++ b/gnss/V2_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2020 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.
+//
+
+vts_config {
+ name: "VtsHalGnssV2_1Target",
+}
diff --git a/gnss/V2_1/target/AndroidTest.xml b/gnss/V2_1/target/AndroidTest.xml
new file mode 100644
index 00000000..b91c23a1
--- /dev/null
+++ b/gnss/V2_1/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 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 VtsHalGnssV2_1Target test cases">
+ <option key="plan" name="config-descriptor:metadata" 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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGnssV2_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGnssV2_1TargetTest/VtsHalGnssV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGnssV2_1TargetTest/VtsHalGnssV2_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/gnss/__init__.py b/gnss/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/gnss/__init__.py
diff --git a/graphics/OWNERS b/graphics/OWNERS
new file mode 100644
index 00000000..aa7ab0a2
--- /dev/null
+++ b/graphics/OWNERS
@@ -0,0 +1,4 @@
+lpy@google.com
+marissaw@google.com
+stoza@google.com
+vhau@google.com
diff --git a/graphics/common/V1_1/adapter/Android.bp b/graphics/common/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..0640afb4
--- /dev/null
+++ b/graphics/common/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsCommonV1_1Adapter",
+}
diff --git a/graphics/common/V1_1/adapter/AndroidTest.xml b/graphics/common/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..f091f827
--- /dev/null
+++ b/graphics/common/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGraphicsCommonV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.graphics.common@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.graphics.common@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.graphics.common@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+</configuration>
diff --git a/graphics/composer/V2_1/target/Android.bp b/graphics/composer/V2_1/target/Android.bp
new file mode 100644
index 00000000..8bd96398
--- /dev/null
+++ b/graphics/composer/V2_1/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsComposerV2_1Target",
+}
diff --git a/graphics/composer/V2_1/target/AndroidTest.xml b/graphics/composer/V2_1/target/AndroidTest.xml
new file mode 100644
index 00000000..4866dcbe
--- /dev/null
+++ b/graphics/composer/V2_1/target/AndroidTest.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGraphicsComposerV2_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsComposerV2_1Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-filter" value="r(.*\(default\).*)" />
+ <option name="exclude-over-include" value="true" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsComposerV2_1Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsComposerV2_1TargetTest/VtsHalGraphicsComposerV2_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-filter" value="r(.*\(vr\).*)" />
+ <option name="exclude-over-include" value="true" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/graphics/composer/V2_1/target_profiling/Android.bp b/graphics/composer/V2_1/target_profiling/Android.bp
new file mode 100644
index 00000000..18f4f351
--- /dev/null
+++ b/graphics/composer/V2_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsComposerV2_1TargetProfiling",
+}
diff --git a/graphics/composer/V2_2/adapter/Android.bp b/graphics/composer/V2_2/adapter/Android.bp
new file mode 100644
index 00000000..68807ca2
--- /dev/null
+++ b/graphics/composer/V2_2/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsComposerV2_2Adapter",
+}
diff --git a/graphics/composer/V2_2/adapter/AndroidTest.xml b/graphics/composer/V2_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..e04af1b9
--- /dev/null
+++ b/graphics/composer/V2_2/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGraphicsComposerV2_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.graphics.composer@2.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.graphics.composer@2.1-adapter"/>
+ <option name="hal-package-name" value="android.hardware.graphics.composer@2.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsJniTestCases.config"/>
+</configuration>
diff --git a/graphics/composer/V2_2/target/Android.bp b/graphics/composer/V2_2/target/Android.bp
new file mode 100644
index 00000000..44efc65f
--- /dev/null
+++ b/graphics/composer/V2_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsComposerV2_2Target",
+}
diff --git a/graphics/composer/V2_2/target/AndroidTest.xml b/graphics/composer/V2_2/target/AndroidTest.xml
new file mode 100644
index 00000000..15c42a9d
--- /dev/null
+++ b/graphics/composer/V2_2/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGraphicsComposerV2_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsComposerV2_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsComposerV2_2TargetTest/VtsHalGraphicsComposerV2_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsComposerV2_2TargetTest/VtsHalGraphicsComposerV2_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/graphics/composer/V2_3/target/Android.bp b/graphics/composer/V2_3/target/Android.bp
new file mode 100644
index 00000000..6086fc3c
--- /dev/null
+++ b/graphics/composer/V2_3/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsComposerV2_3Target",
+}
diff --git a/graphics/composer/V2_3/target/AndroidTest.xml b/graphics/composer/V2_3/target/AndroidTest.xml
new file mode 100644
index 00000000..708abf54
--- /dev/null
+++ b/graphics/composer/V2_3/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGraphicsComposerV2_3Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsComposerV2_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsComposerV2_3TargetTest/VtsHalGraphicsComposerV2_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsComposerV2_3TargetTest/VtsHalGraphicsComposerV2_3TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/graphics/composer/V2_3/target/OWNERS b/graphics/composer/V2_3/target/OWNERS
deleted file mode 100644
index 2897ba1a..00000000
--- a/graphics/composer/V2_3/target/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-# Bug component: 25423
-stoza@google.com
-lpy@google.com
diff --git a/graphics/mapper/V2_0/target/Android.bp b/graphics/mapper/V2_0/target/Android.bp
new file mode 100644
index 00000000..f4ee115d
--- /dev/null
+++ b/graphics/mapper/V2_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV2_0Target",
+}
diff --git a/graphics/mapper/V2_0/target/AndroidTest.xml b/graphics/mapper/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..00dee205
--- /dev/null
+++ b/graphics/mapper/V2_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGraphicsMapperV2_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsMapperV2_0Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsMapperV2_0TargetTest/VtsHalGraphicsMapperV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsMapperV2_0TargetTest/VtsHalGraphicsMapperV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/graphics/mapper/V2_0/target_profiling/Android.bp b/graphics/mapper/V2_0/target_profiling/Android.bp
new file mode 100644
index 00000000..efc96e77
--- /dev/null
+++ b/graphics/mapper/V2_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV2_0TargetProfiling",
+}
diff --git a/graphics/mapper/V2_1/adapter/Android.bp b/graphics/mapper/V2_1/adapter/Android.bp
new file mode 100644
index 00000000..02d16600
--- /dev/null
+++ b/graphics/mapper/V2_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV2_1Adapter",
+}
diff --git a/graphics/mapper/V2_1/adapter/AndroidTest.xml b/graphics/mapper/V2_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..dcca6b7e
--- /dev/null
+++ b/graphics/mapper/V2_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalGraphicsMapperV2_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.graphics.mapper@2.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.graphics.mapper@2.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.graphics.mapper@2.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsMediaTestCases.config"/>
+</configuration>
diff --git a/graphics/mapper/V2_1/target/Android.bp b/graphics/mapper/V2_1/target/Android.bp
new file mode 100644
index 00000000..54074cc6
--- /dev/null
+++ b/graphics/mapper/V2_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV2_1Target",
+}
diff --git a/graphics/mapper/V2_1/target/AndroidTest.xml b/graphics/mapper/V2_1/target/AndroidTest.xml
new file mode 100644
index 00000000..b124b73e
--- /dev/null
+++ b/graphics/mapper/V2_1/target/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalGraphicsMapperV2_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsMapperV2_1Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsMapperV2_1TargetTest/VtsHalGraphicsMapperV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsMapperV2_1TargetTest/VtsHalGraphicsMapperV2_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/graphics/mapper/V2_1/target_profiling/Android.bp b/graphics/mapper/V2_1/target_profiling/Android.bp
new file mode 100644
index 00000000..1b3a66e6
--- /dev/null
+++ b/graphics/mapper/V2_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV2_1TargetProfiling",
+}
diff --git a/graphics/mapper/V3_0/target/Android.bp b/graphics/mapper/V3_0/target/Android.bp
new file mode 100644
index 00000000..412bd2c8
--- /dev/null
+++ b/graphics/mapper/V3_0/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV3_0Target",
+}
diff --git a/graphics/mapper/V3_0/target/AndroidTest.xml b/graphics/mapper/V3_0/target/AndroidTest.xml
new file mode 100644
index 00000000..848d04f0
--- /dev/null
+++ b/graphics/mapper/V3_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalGraphicsMapperV3_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsMapperV3_0Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsMapperV3_0TargetTest/VtsHalGraphicsMapperV3_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsMapperV3_0TargetTest/VtsHalGraphicsMapperV3_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/graphics/mapper/V3_0/target_profiling/Android.bp b/graphics/mapper/V3_0/target_profiling/Android.bp
new file mode 100644
index 00000000..23ef6c93
--- /dev/null
+++ b/graphics/mapper/V3_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV3_0TargetProfiling",
+}
diff --git a/graphics/mapper/V4_0/target/Android.bp b/graphics/mapper/V4_0/target/Android.bp
new file mode 100644
index 00000000..f362ccdc
--- /dev/null
+++ b/graphics/mapper/V4_0/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV4_0Target",
+}
diff --git a/graphics/mapper/V4_0/target/AndroidTest.xml b/graphics/mapper/V4_0/target/AndroidTest.xml
new file mode 100644
index 00000000..6a8bcff2
--- /dev/null
+++ b/graphics/mapper/V4_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalGraphicsMapperV4_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalGraphicsMapperV4_0Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalGraphicsMapperV4_0TargetTest/VtsHalGraphicsMapperV4_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalGraphicsMapperV4_0TargetTest/VtsHalGraphicsMapperV4_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/graphics/mapper/V4_0/target_profiling/Android.bp b/graphics/mapper/V4_0/target_profiling/Android.bp
new file mode 100644
index 00000000..a859520f
--- /dev/null
+++ b/graphics/mapper/V4_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalGraphicsMapperV4_0TargetProfiling",
+}
diff --git a/health/V1_0/target/Android.bp b/health/V1_0/target/Android.bp
new file mode 100644
index 00000000..ae698830
--- /dev/null
+++ b/health/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalHealthV1_0Target",
+}
diff --git a/health/V1_0/target/AndroidTest.xml b/health/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..baf4dac5
--- /dev/null
+++ b/health/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalHealthV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalHealthV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalHealthV1_0TargetTest/VtsHalHealthV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalHealthV1_0TargetTest/VtsHalHealthV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/health/V1_0/target_profiling/Android.bp b/health/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..8e046c10
--- /dev/null
+++ b/health/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalHealthV1_0TargetProfiling",
+}
diff --git a/health/V2_0/target/Android.bp b/health/V2_0/target/Android.bp
new file mode 100644
index 00000000..829c9ec4
--- /dev/null
+++ b/health/V2_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalHealthV2_0Target",
+}
diff --git a/health/V2_0/target/AndroidTest.xml b/health/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..bffe376c
--- /dev/null
+++ b/health/V2_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalHealthV2_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalHealthV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalHealthV2_0TargetTest/VtsHalHealthV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalHealthV2_0TargetTest/VtsHalHealthV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/health/storage/V1_0/target/Android.bp b/health/storage/V1_0/target/Android.bp
new file mode 100644
index 00000000..ce6fc56d
--- /dev/null
+++ b/health/storage/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalHealthStorageV1_0Target",
+}
diff --git a/health/storage/V1_0/target/AndroidTest.xml b/health/storage/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..df565977
--- /dev/null
+++ b/health/storage/V1_0/target/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalHealthStorageV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalHealthStorageV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalHealthStorageV1_0TargetTest/VtsHalHealthStorageV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalHealthStorageV1_0TargetTest/VtsHalHealthStorageV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/input/OWNERS b/input/OWNERS
new file mode 100644
index 00000000..1c7fadb3
--- /dev/null
+++ b/input/OWNERS
@@ -0,0 +1,3 @@
+michaelwr@google.com
+pquinn@google.com
+svv@google.com
diff --git a/input/classifier/V1_0/target/Android.bp b/input/classifier/V1_0/target/Android.bp
new file mode 100644
index 00000000..8332eb49
--- /dev/null
+++ b/input/classifier/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalInputClassifierV1_0Target",
+}
diff --git a/input/classifier/V1_0/target/AndroidTest.xml b/input/classifier/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..f9bb4afd
--- /dev/null
+++ b/input/classifier/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalInputClassifierV1_0Target test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-staging-default"/>
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalInputClassifierV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalInputClassifierV1_0Target/VtsHalInputClassifierV1_0Target"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalInputClassifierV1_0Target/VtsHalInputClassifierV1_0Target"/>
+ <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="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/ir/V1_0/target/Android.bp b/ir/V1_0/target/Android.bp
new file mode 100644
index 00000000..8ada0f69
--- /dev/null
+++ b/ir/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalIrV1_0Target",
+}
diff --git a/ir/V1_0/target/AndroidTest.xml b/ir/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..ad1a1abb
--- /dev/null
+++ b/ir/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalIrV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalIrV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalIrV1_0TargetTest/VtsHalIrV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalIrV1_0TargetTest/VtsHalIrV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/ir/V1_0/target_profiling/Android.bp b/ir/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..a54183e8
--- /dev/null
+++ b/ir/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalIrV1_0TargetProfiling",
+}
diff --git a/keymaster/V3_0/target/Android.bp b/keymaster/V3_0/target/Android.bp
new file mode 100644
index 00000000..050f06a4
--- /dev/null
+++ b/keymaster/V3_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalKeymasterV3_0Target",
+}
diff --git a/keymaster/V3_0/target/AndroidTest.xml b/keymaster/V3_0/target/AndroidTest.xml
new file mode 100644
index 00000000..da072a88
--- /dev/null
+++ b/keymaster/V3_0/target/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 VtsHalKeymasterV3_0Target test cases">
+ <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="HalHidlHostTest.push"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalKeymasterV3_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalKeymasterV3_0TargetTest/VtsHalKeymasterV3_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalKeymasterV3_0TargetTest/VtsHalKeymasterV3_0TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/keymaster/V3_0/target_replay/Android.bp b/keymaster/V3_0/target_replay/Android.bp
new file mode 100644
index 00000000..5d8e2fed
--- /dev/null
+++ b/keymaster/V3_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalKeymasterV3_0TargetReplay",
+}
diff --git a/keymaster/V3_0/target_replay/AndroidTest.xml b/keymaster/V3_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..2e4bd836
--- /dev/null
+++ b/keymaster/V3_0/target_replay/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalKeymasterV3_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/keymaster/3.0/vts/KeymasterDevice.vts->/data/local/tmp/spec/android/hardware/keymaster/3.0/KeymasterDevice.vts"/>
+ <option name="push" value="spec/hardware/interfaces/keymaster/3.0/vts/types.vts->/data/local/tmp/spec/android/hardware/keymaster/3.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.keymaster@3.0-vts.driver.so->/data/local/tmp/32/android.hardware.keymaster@3.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.keymaster@3.0-vts.driver.so->/data/local/tmp/64/android.hardware.keymaster@3.0-vts.driver.so"/>
+ </target_preparer>
+ <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_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="test-timeout" value="6m"/>
+ </test>
+</configuration>
diff --git a/keymaster/V4_0/target/Android.bp b/keymaster/V4_0/target/Android.bp
new file mode 100644
index 00000000..d8482d47
--- /dev/null
+++ b/keymaster/V4_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalKeymasterV4_0Target",
+}
diff --git a/keymaster/V4_0/target/AndroidTest.xml b/keymaster/V4_0/target/AndroidTest.xml
new file mode 100644
index 00000000..b2ea33b6
--- /dev/null
+++ b/keymaster/V4_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalKeymasterV4_0Target test cases">
+ <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="HalHidlHostTest.push"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalKeymasterV4_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalKeymasterV4_0TargetTest/VtsHalKeymasterV4_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalKeymasterV4_0TargetTest/VtsHalKeymasterV4_0TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/light/V2_0/target/Android.bp b/light/V2_0/target/Android.bp
new file mode 100644
index 00000000..02cf6fc6
--- /dev/null
+++ b/light/V2_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalLightV2_0Target",
+}
diff --git a/light/V2_0/target/AndroidTest.xml b/light/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..4a76e52a
--- /dev/null
+++ b/light/V2_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalLightV2_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalLightV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalLightV2_0TargetTest/VtsHalLightV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalLightV2_0TargetTest/VtsHalLightV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/light/V2_0/target_profiling/Android.bp b/light/V2_0/target_profiling/Android.bp
new file mode 100644
index 00000000..66a632f0
--- /dev/null
+++ b/light/V2_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalLightV2_0TargetProfiling",
+}
diff --git a/light/V2_0/target_replay/Android.bp b/light/V2_0/target_replay/Android.bp
new file mode 100644
index 00000000..ebb957f4
--- /dev/null
+++ b/light/V2_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalLightV2_0TargetReplay",
+}
diff --git a/light/V2_0/target_replay/AndroidTest.xml b/light/V2_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..6523beff
--- /dev/null
+++ b/light/V2_0/target_replay/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalLightV2_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.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>
+ <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_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="test-timeout" value="5m" />
+ </test>
+</configuration>
diff --git a/media/__init__.py b/media/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/media/__init__.py
diff --git a/media/omx/V1_0/__init__.py b/media/omx/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/media/omx/V1_0/__init__.py
diff --git a/media/omx/V1_0/host_omxstore/Android.bp b/media/omx/V1_0/host_omxstore/Android.bp
new file mode 100644
index 00000000..2f92d450
--- /dev/null
+++ b/media/omx/V1_0/host_omxstore/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalMediaOmxStoreV1_0Host",
+}
diff --git a/media/omx/V1_0/host_omxstore/AndroidTest.xml b/media/omx/V1_0/host_omxstore/AndroidTest.xml
new file mode 100644
index 00000000..4dbec0fd
--- /dev/null
+++ b/media/omx/V1_0/host_omxstore/AndroidTest.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalMediaOmxStoreV1_0Host test cases">
+ <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="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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalMediaOmxStoreV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest.py b/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest.py
new file mode 100644
index 00000000..8dc56e9c
--- /dev/null
+++ b/media/omx/V1_0/host_omxstore/VtsHalMediaOmxStoreV1_0HostTest.py
@@ -0,0 +1,483 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+"""This module is for VTS test cases involving IOmxStore and IOmx::listNodes().
+
+VtsHalMediaOmxStoreV1_0Host derives from base_test.BaseTestClass. It contains
+two independent tests: testListServiceAttributes() and
+testQueryCodecInformation(). The first one tests
+IOmxStore::listServiceAttributes() while the second one test multiple functions
+in IOmxStore as well as check the consistency of the return values with
+IOmx::listNodes().
+
+"""
+
+import logging
+import re
+
+from vts.runners.host import asserts
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+OMXSTORE_V1_0_HAL = "android.hardware.media.omx@1.0::IOmxStore"
+
+class VtsHalMediaOmxStoreV1_0Host(hal_hidl_host_test.HalHidlHostTest):
+ """Host test class to run the Media_OmxStore HAL."""
+
+ TEST_HAL_SERVICES = {OMXSTORE_V1_0_HAL}
+
+ def setUpClass(self):
+ super(VtsHalMediaOmxStoreV1_0Host, self).setUpClass()
+
+ 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',
+ hw_binder_service_name=self.getHalServiceName(OMXSTORE_V1_0_HAL),
+ bits=int(self.abi_bitness))
+
+ self.omxstore = self.dut.hal.media_omx
+ self.vtypes = self.omxstore.GetHidlTypeInterface('types')
+
+ def testListServiceAttributes(self):
+ """Test IOmxStore::listServiceAttributes().
+
+ Tests that IOmxStore::listServiceAttributes() can be called
+ successfully and returns sensible attributes.
+
+ An attribute has a name (key) and a value. Known attributes (represented
+ by variable "known" below) have certain specifications for valid values.
+ Unknown attributes that start with 'supports-' should only have '0' or
+ '1' as their value. Other unknown attributes do not cause the test to
+ fail, but are reported as warnings in the host log.
+
+ """
+
+ status, attributes = self.omxstore.listServiceAttributes()
+ asserts.assertEqual(self.vtypes.Status.OK, status,
+ 'listServiceAttributes() fails.')
+
+ # known is a dictionary whose keys are the known "key" for a service
+ # attribute pair (see IOmxStore::Attribute), and whose values are the
+ # corresponding regular expressions that will have to match with the
+ # "value" of the attribute pair. If listServiceAttributes() returns an
+ # attribute that has a matching key but an unmatched value, the test
+ # will fail.
+ known = {
+ 'max-video-encoder-input-buffers': re.compile('0|[1-9][0-9]*'),
+ 'supports-multiple-secure-codecs': re.compile('0|1'),
+ 'supports-secure-with-non-secure-codec': re.compile('0|1'),
+ }
+ # unknown is a list of pairs of regular expressions. For each attribute
+ # whose key is not known (i.e., does not match any of the keys in the
+ # "known" variable defined above), that key will be tried for a match
+ # with the first element of each pair of the variable "unknown". If a
+ # match occurs, the value of that same attribute will be tried for a
+ # match with the second element of the pair. If this second match fails,
+ # the test will fail.
+ unknown = [
+ (re.compile(r'supports-[a-z0-9\-]*'), re.compile('0|1')),
+ ]
+
+ # key_set is used to verify that listServiceAttributes() does not return
+ # duplicate attribute names.
+ key_set = set()
+ for attr in attributes:
+ attr_key = attr['key']
+ attr_value = attr['value']
+
+ # attr_key must not have been seen before.
+ asserts.assertTrue(
+ attr_key not in key_set,
+ 'Service attribute "' + attr_key + '" has duplicates.')
+ key_set.add(attr_key)
+
+ if attr_key in known:
+ asserts.assertTrue(
+ known[attr_key].match(attr_value),
+ 'Service attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ else:
+ matched = False
+ for key_re, value_re in unknown:
+ if key_re.match(attr_key):
+ asserts.assertTrue(
+ value_re.match(attr_value),
+ 'Service attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ matched = True
+ if not matched:
+ logging.warning(
+ 'Unrecognized service attribute "' + attr_key + '" ' +
+ 'with value "' + attr_value + '".')
+
+ def testQueryCodecInformation(self):
+ """Query and verify information from IOmxStore and IOmx::listNodes().
+
+ This function performs three main checks:
+ 1. Information about roles and nodes returned from
+ IOmxStore::listRoles() conforms to the specifications in
+ IOmxStore.hal.
+ 2. Each node present in the information returned from
+ IOmxStore::listRoles() must be supported by its owner. A node is
+ considered "supported" by its owner if the IOmx instance
+ corresponding to that owner returns that node and all associated
+ roles when IOmx::listNodes() is called.
+ 3. The prefix string obtained form IOmxStore::getNodePrefix() must be
+ sensible, and is indeed a prefix of all the node names.
+
+ In step 1, node attributes are validated in the same manner as how
+ service attributes are validated in testListServiceAttributes().
+ Role names and mime types must be recognized by the function get_role()
+ defined below.
+
+ """
+
+ # Basic patterns for matching
+ class Pattern(object):
+ toggle = '(0|1)'
+ string = '(.*)'
+ num = '(0|([1-9][0-9]*))'
+ size = '(' + num + 'x' + num + ')'
+ ratio = '(' + num + ':' + num + ')'
+ range_num = '((' + num + '-' + num + ')|' + num + ')'
+ range_size = '((' + size + '-' + size + ')|' + size + ')'
+ range_ratio = '((' + ratio + '-' + ratio + ')|' + ratio + ')'
+ list_range_num = '(' + range_num + '(,' + range_num + ')*)'
+
+ # Matching rules for node attributes with fixed keys
+ attr_re = {
+ 'alignment' : Pattern.size,
+ 'bitrate-range' : Pattern.range_num,
+ 'block-aspect-ratio-range' : Pattern.range_ratio,
+ 'block-count-range' : Pattern.range_num,
+ 'block-size' : Pattern.size,
+ 'blocks-per-second-range' : Pattern.range_num,
+ 'complexity-default' : Pattern.num,
+ 'complexity-range' : Pattern.range_num,
+ 'feature-adaptive-playback' : Pattern.toggle,
+ 'feature-bitrate-control' : '(VBR|CBR|CQ)[,(VBR|CBR|CQ)]*',
+ 'feature-can-swap-width-height' : Pattern.toggle,
+ 'feature-intra-refresh' : Pattern.toggle,
+ 'feature-partial-frame' : Pattern.toggle,
+ 'feature-secure-playback' : Pattern.toggle,
+ 'feature-tunneled-playback' : Pattern.toggle,
+ 'frame-rate-range' : Pattern.range_num,
+ 'max-channel-count' : Pattern.num,
+ 'max-concurrent-instances' : Pattern.num,
+ 'max-supported-instances' : Pattern.num,
+ 'pixel-aspect-ratio-range' : Pattern.range_ratio,
+ 'quality-default' : Pattern.num,
+ 'quality-range' : Pattern.range_num,
+ 'quality-scale' : Pattern.string,
+ 'sample-rate-ranges' : Pattern.list_range_num,
+ 'size-range' : Pattern.range_size,
+ }
+
+ # Matching rules for node attributes with key patterns
+ attr_pattern_re = [
+ ('measured-frame-rate-' + Pattern.size +
+ '-range', Pattern.range_num),
+ (r'feature-[a-zA-Z0-9_\-]+', Pattern.string),
+ ]
+
+ # Matching rules for node names and owners
+ node_name_re = r'[a-zA-Z0-9.\-]+'
+ node_owner_re = r'[a-zA-Z0-9._\-]+'
+
+ # Compile all regular expressions
+ for key in attr_re:
+ attr_re[key] = re.compile(attr_re[key])
+ for index, value in enumerate(attr_pattern_re):
+ attr_pattern_re[index] = (re.compile(value[0]),
+ re.compile(value[1]))
+ node_name_re = re.compile(node_name_re)
+ node_owner_re = re.compile(node_owner_re)
+
+ # Mapping from mime types to roles.
+ # These values come from MediaDefs.cpp and OMXUtils.cpp
+ audio_mime_to_role = {
+ '3gpp' : 'amrnb',
+ 'ac3' : 'ac3',
+ 'amr-wb' : 'amrwb',
+ 'eac3' : 'eac3',
+ 'flac' : 'flac',
+ 'g711-alaw' : 'g711alaw',
+ 'g711-mlaw' : 'g711mlaw',
+ 'gsm' : 'gsm',
+ 'mp4a-latm' : 'aac',
+ 'mpeg' : 'mp3',
+ 'mpeg-L1' : 'mp1',
+ 'mpeg-L2' : 'mp2',
+ 'opus' : 'opus',
+ 'raw' : 'raw',
+ 'vorbis' : 'vorbis',
+ }
+ video_mime_to_role = {
+ '3gpp' : 'h263',
+ 'avc' : 'avc',
+ 'dolby-vision' : 'dolby-vision',
+ 'hevc' : 'hevc',
+ 'mp4v-es' : 'mpeg4',
+ 'mpeg2' : 'mpeg2',
+ 'x-vnd.on2.vp8' : 'vp8',
+ 'x-vnd.on2.vp9' : 'vp9',
+ }
+ image_mime_to_role = {
+ 'vnd.android.heic' : 'heic',
+ }
+ def get_role(is_encoder, mime):
+ """Returns the role based on is_encoder and mime.
+
+ The mapping from a pair (is_encoder, mime) to a role string is
+ defined in frameworks/av/media/libmedia/MediaDefs.cpp and
+ frameworks/av/media/libstagefright/omx/OMXUtils.cpp. This function
+ does essentially the same work as GetComponentRole() in
+ OMXUtils.cpp.
+
+ Args:
+ is_encoder: A boolean indicating whether the role is for an
+ encoder or a decoder.
+ mime: A string of the desired mime type.
+
+ Returns:
+ A string for the requested role name, or None if mime is not
+ recognized.
+ """
+ mime_suffix = mime[6:]
+ middle = 'encoder.' if is_encoder else 'decoder.'
+ if mime.startswith('audio/'):
+ if mime_suffix not in audio_mime_to_role:
+ return None
+ prefix = 'audio_'
+ suffix = audio_mime_to_role[mime_suffix]
+ elif mime.startswith('video/'):
+ if mime_suffix not in video_mime_to_role:
+ return None
+ prefix = 'video_'
+ suffix = video_mime_to_role[mime_suffix]
+ elif mime.startswith('image/'):
+ if mime_suffix not in image_mime_to_role:
+ return None
+ prefix = 'image_'
+ suffix = image_mime_to_role[mime_suffix]
+ else:
+ return None
+ return prefix + middle + suffix
+
+ # The test code starts here.
+ roles = self.omxstore.listRoles()
+ if len(roles) == 0:
+ logging.warning('IOmxStore has an empty implementation. Skipping...')
+ return
+
+ # A map from a node name to a set of roles.
+ node2roles = {}
+
+ # A map from an owner to a set of node names.
+ owner2nodes = {}
+
+ logging.info('Testing IOmxStore::listRoles()...')
+ # role_set is used for checking if there are duplicate roles.
+ role_set = set()
+ for role in roles:
+ role_name = role['role']
+ mime_type = role['type']
+ is_encoder = role['isEncoder']
+ nodes = role['nodes']
+
+ # The role name must not have duplicates.
+ asserts.assertFalse(
+ role_name in role_set,
+ 'Role "' + role_name + '" has duplicates.')
+
+ queried_role = get_role(is_encoder, mime_type)
+ # If mime_type is not recognized, skip it.
+ if queried_role is None:
+ logging.info(
+ 'Unrecognized mime type "' +
+ mime_type + '", skipping.')
+ continue
+
+ # Otherwise, type and isEncoder must be consistent with role.
+ asserts.assertEqual(
+ role_name, queried_role,
+ 'Role "' + role_name + '" does not match ' +
+ ('an encoder ' if is_encoder else 'a decoder ') +
+ 'for mime type "' + mime_type + '"')
+
+ # Save the role name to check for duplicates.
+ role_set.add(role_name)
+
+ # Ignore role.preferPlatformNodes for now.
+
+ # node_set is used for checking if there are duplicate node names
+ # for each role.
+ node_set = set()
+ for node in nodes:
+ node_name = node['name']
+ owner = node['owner']
+ attributes = node['attributes']
+
+ # For each role, the node name must not have duplicates.
+ asserts.assertFalse(
+ node_name in node_set,
+ 'Node "' + node_name + '" has duplicates for the same ' +
+ 'role "' + queried_role + '".')
+
+ # Check the format of node name
+ asserts.assertTrue(
+ node_name_re.match(node_name),
+ 'Node name "' + node_name + '" is invalid.')
+ # Check the format of node owner
+ asserts.assertTrue(
+ node_owner_re.match(owner),
+ 'Node owner "' + owner + '" is invalid.')
+
+ attr_map = {}
+ for attr in attributes:
+ attr_key = attr['key']
+ attr_value = attr['value']
+
+ # For each node and each role, the attribute key must not
+ # have duplicates.
+ asserts.assertFalse(
+ attr_key in attr_map,
+ 'Attribute "' + attr_key +
+ '" for node "' + node_name +
+ '"has duplicates.')
+
+ # Check the value against the corresponding regular
+ # expression.
+ if attr_key in attr_re:
+ asserts.assertTrue(
+ attr_re[attr_key].match(attr_value),
+ 'Attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ else:
+ key_found = False
+ for pattern_key, pattern_value in attr_pattern_re:
+ if pattern_key.match(attr_key):
+ asserts.assertTrue(
+ pattern_value.match(attr_value),
+ 'Attribute "' + attr_key + '" has ' +
+ 'invalid value "' + attr_value + '".')
+ key_found = True
+ break
+ if not key_found:
+ logging.warning(
+ 'Unknown attribute "' +
+ attr_key + '" with value "' +
+ attr_value + '".')
+
+ # Store the key-value pair
+ attr_map[attr_key] = attr_value
+
+ if node_name not in node2roles:
+ node2roles[node_name] = {queried_role,}
+ if owner not in owner2nodes:
+ owner2nodes[owner] = {node_name,}
+ else:
+ owner2nodes[owner].add(node_name)
+ else:
+ node2roles[node_name].add(queried_role)
+
+ # Verify the information with IOmx::listNodes().
+ # IOmxStore::listRoles() and IOmx::listNodes() should give consistent
+ # information about nodes and roles.
+ logging.info('Verifying with IOmx::listNodes()...')
+ for owner in owner2nodes:
+ # Obtain the IOmx instance for each "owner"
+ omx = self.omxstore.getOmx(owner)
+ asserts.assertTrue(
+ omx,
+ 'Cannot obtain IOmx instance "' + owner + '".')
+
+ # Invoke IOmx::listNodes()
+ status, node_info_list = omx.listNodes()
+ asserts.assertEqual(
+ self.vtypes.Status.OK, status,
+ 'IOmx::listNodes() fails for IOmx instance "' + owner + '".')
+
+ # Verify that roles for each node match with the information from
+ # IOmxStore::listRoles().
+ node_set = set()
+ for node_info in node_info_list:
+ node = node_info['mName']
+ roles = node_info['mRoles']
+
+ # IOmx::listNodes() should not list duplicate node names.
+ asserts.assertFalse(
+ node in node_set,
+ 'IOmx::listNodes() lists duplicate nodes "' + node + '".')
+ node_set.add(node)
+
+ # Skip "hidden" nodes, i.e. those that are not advertised by
+ # IOmxStore::listRoles().
+ if node not in owner2nodes[owner]:
+ logging.warning(
+ 'IOmx::listNodes() lists unknown node "' + node +
+ '" for IOmx instance "' + owner + '".')
+ continue
+
+ # All the roles advertised by IOmxStore::listRoles() for this
+ # node must be included in role_set.
+ role_set = set(roles)
+ asserts.assertTrue(
+ node2roles[node] <= role_set,
+ 'IOmx::listNodes() for IOmx instance "' + owner + '" ' +
+ 'does not report some roles for node "' + node + '": ' +
+ ', '.join(node2roles[node] - role_set))
+
+ # Try creating the node.
+ status, omxNode = omx.allocateNode(node, None)
+ asserts.assertEqual(
+ self.vtypes.Status.OK, status,
+ 'IOmx::allocateNode() for IOmx instance "' + owner + '" ' +
+ 'fails to allocate node "' + node +'".')
+ status = omxNode.freeNode()
+
+ # Check that all nodes obtained from IOmxStore::listRoles() are
+ # supported by the their corresponding IOmx instances.
+ node_set_diff = owner2nodes[owner] - node_set
+ asserts.assertFalse(
+ node_set_diff,
+ 'IOmx::listNodes() for IOmx instance "' + owner + '" ' +
+ 'does not report some expected nodes: ' +
+ ', '.join(node_set_diff) + '.')
+
+ # Check that the prefix is a sensible string.
+ if node2roles:
+ # Call IOmxStore::getNodePrefix().
+ prefix = self.omxstore.getNodePrefix()
+ logging.info('Checking node prefix: ' +
+ 'IOmxStore::getNodePrefix() returns "' + prefix + '".')
+
+ asserts.assertTrue(
+ node_name_re.match(prefix),
+ '"' + prefix + '" is not a valid prefix for node names.')
+
+ # Check that all node names have the said prefix.
+ for node in node2roles:
+ asserts.assertTrue(
+ node.startswith(prefix),
+ 'Node "' + node + '" does not start with ' +
+ 'prefix "' + prefix + '".')
+
+if __name__ == '__main__':
+ test_runner.main()
diff --git a/media/omx/V1_0/host_omxstore/__init__.py b/media/omx/V1_0/host_omxstore/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/media/omx/V1_0/host_omxstore/__init__.py
diff --git a/media/omx/__init__.py b/media/omx/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/media/omx/__init__.py
diff --git a/memtrack/V1_0/target/Android.bp b/memtrack/V1_0/target/Android.bp
new file mode 100644
index 00000000..50c00560
--- /dev/null
+++ b/memtrack/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalMemtrackV1_0Target",
+}
diff --git a/memtrack/V1_0/target/AndroidTest.xml b/memtrack/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..d775ab69
--- /dev/null
+++ b/memtrack/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalMemtrackV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalMemtrackV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalMemtrackV1_0TargetTest/VtsHalMemtrackV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalMemtrackV1_0TargetTest/VtsHalMemtrackV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/memtrack/V1_0/target_profiling/Android.bp b/memtrack/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..ca5e665b
--- /dev/null
+++ b/memtrack/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalMemtrackV1_0TargetProfiling",
+}
diff --git a/memtrack/V1_0/target_replay/Android.bp b/memtrack/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..c0cc72af
--- /dev/null
+++ b/memtrack/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalMemtrackV1_0TargetReplay",
+}
diff --git a/memtrack/V1_0/target_replay/AndroidTest.xml b/memtrack/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..f891595b
--- /dev/null
+++ b/memtrack/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalMemtrackV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <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>
+ <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_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="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/net/netd/V1_0/target/Android.bp b/net/netd/V1_0/target/Android.bp
new file mode 100644
index 00000000..60263627
--- /dev/null
+++ b/net/netd/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNetNetdV1_0Target",
+}
diff --git a/net/netd/V1_0/target/AndroidTest.xml b/net/netd/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..79b89afe
--- /dev/null
+++ b/net/netd/V1_0/target/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalNetNetdV1_0Target test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-staging-default"/>
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNetNetdV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNetNetdV1_0TargetTest/VtsHalNetNetdV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNetNetdV1_0TargetTest/VtsHalNetNetdV1_0TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/net/netd/V1_1/target/Android.bp b/net/netd/V1_1/target/Android.bp
new file mode 100644
index 00000000..70414ace
--- /dev/null
+++ b/net/netd/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNetNetdV1_1Target",
+}
diff --git a/net/netd/V1_1/target/AndroidTest.xml b/net/netd/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..8a99036e
--- /dev/null
+++ b/net/netd/V1_1/target/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalNetNetdV1_1Target test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-staging-default"/>
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNetNetdV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNetNetdV1_1TargetTest/VtsHalNetNetdV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNetNetdV1_1TargetTest/VtsHalNetNetdV1_1TargetTest"/>
+ <option name="binary-test-type" value="hal_hidl_gtest"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/neuralnetworks/V1_0/target/Android.bp b/neuralnetworks/V1_0/target/Android.bp
new file mode 100644
index 00000000..518858e6
--- /dev/null
+++ b/neuralnetworks/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_0Target",
+}
diff --git a/neuralnetworks/V1_0/target_profiling/Android.bp b/neuralnetworks/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..4cf8f84c
--- /dev/null
+++ b/neuralnetworks/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_0TargetProfiling",
+}
diff --git a/neuralnetworks/V1_1/adapter/Android.bp b/neuralnetworks/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..132760dd
--- /dev/null
+++ b/neuralnetworks/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_1Adapter",
+}
diff --git a/neuralnetworks/V1_1/adapter/AndroidTest.xml b/neuralnetworks/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..c8142eb4
--- /dev/null
+++ b/neuralnetworks/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalNeuralnetworksV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.neuralnetworks@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.neuralnetworks@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.neuralnetworks@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsNNAPITestCases.config"/>
+</configuration>
diff --git a/neuralnetworks/V1_1/target/Android.bp b/neuralnetworks/V1_1/target/Android.bp
new file mode 100644
index 00000000..aaba228f
--- /dev/null
+++ b/neuralnetworks/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_1Target",
+}
diff --git a/neuralnetworks/V1_1/target_profiling/Android.bp b/neuralnetworks/V1_1/target_profiling/Android.bp
new file mode 100644
index 00000000..ace99e15
--- /dev/null
+++ b/neuralnetworks/V1_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_1TargetProfiling",
+}
diff --git a/neuralnetworks/V1_2/adapter/Android.bp b/neuralnetworks/V1_2/adapter/Android.bp
new file mode 100644
index 00000000..7c08d99c
--- /dev/null
+++ b/neuralnetworks/V1_2/adapter/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_2Adapter",
+}
diff --git a/neuralnetworks/V1_2/adapter/AndroidTest.xml b/neuralnetworks/V1_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..da8e838a
--- /dev/null
+++ b/neuralnetworks/V1_2/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalNeuralnetworksV1_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.neuralnetworks@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.neuralnetworks@1.1-adapter"/>
+ <option name="hal-package-name" value="android.hardware.neuralnetworks@1.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsNNAPITestCases.config"/>
+</configuration>
diff --git a/neuralnetworks/V1_2/benchmark/java/Android.mk b/neuralnetworks/V1_2/benchmark/java/Android.mk
index 082779a4..4407809a 100644
--- a/neuralnetworks/V1_2/benchmark/java/Android.mk
+++ b/neuralnetworks/V1_2/benchmark/java/Android.mk
@@ -17,8 +17,6 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := VtsHalNeuralnetworksV1_2BenchmarkTestCases
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
# Don't include this package in any target
LOCAL_MODULE_TAGS := optional
@@ -35,10 +33,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules android.hidl.manager-V1.2-jav
compatibility-device-util-axt ctstestrunner-axt junit NeuralNetworksApiBenchmark_Lib
LOCAL_JNI_SHARED_LIBRARIES := libnnbenchmark_jni
-# Disable dexpreopt and <uses-library> check for test.
-LOCAL_ENFORCE_USES_LIBRARIES := false
-LOCAL_DEX_PREOPT := false
-
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_ASSET_DIR := test/mlts/models/assets
diff --git a/neuralnetworks/V1_2/benchmark/java/AndroidManifest.xml b/neuralnetworks/V1_2/benchmark/java/AndroidManifest.xml
index c2788f4b..d3803c09 100644
--- a/neuralnetworks/V1_2/benchmark/java/AndroidManifest.xml
+++ b/neuralnetworks/V1_2/benchmark/java/AndroidManifest.xml
@@ -21,8 +21,7 @@
<uses-sdk android:minSdkVersion="29"/>
<application android:name=".NNAccuracyApplication">
- <activity android:name=".NNAccuracyActivity"
- android:exported="true">
+ <activity android:name=".NNAccuracyActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
diff --git a/neuralnetworks/V1_2/benchmark/java/AndroidTest.xml b/neuralnetworks/V1_2/benchmark/java/AndroidTest.xml
index 681bed8d..4c258c8a 100644
--- a/neuralnetworks/V1_2/benchmark/java/AndroidTest.xml
+++ b/neuralnetworks/V1_2/benchmark/java/AndroidTest.xml
@@ -26,6 +26,5 @@
<test class="com.android.tradefed.testtype.AndroidJUnitTest" >
<option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
<option name="package" value="com.android.nn.benchmark.vts.v1_2" />
- <option name="test-timeout" value="2h"/>
</test>
-</configuration>
+</configuration> \ No newline at end of file
diff --git a/neuralnetworks/V1_2/target/Android.bp b/neuralnetworks/V1_2/target/Android.bp
new file mode 100644
index 00000000..ab8b53cd
--- /dev/null
+++ b/neuralnetworks/V1_2/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_2Target",
+}
diff --git a/neuralnetworks/V1_3/adapter/Android.bp b/neuralnetworks/V1_3/adapter/Android.bp
new file mode 100644
index 00000000..af20d16a
--- /dev/null
+++ b/neuralnetworks/V1_3/adapter/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_3Adapter",
+}
diff --git a/neuralnetworks/V1_3/adapter/AndroidTest.xml b/neuralnetworks/V1_3/adapter/AndroidTest.xml
new file mode 100644
index 00000000..7a849a43
--- /dev/null
+++ b/neuralnetworks/V1_3/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalNeuralnetworksV1_3Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.neuralnetworks@1.3"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.neuralnetworks@1.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.neuralnetworks@1.3"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsNNAPITestCases.config"/>
+</configuration>
diff --git a/neuralnetworks/V1_3/benchmark/java/Android.mk b/neuralnetworks/V1_3/benchmark/java/Android.mk
index 6850fa08..a5beae9e 100644
--- a/neuralnetworks/V1_3/benchmark/java/Android.mk
+++ b/neuralnetworks/V1_3/benchmark/java/Android.mk
@@ -17,8 +17,6 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := VtsHalNeuralnetworksV1_3BenchmarkTestCases
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
# Don't include this package in any target
LOCAL_MODULE_TAGS := optional
@@ -35,10 +33,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules android.hidl.manager-V1.2-jav
compatibility-device-util-axt ctstestrunner-axt junit NeuralNetworksApiBenchmark_Lib
LOCAL_JNI_SHARED_LIBRARIES := libnnbenchmark_jni
-# Disable dexpreopt and <uses-library> check for test.
-LOCAL_ENFORCE_USES_LIBRARIES := false
-LOCAL_DEX_PREOPT := false
-
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_ASSET_DIR := test/mlts/models/assets
diff --git a/neuralnetworks/V1_3/benchmark/java/AndroidManifest.xml b/neuralnetworks/V1_3/benchmark/java/AndroidManifest.xml
index 4b81fc46..58dbd1ab 100644
--- a/neuralnetworks/V1_3/benchmark/java/AndroidManifest.xml
+++ b/neuralnetworks/V1_3/benchmark/java/AndroidManifest.xml
@@ -21,8 +21,7 @@
<uses-sdk android:minSdkVersion="30"/>
<application android:name=".NNAccuracyApplication">
- <activity android:name=".NNAccuracyActivity"
- android:exported="true">
+ <activity android:name=".NNAccuracyActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
diff --git a/neuralnetworks/V1_3/benchmark/java/AndroidTest.xml b/neuralnetworks/V1_3/benchmark/java/AndroidTest.xml
index e5580056..1fe09c24 100644
--- a/neuralnetworks/V1_3/benchmark/java/AndroidTest.xml
+++ b/neuralnetworks/V1_3/benchmark/java/AndroidTest.xml
@@ -26,6 +26,5 @@
<test class="com.android.tradefed.testtype.AndroidJUnitTest" >
<option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
<option name="package" value="com.android.nn.benchmark.vts.v1_3" />
- <option name="test-timeout" value="2h"/>
</test>
-</configuration>
+</configuration> \ No newline at end of file
diff --git a/neuralnetworks/V1_3/target/Android.bp b/neuralnetworks/V1_3/target/Android.bp
new file mode 100644
index 00000000..0cd56945
--- /dev/null
+++ b/neuralnetworks/V1_3/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalNeuralnetworksV1_3Target",
+}
diff --git a/nfc/V1_0/__init__.py b/nfc/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/nfc/V1_0/__init__.py
diff --git a/nfc/V1_0/host/VtsHalNfcV1_0HostTest.py b/nfc/V1_0/host/VtsHalNfcV1_0HostTest.py
new file mode 100644
index 00000000..b14b12b9
--- /dev/null
+++ b/nfc/V1_0/host/VtsHalNfcV1_0HostTest.py
@@ -0,0 +1,109 @@
+#!/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 test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+PASSTHROUGH_MODE_KEY = "passthrough_mode"
+
+
+class NfcHidlBasicTest(hal_hidl_host_test.HalHidlHostTest):
+ """A simple testcase for the NFC HIDL HAL."""
+
+ TEST_HAL_SERVICES = {"android.hardware.nfc@1.0::INfc"}
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer VIBRATOR service."""
+ super(NfcHidlBasicTest, self).setUpClass()
+
+ self.shell.Execute("svc nfc disable") # Turn off
+ time.sleep(5)
+
+ self.getUserParams(opt_param_names=[PASSTHROUGH_MODE_KEY])
+ if getattr(self, PASSTHROUGH_MODE_KEY, True):
+ self.shell.Execute(
+ "setprop vts.hal.vts.hidl.get_stub true")
+ else:
+ self.shell.Execute(
+ "setprop vts.hal.vts.hidl.get_stub false")
+
+ self.dut.hal.InitHidlHal(
+ target_type="nfc",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.nfc",
+ target_component_name="INfc",
+ bits=int(self.abi_bitness))
+
+ def tearDownClass(self):
+ """Turns off the framework-layer NFC service."""
+ # Ideally, we would want to store the nfc service's state before
+ # turning that off in setUpClass and restore the original state.
+ if not self.isSkipAllTests():
+ self.shell.Execute("svc nfc disable") # make sure it's off
+ super(NfcHidlBasicTest, self).tearDownClass()
+
+ def testBase(self):
+ """A simple test case which just calls each registered function."""
+ # TODO: extend to make realistic testcases
+ # For example, call after CORE_INIT_RSP is received.
+ # result = self.dut.hal.nfc.coreInitialized([1])
+ # logging.info("coreInitialized result: %s", result)
+
+ def send_event(NfcEvent, NfcStatus):
+ logging.info("callback send_event")
+ logging.info("arg0 %s", NfcEvent)
+ logging.info("arg1 %s", NfcStatus)
+
+ def send_data(NfcData):
+ logging.info("callback send_data")
+ logging.info("arg0 %s", NfcData)
+
+ client_callback = self.dut.hal.nfc.GetHidlCallbackInterface(
+ "INfcClientCallback",
+ sendEvent=send_event,
+ sendData=send_data)
+
+ result = self.dut.hal.nfc.open(client_callback)
+ logging.info("open result: %s", result)
+
+ result = self.dut.hal.nfc.prediscover()
+ logging.info("prediscover result: %s", result)
+
+ result = self.dut.hal.nfc.controlGranted()
+ logging.info("controlGranted result: %s", result)
+
+ result = self.dut.hal.nfc.powerCycle()
+ logging.info("powerCycle result: %s", result)
+
+ nfc_types = self.dut.hal.nfc.GetHidlTypeInterface("types")
+ logging.info("nfc_types: %s", nfc_types)
+
+ result = self.dut.hal.nfc.write([0, 1, 2, 3, 4, 5])
+ logging.info("write result: %s", result)
+
+ result = self.dut.hal.nfc.close()
+ logging.info("close result: %s", result)
+
+ if self.coverage.enabled:
+ self.coverage.SetCoverageData(dut=self.dut, isGlobal=True)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/nfc/V1_0/host/__init__.py b/nfc/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/nfc/V1_0/host/__init__.py
diff --git a/nfc/V1_0/host/binderize/Android.bp b/nfc/V1_0/host/binderize/Android.bp
new file mode 100644
index 00000000..a94d5579
--- /dev/null
+++ b/nfc/V1_0/host/binderize/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_0HostBinderize",
+}
diff --git a/nfc/V1_0/host/binderize/AndroidTest.xml b/nfc/V1_0/host/binderize/AndroidTest.xml
new file mode 100644
index 00000000..5332f931
--- /dev/null
+++ b/nfc/V1_0/host/binderize/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 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" />
+ <option name="cleanup" value="true" />
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/Nfc.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/Nfc.vts" />
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/NfcClientCallback.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/NfcClientCallback.vts" />
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/types.vts" />
+ <option name="push" value="DATA/lib/android.hardware.nfc@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.nfc@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.nfc@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.nfc@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNfcV1_0HostBinderize" />
+ <option name="test-case-path" value="vts/testcases/hal/nfc/V1_0/host/VtsHalNfcV1_0HostTest" />
+ <option name="test-config-path" value="vts/testcases/hal/nfc/V1_0/host/binderize/NfcHidlBinderizeBasicTest.runner_conf" />
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/nfc/V1_0/host/binderize/NfcHidlBinderizeBasicTest.runner_conf b/nfc/V1_0/host/binderize/NfcHidlBinderizeBasicTest.runner_conf
new file mode 100644
index 00000000..5a94c6fa
--- /dev/null
+++ b/nfc/V1_0/host/binderize/NfcHidlBinderizeBasicTest.runner_conf
@@ -0,0 +1,3 @@
+{
+ "passthrough_mode": False
+}
diff --git a/nfc/V1_0/host/passthrough/Android.bp b/nfc/V1_0/host/passthrough/Android.bp
new file mode 100644
index 00000000..9d47dbc8
--- /dev/null
+++ b/nfc/V1_0/host/passthrough/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_0HostPassthrough",
+}
diff --git a/nfc/V1_0/host/passthrough/AndroidTest.xml b/nfc/V1_0/host/passthrough/AndroidTest.xml
new file mode 100644
index 00000000..ad77818e
--- /dev/null
+++ b/nfc/V1_0/host/passthrough/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 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" />
+ <option name="cleanup" value="true" />
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/Nfc.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/Nfc.vts" />
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/NfcClientCallback.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/NfcClientCallback.vts" />
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/types.vts" />
+ <option name="push" value="DATA/lib/android.hardware.nfc@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.nfc@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.nfc@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.nfc@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNfcV1_0HostPassthrough" />
+ <option name="test-case-path" value="vts/testcases/hal/nfc/V1_0/host/VtsHalNfcV1_0HostTest" />
+ <option name="test-config-path" value="vts/testcases/hal/nfc/V1_0/host/passthrough/NfcHidlPassthroughBasicTest.runner_conf" />
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/nfc/V1_0/host/passthrough/NfcHidlPassthroughBasicTest.runner_conf b/nfc/V1_0/host/passthrough/NfcHidlPassthroughBasicTest.runner_conf
new file mode 100644
index 00000000..9173e196
--- /dev/null
+++ b/nfc/V1_0/host/passthrough/NfcHidlPassthroughBasicTest.runner_conf
@@ -0,0 +1,3 @@
+{
+ "passthrough_mode": true
+}
diff --git a/nfc/V1_0/host_profiling/Android.bp b/nfc/V1_0/host_profiling/Android.bp
new file mode 100644
index 00000000..c428cdaa
--- /dev/null
+++ b/nfc/V1_0/host_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_0HostProfiling",
+}
diff --git a/nfc/V1_0/target/Android.bp b/nfc/V1_0/target/Android.bp
new file mode 100644
index 00000000..148c4e4e
--- /dev/null
+++ b/nfc/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_0Target",
+}
diff --git a/nfc/V1_0/target/AndroidTest.xml b/nfc/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..61b3f4d8
--- /dev/null
+++ b/nfc/V1_0/target/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 VtsHalNfcV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNfcV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNfcV1_0TargetTest/VtsHalNfcV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNfcV1_0TargetTest/VtsHalNfcV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av/media"/>
+ <option name="exclude-coverage-path" value="frameworks/rs"/>
+ <!-- b/77998208: Flaky test; requires a fix in vendor code -->
+ <option name="exclude-filter" value="NfcHidlTest.CoreInitialized" />
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ </test>
+</configuration>
diff --git a/nfc/V1_0/target_profiling/Android.bp b/nfc/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..0727fba3
--- /dev/null
+++ b/nfc/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_0TargetProfiling",
+}
diff --git a/nfc/V1_0/target_replay/Android.bp b/nfc/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..f131ff59
--- /dev/null
+++ b/nfc/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_0TargetReplay",
+}
diff --git a/nfc/V1_0/target_replay/AndroidTest.xml b/nfc/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..65dcfa23
--- /dev/null
+++ b/nfc/V1_0/target_replay/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 VtsHalNfcV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/Nfc.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/Nfc.vts"/>
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/NfcClientCallback.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/NfcClientCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/nfc/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.nfc@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.nfc@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.nfc@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.nfc@1.0-vts.driver.so"/>
+ </target_preparer>
+ <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_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"/>
+ <!-- b/80191171 -->
+ <option name="exclude-filter" value="replay_test_android.hardware.nfc_1.0_17261139999.vts.trace" />
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/nfc/V1_1/adapter/Android.bp b/nfc/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..b65cafa1
--- /dev/null
+++ b/nfc/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_1Adapter",
+}
diff --git a/nfc/V1_1/adapter/AndroidTest.xml b/nfc/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..61ac8c61
--- /dev/null
+++ b/nfc/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalNfcV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.nfc@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.nfc@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.nfc@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsDevicePolicyManagerTestCases.config"/>
+</configuration>
diff --git a/nfc/V1_1/target/Android.bp b/nfc/V1_1/target/Android.bp
new file mode 100644
index 00000000..d8d7bac9
--- /dev/null
+++ b/nfc/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_1Target",
+}
diff --git a/nfc/V1_1/target/AndroidTest.xml b/nfc/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..eaf15d32
--- /dev/null
+++ b/nfc/V1_1/target/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalNfcV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNfcV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNfcV1_1TargetTest/VtsHalNfcV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNfcV1_1TargetTest/VtsHalNfcV1_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av/media"/>
+ <option name="exclude-coverage-path" value="frameworks/rs"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ </test>
+</configuration>
diff --git a/nfc/V1_2/adapter/Android.bp b/nfc/V1_2/adapter/Android.bp
new file mode 100644
index 00000000..bdf2ef99
--- /dev/null
+++ b/nfc/V1_2/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_2Adapter",
+}
diff --git a/nfc/V1_2/adapter/AndroidTest.xml b/nfc/V1_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..99dbacd4
--- /dev/null
+++ b/nfc/V1_2/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalNfcV1_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.nfc@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.nfc@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.nfc@1.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsDevicePolicyManagerTestCases.config"/>
+</configuration>
diff --git a/nfc/V1_2/target/Android.bp b/nfc/V1_2/target/Android.bp
new file mode 100644
index 00000000..a17af9e8
--- /dev/null
+++ b/nfc/V1_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalNfcV1_2Target",
+}
diff --git a/nfc/V1_2/target/AndroidTest.xml b/nfc/V1_2/target/AndroidTest.xml
new file mode 100644
index 00000000..000ad4a5
--- /dev/null
+++ b/nfc/V1_2/target/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalNfcV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalNfcV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNfcV1_2TargetTest/VtsHalNfcV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNfcV1_2TargetTest/VtsHalNfcV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-coverage-path" value="frameworks/av/media"/>
+ <option name="exclude-coverage-path" value="frameworks/rs"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ </test>
+</configuration>
diff --git a/nfc/V1_2/target/OWNERS b/nfc/V1_2/target/OWNERS
deleted file mode 100644
index bf0e58b1..00000000
--- a/nfc/V1_2/target/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-# Bug component: 48448
-georgekgchang@google.com
-jackcwyu@google.com
diff --git a/nfc/__init__.py b/nfc/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/nfc/__init__.py
diff --git a/occupant_awareness/V1_0/target/Android.bp b/occupant_awareness/V1_0/target/Android.bp
new file mode 100644
index 00000000..3b6cb44d
--- /dev/null
+++ b/occupant_awareness/V1_0/target/Android.bp
@@ -0,0 +1,21 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
+
+vts_config {
+ name: "VtsHalOccupantAwarenessV1_0Target",
+}
+
diff --git a/occupant_awareness/V1_0/target/AndroidTest.xml b/occupant_awareness/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..94d1fe96
--- /dev/null
+++ b/occupant_awareness/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalOccupantAwarenessV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalOccupantAwarenessV1_0Target"/>
+ <option name="binary-test-source" value="DATA/nativetest/VtsHalOccupantAwarenessV1_0TargetTest/VtsHalOccupantAwarenessV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
+
diff --git a/oemlock/V1_0/target/Android.bp b/oemlock/V1_0/target/Android.bp
new file mode 100644
index 00000000..79c66643
--- /dev/null
+++ b/oemlock/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalOemLockV1_0Target",
+}
diff --git a/oemlock/V1_0/target/AndroidTest.xml b/oemlock/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..2227d621
--- /dev/null
+++ b/oemlock/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VtsHalOemLockV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/oemlock/V1_0/target_profiling/Android.bp b/oemlock/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..cf4e2e99
--- /dev/null
+++ b/oemlock/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalOemLockV1_0TargetProfiling",
+}
diff --git a/power/V1_0/target/Android.bp b/power/V1_0/target/Android.bp
new file mode 100644
index 00000000..a745afbb
--- /dev/null
+++ b/power/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_0Target",
+}
diff --git a/power/V1_0/target/AndroidTest.xml b/power/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..5e796d8b
--- /dev/null
+++ b/power/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalPowerV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalPowerV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerV1_0TargetTest/VtsHalPowerV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerV1_0TargetTest/VtsHalPowerV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="disable-cpu-frequency-scaling" value="false"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/power/V1_0/target_replay/Android.bp b/power/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..3410acbf
--- /dev/null
+++ b/power/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_0TargetReplay",
+}
diff --git a/power/V1_0/target_replay/AndroidTest.xml b/power/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..1a1b1513
--- /dev/null
+++ b/power/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalPowerV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <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>
+ <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_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="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/power/V1_1/adapter/Android.bp b/power/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..7d15fd92
--- /dev/null
+++ b/power/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_1Adapter",
+}
diff --git a/power/V1_1/adapter/AndroidTest.xml b/power/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..26f0af99
--- /dev/null
+++ b/power/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalPowerV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.power@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.power@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.power@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsDevicePolicyManagerTestCases.config"/>
+</configuration>
diff --git a/power/V1_1/target/Android.bp b/power/V1_1/target/Android.bp
new file mode 100644
index 00000000..0cc89764
--- /dev/null
+++ b/power/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_1Target",
+}
diff --git a/power/V1_1/target/AndroidTest.xml b/power/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..27286843
--- /dev/null
+++ b/power/V1_1/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalPowerV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="disable-cpu-frequency-scaling" value="false"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/power/V1_1/target_profiling/Android.bp b/power/V1_1/target_profiling/Android.bp
new file mode 100644
index 00000000..7a5138a7
--- /dev/null
+++ b/power/V1_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_1TargetProfiling",
+}
diff --git a/power/V1_2/adapter/Android.bp b/power/V1_2/adapter/Android.bp
new file mode 100644
index 00000000..e3bbcf00
--- /dev/null
+++ b/power/V1_2/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_2Adapter",
+}
diff --git a/power/V1_2/adapter/AndroidTest.xml b/power/V1_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..e79f3e4c
--- /dev/null
+++ b/power/V1_2/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalPowerV1_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.power@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.power@1.1-adapter"/>
+ <option name="hal-package-name" value="android.hardware.power@1.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsWindowManagerDeviceTestCases.config"/>
+</configuration>
diff --git a/power/V1_2/target/Android.bp b/power/V1_2/target/Android.bp
new file mode 100644
index 00000000..2e70053d
--- /dev/null
+++ b/power/V1_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_2Target",
+}
diff --git a/power/V1_2/target/AndroidTest.xml b/power/V1_2/target/AndroidTest.xml
new file mode 100644
index 00000000..0e284694
--- /dev/null
+++ b/power/V1_2/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalPowerV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalPowerV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerV1_2TargetTest/VtsHalPowerV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerV1_2TargetTest/VtsHalPowerV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/power/V1_3/target/Android.bp b/power/V1_3/target/Android.bp
new file mode 100644
index 00000000..649d6399
--- /dev/null
+++ b/power/V1_3/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerV1_3Target",
+}
diff --git a/power/V1_3/target/AndroidTest.xml b/power/V1_3/target/AndroidTest.xml
new file mode 100644
index 00000000..efd6e560
--- /dev/null
+++ b/power/V1_3/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalPowerV1_3Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalPowerV1_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerV1_3TargetTest/VtsHalPowerV1_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerV1_3TargetTest/VtsHalPowerV1_3TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/power/stats/V1_0/target/Android.bp b/power/stats/V1_0/target/Android.bp
new file mode 100644
index 00000000..abb59dd9
--- /dev/null
+++ b/power/stats/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalPowerStatsV1_0Target",
+}
diff --git a/power/stats/V1_0/target/AndroidTest.xml b/power/stats/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..bf8e9027
--- /dev/null
+++ b/power/stats/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalPowerStatsV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalPowerStatsV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalPowerStatsV1_0TargetTest/VtsHalPowerStatsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalPowerStatsV1_0TargetTest/VtsHalPowerStatsV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="disable-cpu-frequency-scaling" value="false"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/radio/OWNERS b/radio/OWNERS
new file mode 100644
index 00000000..120a1aa5
--- /dev/null
+++ b/radio/OWNERS
@@ -0,0 +1,7 @@
+#Telephony team VTS owners for radio
+hallliu@google.com
+rgreenwalt@google.com
+jminjie@google.com
+shuoq@google.com
+refuhoo@google.com
+nazaninb@google.com
diff --git a/radio/V1_0/__init__.py b/radio/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/radio/V1_0/__init__.py
diff --git a/radio/V1_0/host/Android.bp b/radio/V1_0/host/Android.bp
new file mode 100644
index 00000000..b7658c19
--- /dev/null
+++ b/radio/V1_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_0Host",
+}
diff --git a/radio/V1_0/host/AndroidTest.xml b/radio/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..d174b307
--- /dev/null
+++ b/radio/V1_0/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 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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/Radio.vts->/data/local/tmp/spec/android/hardware/radio/1.0/Radio.vts"/>
+ <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/RadioIndication.vts->/data/local/tmp/spec/android/hardware/radio/1.0/RadioIndication.vts"/>
+ <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/RadioResponse.vts->/data/local/tmp/spec/android/hardware/radio/1.0/RadioResponse.vts"/>
+ <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/Sap.vts->/data/local/tmp/spec/android/hardware/radio/1.0/Sap.vts"/>
+ <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/SapCallback.vts->/data/local/tmp/spec/android/hardware/radio/1.0/SapCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/radio/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.radio@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.radio@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.radio@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.radio@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/radio/V1_0/host/VtsHalRadioV1_0HostTest"/>
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/radio/V1_0/host/VtsHalRadioV1_0HostTest.py b/radio/V1_0/host/VtsHalRadioV1_0HostTest.py
new file mode 100644
index 00000000..77cdb855
--- /dev/null
+++ b/radio/V1_0/host/VtsHalRadioV1_0HostTest.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+
+from vts.runners.host import asserts
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+
+class VtsHalRadioV1_0HostTest(hal_hidl_host_test.HalHidlHostTest):
+ """A simple testcase for the Radio HIDL HAL."""
+
+ TEST_HAL_SERVICES = {"android.hardware.radio@1.0::IRadio"}
+ def setUpClass(self):
+ """Creates a mirror and init radio hal."""
+ super(VtsHalRadioV1_0HostTest, self).setUpClass()
+
+ self.dut.hal.InitHidlHal(
+ target_type="radio",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.radio",
+ target_component_name="IRadio",
+ hw_binder_service_name="slot1",
+ bits=int(self.abi_bitness))
+
+ self.radio = self.dut.hal.radio # shortcut
+ self.radio_types = self.dut.hal.radio.GetHidlTypeInterface("types")
+ logging.info("Radio types: %s", self.radio_types)
+
+ def testHelloWorld(self):
+ logging.info('hello world')
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/radio/V1_0/host/__init__.py b/radio/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/radio/V1_0/host/__init__.py
diff --git a/radio/V1_0/target/radio/Android.bp b/radio/V1_0/target/radio/Android.bp
new file mode 100644
index 00000000..64d9b78e
--- /dev/null
+++ b/radio/V1_0/target/radio/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_0Target",
+}
diff --git a/radio/V1_0/target/radio/AndroidTest.xml b/radio/V1_0/target/radio/AndroidTest.xml
new file mode 100644
index 00000000..b8b06058
--- /dev/null
+++ b/radio/V1_0/target/radio/AndroidTest.xml
@@ -0,0 +1,41 @@
+<?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 VtsHalRadioV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.MultiSimPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioV1_0TargetTest/VtsHalRadioV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioV1_0TargetTest/VtsHalRadioV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <!-- The following test is disabled due to b/64734869 -->
+ <option name="exclude-filter" value="RadioHidlTest.requestShutdown" />
+ <!-- b/109889468: Requires a live SIM card or a vendor code update -->
+ <option name="exclude-filter" value="RadioHidlTest.getImsiForApp" />
+ <!-- b/79930549: Flaky test -->
+ <option name="exclude-filter" value="RadioHidlTest.setAllowedCarriers" />
+ </test>
+</configuration>
diff --git a/radio/V1_0/target/sap/Android.bp b/radio/V1_0/target/sap/Android.bp
new file mode 100644
index 00000000..fbd7e7c5
--- /dev/null
+++ b/radio/V1_0/target/sap/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSapV1_0Target",
+}
diff --git a/radio/V1_0/target/sap/AndroidTest.xml b/radio/V1_0/target/sap/AndroidTest.xml
new file mode 100644
index 00000000..23daae15
--- /dev/null
+++ b/radio/V1_0/target/sap/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSapV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSapV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSapV1_0TargetTest/VtsHalSapV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSapV1_0TargetTest/VtsHalSapV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/radio/V1_0/target_profiling/radio/Android.bp b/radio/V1_0/target_profiling/radio/Android.bp
new file mode 100644
index 00000000..a813d3c4
--- /dev/null
+++ b/radio/V1_0/target_profiling/radio/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_0TargetProfiling",
+}
diff --git a/radio/V1_0/target_profiling/sap/Android.bp b/radio/V1_0/target_profiling/sap/Android.bp
new file mode 100644
index 00000000..1960b51a
--- /dev/null
+++ b/radio/V1_0/target_profiling/sap/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSapV1_0TargetProfiling",
+}
diff --git a/radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp b/radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp
new file mode 100644
index 00000000..ffc71b19
--- /dev/null
+++ b/radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_1AdapterCtsDevicePolicyManagerTestCases",
+}
diff --git a/radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml b/radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
new file mode 100644
index 00000000..00b4ebbf
--- /dev/null
+++ b/radio/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalRadioV1_1AdapterCtsDevicePolicyManagerTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.radio@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.radio@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.radio@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsDevicePolicyManagerTestCases.config"/>
+</configuration>
diff --git a/radio/V1_1/adapter/CtsJobSchedulerTestCases/Android.bp b/radio/V1_1/adapter/CtsJobSchedulerTestCases/Android.bp
new file mode 100644
index 00000000..d0881d46
--- /dev/null
+++ b/radio/V1_1/adapter/CtsJobSchedulerTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_1AdapterCtsJobSchedulerTestCases",
+}
diff --git a/radio/V1_1/adapter/CtsJobSchedulerTestCases/AndroidTest.xml b/radio/V1_1/adapter/CtsJobSchedulerTestCases/AndroidTest.xml
new file mode 100644
index 00000000..6383d78f
--- /dev/null
+++ b/radio/V1_1/adapter/CtsJobSchedulerTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalRadioV1_1AdapterCtsJobSchedulerTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.radio@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.radio@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.radio@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsJobSchedulerTestCases.config"/>
+</configuration>
diff --git a/radio/V1_1/adapter/CtsTelephonyTestCases/Android.bp b/radio/V1_1/adapter/CtsTelephonyTestCases/Android.bp
new file mode 100644
index 00000000..63aa1103
--- /dev/null
+++ b/radio/V1_1/adapter/CtsTelephonyTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_1AdapterCtsTelephonyTestCases",
+}
diff --git a/radio/V1_1/adapter/CtsTelephonyTestCases/AndroidTest.xml b/radio/V1_1/adapter/CtsTelephonyTestCases/AndroidTest.xml
new file mode 100644
index 00000000..f1970c7c
--- /dev/null
+++ b/radio/V1_1/adapter/CtsTelephonyTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalRadioV1_1AdapterCtsTelephonyTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.radio@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.radio@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.radio@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsTelephonyTestCases.config"/>
+</configuration>
diff --git a/radio/V1_1/target/radio/Android.bp b/radio/V1_1/target/radio/Android.bp
new file mode 100644
index 00000000..df980cd8
--- /dev/null
+++ b/radio/V1_1/target/radio/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_1Target",
+}
diff --git a/radio/V1_1/target/radio/AndroidTest.xml b/radio/V1_1/target/radio/AndroidTest.xml
new file mode 100644
index 00000000..eada1e64
--- /dev/null
+++ b/radio/V1_1/target/radio/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 VtsHalRadioV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.MultiSimPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/radio/V1_2/adapter/Android.bp b/radio/V1_2/adapter/Android.bp
new file mode 100644
index 00000000..d67a3ee5
--- /dev/null
+++ b/radio/V1_2/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_2Adapter",
+}
diff --git a/radio/V1_2/adapter/AndroidTest.xml b/radio/V1_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..0d13ec63
--- /dev/null
+++ b/radio/V1_2/adapter/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalRadioV1_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.radio@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.radio@1.1-adapter"/>
+ <option name="hal-package-name" value="android.hardware.radio@1.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+</configuration>
diff --git a/radio/V1_2/target/radio/Android.bp b/radio/V1_2/target/radio/Android.bp
new file mode 100644
index 00000000..5c074da0
--- /dev/null
+++ b/radio/V1_2/target/radio/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_2Target",
+}
diff --git a/radio/V1_2/target/radio/AndroidTest.xml b/radio/V1_2/target/radio/AndroidTest.xml
new file mode 100644
index 00000000..456766f0
--- /dev/null
+++ b/radio/V1_2/target/radio/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalRadioV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.MultiSimPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioV1_2TargetTest/VtsHalRadioV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioV1_2TargetTest/VtsHalRadioV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <!-- b/64734869: a known incompatibility with new tests (waiver) -->
+ <option name="exclude-filter" value="RadioHidlTest_v1_2.startNetworkScan_GoodRequest1" />
+ <option name="exclude-filter" value="RadioHidlTest_v1_2.startNetworkScan_GoodRequest2" />
+ </test>
+</configuration>
diff --git a/radio/V1_3/target/radio/Android.bp b/radio/V1_3/target/radio/Android.bp
new file mode 100644
index 00000000..b4e3d63b
--- /dev/null
+++ b/radio/V1_3/target/radio/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_3Target",
+}
diff --git a/radio/V1_3/target/radio/AndroidTest.xml b/radio/V1_3/target/radio/AndroidTest.xml
new file mode 100644
index 00000000..6c15174d
--- /dev/null
+++ b/radio/V1_3/target/radio/AndroidTest.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalRadioV1_3Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.MultiSimPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioV1_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioV1_3TargetTest/VtsHalRadioV1_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioV1_3TargetTest/VtsHalRadioV1_3TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <!--Disable the test because it's not implemented in Q, b/130254624-->
+ <option name="exclude-filter" value="RadioHidlTest_v1_3.setSystemSelectionChannels" />
+ </test>
+</configuration>
diff --git a/radio/V1_4/target/radio/Android.bp b/radio/V1_4/target/radio/Android.bp
new file mode 100644
index 00000000..2bfbdb25
--- /dev/null
+++ b/radio/V1_4/target/radio/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_4Target",
+}
diff --git a/radio/V1_4/target/radio/AndroidTest.xml b/radio/V1_4/target/radio/AndroidTest.xml
new file mode 100644
index 00000000..15520469
--- /dev/null
+++ b/radio/V1_4/target/radio/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalRadioV1_4Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioV1_4Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioV1_4TargetTest/VtsHalRadioV1_4TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioV1_4TargetTest/VtsHalRadioV1_4TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/radio/V1_5/target/radio/Android.bp b/radio/V1_5/target/radio/Android.bp
new file mode 100644
index 00000000..25de16c5
--- /dev/null
+++ b/radio/V1_5/target/radio/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2020 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.
+//
+
+vts_config {
+ name: "VtsHalRadioV1_5Target",
+}
diff --git a/radio/V1_5/target/radio/AndroidTest.xml b/radio/V1_5/target/radio/AndroidTest.xml
new file mode 100644
index 00000000..cbd921b9
--- /dev/null
+++ b/radio/V1_5/target/radio/AndroidTest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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 VtsHalRadioV1_5Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioV1_5Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioV1_5TargetTest/VtsHalRadioV1_5TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioV1_5TargetTest/VtsHalRadioV1_5TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/radio/__init__.py b/radio/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/radio/__init__.py
diff --git a/radio/config/V1_0/target/radio/config/Android.mk b/radio/config/V1_0/target/radio/config/Android.mk
new file mode 100644
index 00000000..bf3c732b
--- /dev/null
+++ b/radio/config/V1_0/target/radio/config/Android.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2019 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := VtsHalRadioConfigV1_0Target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/config/V1_0/target/radio/config/AndroidTest.xml b/radio/config/V1_0/target/radio/config/AndroidTest.xml
new file mode 100644
index 00000000..8336c386
--- /dev/null
+++ b/radio/config/V1_0/target/radio/config/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalRadioConfigV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioConfigV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioConfigV1_0TargetTest/VtsHalRadioConfigV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioConfigV1_0TargetTest/VtsHalRadioConfigV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/radio/config/V1_1/target/radio/config/Android.mk b/radio/config/V1_1/target/radio/config/Android.mk
new file mode 100644
index 00000000..fe788e8b
--- /dev/null
+++ b/radio/config/V1_1/target/radio/config/Android.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2019 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := VtsHalRadioConfigV1_1Target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/config/V1_1/target/radio/config/AndroidTest.xml b/radio/config/V1_1/target/radio/config/AndroidTest.xml
new file mode 100644
index 00000000..d2ca018c
--- /dev/null
+++ b/radio/config/V1_1/target/radio/config/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalRadioConfigV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioConfigV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioConfigV1_1TargetTest/VtsHalRadioConfigV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioConfigV1_1TargetTest/VtsHalRadioConfigV1_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/radio/config/V1_2/target/radio/config/Android.mk b/radio/config/V1_2/target/radio/config/Android.mk
new file mode 100644
index 00000000..d91ab21e
--- /dev/null
+++ b/radio/config/V1_2/target/radio/config/Android.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2019 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := VtsHalRadioConfigV1_2Target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/radio/config/V1_2/target/radio/config/AndroidTest.xml b/radio/config/V1_2/target/radio/config/AndroidTest.xml
new file mode 100644
index 00000000..dc7f5802
--- /dev/null
+++ b/radio/config/V1_2/target/radio/config/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalRadioConfigV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.VtsDevicePreparer">
+ <option name="enable-radio-log" value="true"/>
+ <option name="restore-radio-log" value="true"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRadioConfigV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRadioConfigV1_2TargetTest/VtsHalRadioConfigV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRadioConfigV1_2TargetTest/VtsHalRadioConfigV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/renderscript/V1_0/target/Android.bp b/renderscript/V1_0/target/Android.bp
new file mode 100644
index 00000000..c2faa6f3
--- /dev/null
+++ b/renderscript/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalRenderscriptV1_0Target",
+}
diff --git a/renderscript/V1_0/target/AndroidTest.xml b/renderscript/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..4396952e
--- /dev/null
+++ b/renderscript/V1_0/target/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalRenderscriptV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalRenderscriptV1_0Target"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalRenderscriptV1_0TargetTest/VtsHalRenderscriptV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalRenderscriptV1_0TargetTest/VtsHalRenderscriptV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="exclude-coverage-path" value="frameworks/av/media" />
+ <option name="exclude-coverage-path" value="hardware/interfaces/graphics/mapper/2.0" />
+ <option name="exclude-coverage-path" value="hardware/qcom/display" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/script/build/__init__.py b/script/build/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/script/build/__init__.py
diff --git a/script/build/build_rule_gen.py b/script/build/build_rule_gen.py
new file mode 100755
index 00000000..14f7da88
--- /dev/null
+++ b/script/build/build_rule_gen.py
@@ -0,0 +1,250 @@
+#!/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 os
+import re
+
+from utils.const import Constant
+from vts_spec_parser import VtsSpecParser
+import build_rule_gen_utils as utils
+
+
+class BuildRuleGen(object):
+ """Build rule generator for test/vts-testcase/hal."""
+ _ANDROID_BUILD_TOP = os.environ.get('ANDROID_BUILD_TOP')
+ if not _ANDROID_BUILD_TOP:
+ print 'Run "lunch" command first.'
+ sys.exit(1)
+ _PROJECT_PATH = os.path.join(_ANDROID_BUILD_TOP, 'test', 'vts-testcase',
+ 'hal')
+ _VTS_BUILD_TEMPLATE = os.path.join(_PROJECT_PATH, 'script', 'build',
+ 'template', 'vts_build_template.bp')
+
+ def __init__(self, warning_header, package_root, path_root):
+ """BuildRuleGen constructor.
+
+ Args:
+ warning_header: string, warning header for every generated file.
+ package_root: string, prefix of the hal package.
+ path_root: string, root path that stores the hal definition.
+ """
+ self._warning_header = warning_header
+ self._vts_spec_parser = VtsSpecParser(package_root, path_root)
+ self._package_root = package_root
+ self._path_root = path_root
+
+ def UpdateBuildRule(self, test_config_dir):
+ """Updates build rules under the configuration directory.
+
+ Args:
+ test_config_dir: string, directory storing the configurations.
+
+ Returns:
+ a list of strings where each string contains the path of a checked
+ or updated build file.
+ True if any file is updated, False otherwise
+ """
+ hal_list = self._vts_spec_parser.HalNamesAndVersions()
+ gen_file_paths, updated_file_paths, updated = self.UpdateHalDirBuildRule(
+ hal_list, test_config_dir)
+ updated |= utils.RemoveFilesInDirIf(
+ os.path.join(self._ANDROID_BUILD_TOP, test_config_dir),
+ lambda x: self._IsAutoGenerated(x) and (x not in gen_file_paths))
+ return updated_file_paths, updated
+
+ def UpdateHalDirBuildRule(self, hal_list, test_config_dir):
+ """Updates build rules for vts drivers/profilers.
+
+ Updates vts drivers/profilers for each pair of (hal_name, hal_version)
+ in hal_list.
+
+ Args:
+ hal_list: list of tuple of strings. For example,
+ [('vibrator', '1.3'), ('sensors', '1.7')]
+ test_config_dir: string, directory storing the configurations.
+
+ Returns:
+ a list of strings where each string contains the path of a checked
+ build file,
+ a list of strings where each string contains the path of an updated
+ build file,
+ boolean, True if any file is updated, False otherwise
+ """
+ checked_file_paths = []
+ updated_file_paths = []
+ ever_updated = False
+ for target in hal_list:
+ hal_name = target[0]
+ hal_version = target[1]
+
+ hal_dir = os.path.join(
+ self._ANDROID_BUILD_TOP, test_config_dir,
+ utils.HalNameDir(hal_name), utils.HalVerDir(hal_version))
+
+ file_path = os.path.join(hal_dir, 'build', 'Android.bp')
+ updated = utils.WriteBuildRule(file_path, self._VtsBuildRuleFromTemplate(
+ self._VTS_BUILD_TEMPLATE, hal_name, hal_version))
+ checked_file_paths.append(file_path)
+ if updated:
+ updated_file_paths.append(file_path)
+ ever_updated = True
+ return checked_file_paths, updated_file_paths, ever_updated
+
+ def _VtsBuildRuleFromTemplate(self, template_path, hal_name, hal_version):
+ """Returns build rules in string form by filling out a template.
+
+ Reads template from given path and fills it out.
+
+ Args:
+ template_path: string, path to build rule template file.
+ hal_name: string, name of the hal, e.g. 'vibrator'.
+ hal_version: string, version of the hal, e.g '7.4'
+
+ Returns:
+ string, complete build rules in string form
+ """
+ with open(template_path) as template_file:
+ build_template = str(template_file.read())
+ return self._FillOutBuildRuleTemplate(hal_name, hal_version,
+ build_template)
+
+ def _FillOutBuildRuleTemplate(self, hal_name, hal_version, template):
+ """Returns build rules in string form by filling out given template.
+
+ Args:
+ hal_name: string, name of the hal, e.g. 'vibrator'.
+ hal_version: string, version of the hal, e.g '7.4'
+ template: string, build rule template to fill out.
+
+ Returns:
+ string, complete build rule in string form.
+ """
+ package_root_dir = self._package_root.replace(".", "/")
+
+ def GeneratedOutput(hal_name, hal_version, extension):
+ """Formats list of vts spec names into a string.
+
+ Formats list of vts spec name for given hal_name, hal_version
+ into a string that can be inserted into build template.
+
+ Args:
+ hal_name: string, name of the hal, e.g. 'vibrator'.
+ hal_version: string, version of the hal, e.g '7.4'
+ extension: string, extension of files e.g. '.cpp'.
+
+ Returns:
+ string, to be inserted into build template.
+ """
+ result = []
+ vts_spec_names = self._vts_spec_parser.VtsSpecNames(hal_name,
+ hal_version)
+ for vts_spec in vts_spec_names:
+ result.append('%s/%s/%s/%s%s' %
+ (package_root_dir, utils.HalNameDir(hal_name),
+ hal_version, vts_spec, extension))
+ return ListToBuildString(result, 2)
+
+ def ImportedPackages(vts_pkg_type, imported_packages):
+ """Formats list of imported packages into a string.
+
+ Formats list of imported packages for given hal_name, hal_version
+ into a string that can be inserted into build template.
+
+ Args:
+ vts_pkg_type: string 'driver' or 'profiler'
+ imported_packages: list of imported packages
+
+ Returns:
+ string, to be inserted into build template.
+ """
+ result = []
+ for package in imported_packages:
+ if re.match(Constant.HAL_PACKAGE_NAME_PATTERN, package):
+ vts_pkg_name = package + '-vts.' + vts_pkg_type
+ result.append(vts_pkg_name)
+ else:
+ result.append(package)
+ return ListToBuildString(result, 2)
+
+ build_rule = self._warning_header + template
+ build_rule = build_rule.replace('{HAL_NAME}', hal_name)
+ build_rule = build_rule.replace('{HAL_NAME_DIR}',
+ utils.HalNameDir(hal_name))
+ build_rule = build_rule.replace('{HAL_VERSION}', hal_version)
+ build_rule = build_rule.replace('{PACKAGE_ROOT}', self._package_root)
+ build_rule = build_rule.replace('{PACKAGE_ROOT_DIR}', package_root_dir)
+ build_rule = build_rule.replace(
+ '{HIDL_GEN_ARGS}',
+ "-r %s:%s" % (self._package_root, self._path_root))
+ build_rule = build_rule.replace(
+ '{GENERATED_VTS_SPECS}',
+ GeneratedOutput(hal_name, hal_version, ''))
+ build_rule = build_rule.replace(
+ '{GENERATED_SOURCES}',
+ GeneratedOutput(hal_name, hal_version, '.cpp'))
+ build_rule = build_rule.replace(
+ '{GENERATED_HEADERS}', GeneratedOutput(hal_name, hal_version, '.h'))
+
+ imported_packages = self._vts_spec_parser.ImportedPackagesList(
+ hal_name, hal_version)
+ build_rule = build_rule.replace(
+ '{IMPORTED_DRIVER_PACKAGES}',
+ ImportedPackages('driver', imported_packages))
+ build_rule = build_rule.replace(
+ '{IMPORTED_PROFILER_PACKAGES}',
+ ImportedPackages('profiler', imported_packages))
+
+ this_package = '%s.%s@%s' % (self._package_root, hal_name, hal_version)
+ imported_packages.append(this_package)
+ hal_libs = sorted(imported_packages)
+
+ build_rule = build_rule.replace(
+ '{HAL_LIBS}', ListToBuildString(hal_libs, 2))
+
+ return build_rule
+
+ def _IsAutoGenerated(self, abs_file_path):
+ """Checks if file was auto-generated.
+
+ Args:
+ abs_file_path: string, absolute file path.
+
+ Returns:
+ True iff file was auto-generated by BuildRuleGen.
+ """
+ [dir_name, file_name] = os.path.split(abs_file_path)
+ if file_name != 'Android.bp':
+ return False
+ with open(abs_file_path) as myfile:
+ return self._warning_header in myfile.read()
+
+def ListToBuildString(lst, indent_lvl):
+ """Formats a list of item into a string to be inserted into build rule.
+
+ Args:
+ lst: string list, e.g. [a, b, c].
+ indent_lvl: int, indentation level of the output list.
+
+ Returns:
+ string to be inserted into build rule.
+ """
+ single_indent = ' '
+ indent = single_indent * indent_lvl
+ result = ''.join(map(lambda x: '\n%s"%s",' % (indent, x), sorted(lst)))
+ if result:
+ result += '\n' + single_indent * (indent_lvl - 1)
+ return result
diff --git a/script/build/build_rule_gen_utils.py b/script/build/build_rule_gen_utils.py
new file mode 100644
index 00000000..94bbb9f0
--- /dev/null
+++ b/script/build/build_rule_gen_utils.py
@@ -0,0 +1,100 @@
+#
+# 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.
+#
+"""Utility functions for build rule generator."""
+
+import os
+
+def HalNameDir(hal_name):
+ """Returns directory name corresponding to hal name."""
+ return hal_name.replace('.', '/')
+
+
+def HalVerDir(hal_version):
+ """Returns directory name corresponding to hal version."""
+ return "V" + hal_version.replace('.', '_')
+
+
+def WriteBuildRule(file_path, build_rule):
+ """Writes the build rule into specified file.
+
+ Opens file_path and writes build_rule into it. Creates intermediate
+ directories if necessary.
+
+ Args:
+ file_path: string, path to file to which to write.
+ build_rule: string, build rule to be written into file.
+
+ Returns:
+ True if updated, False otherwise
+ """
+ exist = True
+ dir_path = os.path.dirname(file_path)
+ if not os.path.exists(dir_path):
+ os.makedirs(dir_path)
+ exist = False
+ elif not os.path.isfile(file_path):
+ exist = False
+
+ if exist:
+ with open(file_path, 'r') as existing_file:
+ if build_rule == existing_file.read():
+ print 'Skipping %s' % file_path
+ return False
+
+ print 'Updating %s' % file_path
+ with open(file_path, 'w') as bp_file:
+ bp_file.write(build_rule)
+ return True
+
+
+def OnlySubdirsBpRule(warning_header, subdirs):
+ """Returns a .bp rule containing only subdirs field.
+
+ For example, 'subdirs = ["*"]' bp rule tells soong to look in all
+ sub-directories for Android.bp files.
+
+ Args:
+ subdirs: list of sub-directories.
+ """
+ result = warning_header
+
+ result += 'subdirs = [\n'
+ for subdir in subdirs:
+ result += ' "%s",\n' % subdir
+ result += ']\n'
+ return result
+
+
+def RemoveFilesInDirIf(dir_path, condition):
+ """Removes all files under directory under given condition.
+
+ Args:
+ dir_path: string, path to directory
+ condition: boolean function takes absolute file path,
+ returns True iff file needs to be removed.
+
+ Returns:
+ True if removed, False otherwise
+ """
+ removed = False
+ for base, _, files in os.walk(dir_path):
+ for f in files:
+ abs_path = os.path.join(base, f)
+ if condition(abs_path):
+ print "Removing", abs_path
+ os.remove(abs_path)
+ removed = True
+ return removed
diff --git a/script/build/vts_spec_parser.py b/script/build/vts_spec_parser.py
new file mode 100644
index 00000000..fa447337
--- /dev/null
+++ b/script/build/vts_spec_parser.py
@@ -0,0 +1,186 @@
+#!/usr/bin/env python3.4
+#
+# 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 os
+import re
+import shutil
+import subprocess
+import sys
+import tempfile
+
+from utils.const import Constant
+
+ANDROID_BUILD_TOP = os.environ.get('ANDROID_BUILD_TOP')
+if not ANDROID_BUILD_TOP:
+ print 'Run "lunch" command first.'
+ sys.exit(1)
+
+# TODO(trong): use proper packaging without referencing modules from source.
+TEST_VTS_DIR = os.path.join(ANDROID_BUILD_TOP, 'test', 'vts')
+sys.path.append(TEST_VTS_DIR)
+from proto import ComponentSpecificationMessage_pb2 as CompSpecMsg
+from google.protobuf import text_format
+import build_rule_gen_utils as utils
+
+
+class VtsSpecParser(object):
+ """Provides an API to generate a parse .vts spec files."""
+
+ def __init__(self,
+ package_root=Constant.HAL_PACKAGE_PREFIX,
+ path_root=Constant.HAL_INTERFACE_PATH):
+ """VtsSpecParser constructor.
+
+ For every unique pair of (hal name, hal version) available under
+ path_root, generates .vts files using hidl-gen.
+
+ Args:
+ tmp_dir: string, temporary directory to which to write .vts files.
+ """
+ self._cache = set()
+ self._tmp_dir = tempfile.mkdtemp()
+ self._package_root = package_root
+ self._path_root = path_root
+ hal_list = self.HalNamesAndVersions()
+
+ def __del__(self):
+ """VtsSpecParser destructor.
+
+ Removes all temporary files that were generated.
+ """
+ print "Removing temp files."
+ if os.path.exists(self._tmp_dir):
+ shutil.rmtree(self._tmp_dir)
+
+ def ImportedPackagesList(self, hal_name, hal_version):
+ """Returns a list of imported packages.
+
+ Args:
+ hal_name: string, name of the hal, e.g. 'vibrator'.
+ hal_version: string, version of the hal, e.g '7.4'
+
+ Returns:
+ list of strings. For example,
+ ['android.hardware.vibrator@1.3', 'android.hidl.base@1.7']
+ """
+ self.GenerateVtsSpecs(hal_name, hal_version)
+ vts_spec_protos = self.VtsSpecProtos(hal_name, hal_version)
+
+ imported_packages = set()
+ for vts_spec in vts_spec_protos:
+ for package in getattr(vts_spec, 'import', []):
+ package = package.split('::')[0]
+ imported_packages.add(package)
+
+ # Exclude the current package and packages with no corresponding libs.
+ exclude_packages = [
+ "android.hidl.base@1.0", "android.hidl.manager@1.0",
+ ]
+
+ return sorted(list(set(imported_packages) - set(exclude_packages)))
+
+ def GenerateVtsSpecs(self, hal_name, hal_version):
+ """Generates VTS specs.
+
+ Uses hidl-gen to generate .vts files under a tmp directory.
+
+ Args:
+ hal_name: string, name of the hal, e.g. 'vibrator'.
+ hal_version: string, version of the hal, e.g '7.4'
+ tmp_dir: string, location to which to write tmp files.
+ """
+ if (hal_name, hal_version) in self._cache:
+ return
+ hidl_gen_cmd = (
+ 'hidl-gen -o {TEMP_DIR} -L vts -r {PACKAGE_ROOT}:{PATH_ROOT} '
+ '{PACKAGE_ROOT}.{HAL_NAME}@{HAL_VERSION}').format(
+ TEMP_DIR=self._tmp_dir,
+ PACKAGE_ROOT=self._package_root,
+ PATH_ROOT=self._path_root,
+ HAL_NAME=hal_name,
+ HAL_VERSION=hal_version)
+ subprocess.call(hidl_gen_cmd, shell=True)
+ self._cache.add((hal_name, hal_version))
+
+ def HalNamesAndVersions(self):
+ """Returns a list of hals and versions under hal interface directory.
+
+ Returns:
+ List of tuples of strings containing hal names and hal versions.
+ For example, [('vibrator', '1.3'), ('sensors', '1.7')]
+ """
+ full_path_root = os.path.join(ANDROID_BUILD_TOP, self._path_root)
+ result = set()
+ # Walk through ANDROID_BUILD_TOP/self._path_root and heuristically
+ # figure out all the HAL names and versions in the source tree.
+ for base, dirs, files in os.walk(full_path_root):
+ has_hals = any(f.endswith('.hal') for f in files)
+ if not has_hals:
+ continue
+
+ hal_dir = os.path.relpath(base, full_path_root)
+ # Find the first occurance of version in directory path.
+ match = re.search("(\d+)\.(\d+)", hal_dir)
+ if match and 'example' not in hal_dir:
+ hal_version = match.group(0)
+ # Name of the hal preceds hal version in the directory path.
+ hal_dir = hal_dir[:match.end()]
+ hal_name = os.path.dirname(hal_dir).replace('/', '.')
+ result.add((hal_name, hal_version))
+ return sorted(result)
+
+ def VtsSpecNames(self, hal_name, hal_version):
+ """Returns list of .vts file names for given hal name and version.
+
+ hal_name: string, name of the hal, e.g. 'vibrator'.
+ hal_version: string, version of the hal, e.g '7.4'
+
+ Returns:
+ list of string, .vts files for given hal name and version,
+ e.g. ['Vibrator.vts', 'types.vts']
+ """
+ self.GenerateVtsSpecs(hal_name, hal_version)
+ vts_spec_dir = os.path.join(self._tmp_dir,
+ self._package_root.replace('.', '/'),
+ utils.HalNameDir(hal_name), hal_version)
+ vts_spec_names = filter(lambda x: x.endswith('.vts'),
+ os.listdir(vts_spec_dir))
+ return sorted(vts_spec_names)
+
+ def VtsSpecProtos(self, hal_name, hal_version):
+ """Returns list of .vts protos for given hal name and version.
+
+ hal_name: string, name of the hal, e.g. 'vibrator'.
+ hal_version: string, version of the hal, e.g '7.4'
+
+ Returns:
+ list of ComponentSpecificationMessages
+ """
+ self.GenerateVtsSpecs(hal_name, hal_version)
+ vts_spec_dir = os.path.join(self._tmp_dir,
+ self._package_root.replace('.', '/'),
+ utils.HalNameDir(hal_name), hal_version)
+ vts_spec_protos = []
+ for vts_spec in self.VtsSpecNames(hal_name, hal_version):
+ spec_proto = CompSpecMsg.ComponentSpecificationMessage()
+ vts_spec_path = os.path.join(vts_spec_dir, vts_spec)
+ with open(vts_spec_path, 'r') as spec_file:
+ spec_string = spec_file.read()
+ text_format.Merge(spec_string, spec_proto)
+
+ vts_spec_protos.append(spec_proto)
+ return vts_spec_protos
diff --git a/script/configure/__init__.py b/script/configure/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/script/configure/__init__.py
diff --git a/script/configure/test_case_creator.py b/script/configure/test_case_creator.py
new file mode 100755
index 00000000..b3a9776b
--- /dev/null
+++ b/script/configure/test_case_creator.py
@@ -0,0 +1,538 @@
+#!/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.
+#
+
+# Create the configuration files for a hidl hal test.
+# This script generates Android.bp and AndroidTest.xml files under
+# test/vts-testcases/hal/ based on the hal package name.
+
+import datetime
+import os
+import sys
+
+from build.vts_spec_parser import VtsSpecParser
+from xml.dom import minidom
+from xml.etree import cElementTree as ET
+from xml.sax.saxutils import unescape
+from utils.const import Constant
+
+ANDROID_BP_FILE_NAME = 'Android.bp'
+ANDROID_TEST_XML_FILE_NAME = 'AndroidTest.xml'
+
+
+class TestCaseCreator(object):
+ """Init a test case directory with helloworld test case.
+
+ Attributes:
+ hal_package_name: string, package name of the testing hal. e.g. android.hardware.nfc@1.0.
+ hal_name: name of the testing hal, derived from hal_package_name. e.g. nfc.
+ hal_version: version of the testing hal, derived from hal_package_name.
+ test_type: string, type of the test, currently support host and target.
+ package_root: String, prefix of the hal package, e.g. android.hardware.
+ path_root: String, root path that stores the hal definition, e.g. hardware/interfaces
+ test_binary_file: String, test binary name for target-side hal test.
+ test_script_file: String, test script name for host-side hal test.
+ test_config_dir: String, directory path to store the configure files.
+ test_name_prefix: prefix of generated test name. e.g. android.hardware.nfc@1.0-test-target.
+ test_name: test name generated. e.g. android.hardware.nfc@1.0-test-target-profiling.
+ test_plan: string, the plan that the test belongs to.
+ test_dir: string, test case absolute directory.
+ time_out: string, timeout of the test, default is 1m.
+ stop_runtime: boolean whether to stop framework before the test.
+ build_top: string, equal to environment variable ANDROID_BUILD_TOP.
+ vts_spec_parser: tools that generates and parses vts spec with hidl-gen.
+ current_year: current year.
+ """
+
+ def __init__(self, vts_spec_parser, hal_package_name):
+ '''Initialize class attributes.'''
+ self._hal_package_name = hal_package_name
+
+ 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)
+ self._build_top = build_top
+ self._vts_spec_parser = vts_spec_parser
+
+ self._current_year = datetime.datetime.now().year
+
+ def LaunchTestCase(self,
+ test_type,
+ time_out='1m',
+ is_replay=False,
+ stop_runtime=False,
+ update_only=False,
+ mapping_dir_path="",
+ test_binary_file=None,
+ test_script_file=None,
+ test_config_dir=Constant.VTS_HAL_TEST_CASE_PATH,
+ package_root=Constant.HAL_PACKAGE_PREFIX,
+ path_root=Constant.HAL_INTERFACE_PATH,
+ is_profiling=False):
+ """Create the necessary configuration files to launch a test case.
+
+ Args:
+ test_type: type of the test.
+ time_out: timeout of the test.
+ stop_runtime: whether to stop framework before the test.
+ update_only: flag to only update existing test configure.
+ mapping_dir_path: directory that stores the cts_hal_mapping files.
+ Used for adapter test only.
+
+ Returns:
+ boolean, whether created/updated a test case successfully.
+ """
+ self._test_type = test_type
+ self._time_out = time_out
+ self._is_replay = is_replay
+ self._stop_runtime = stop_runtime
+ self._mapping_dir_path = mapping_dir_path
+ self._test_binary_file = test_binary_file
+ self._test_script_file = test_script_file
+ self._test_config_dir = test_config_dir
+ self._package_root = package_root
+ self._path_root = path_root
+
+ [package, version] = self._hal_package_name.split('@')
+ self._hal_name = package[len(self._package_root) + 1:]
+ self._hal_version = version
+
+ self._test_module_name = self.GetVtsHalTestModuleName()
+ self._test_name = self._test_module_name
+ self._test_plan = 'vts-staging-default'
+ if is_replay:
+ self._test_name = self._test_module_name + 'Replay'
+ self._test_plan = 'vts-hal-replay'
+ if self._test_type == 'adapter':
+ self._test_plan = 'vts-hal-adapter'
+
+ self._test_dir = self.GetHalTestCasePath()
+ # Check whether the host side test script and target test binary is available.
+ if self._test_type == 'host':
+ if not self._test_script_file:
+ test_script_file = self.GetVtsHostTestScriptFileName()
+ if not os.path.exists(test_script_file):
+ print('Could not find the host side test script: %s.' %
+ test_script_file)
+ return False
+ self._test_script_file = os.path.basename(test_script_file)
+ elif self._test_type == 'target':
+ if not self._test_binary_file:
+ test_binary_file = self.GetVtsTargetTestSourceFileName()
+ if not os.path.exists(test_binary_file):
+ print('Could not find the target side test binary: %s.' %
+ test_binary_file)
+ return False
+ self._test_binary_file = os.path.basename(test_binary_file)
+
+ if os.path.exists(self._test_dir):
+ print 'WARNING: Test directory already exists. Continuing...'
+ elif not update_only:
+ try:
+ os.makedirs(self._test_dir)
+ except:
+ print('Error: Failed to create test directory at %s. '
+ 'Exiting...' % self._test_dir)
+ return False
+ else:
+ print('WARNING: Test directory does not exists, stop updating.')
+ return True
+
+ self.CreateAndroidBp()
+ self.CreateAndroidTestXml()
+ return True
+
+ def GetVtsTargetTestSourceFileName(self):
+ """Get the name of target side test source file ."""
+ test_binary_name = self._test_module_name + 'Test.cpp'
+ return os.path.join(self.GetHalInterfacePath(), 'vts/functional',
+ test_binary_name)
+
+ def GetVtsHostTestScriptFileName(self):
+ """Get the name of host side test script file ."""
+ test_script_name = self._test_module_name + 'Test.py'
+ return os.path.join(
+ self.GetHalTestCasePath(), test_script_name)
+
+ def GetVtsHalTestModuleName(self):
+ """Get the test model name with format VtsHalHalNameVersionTestType."""
+ sub_names = self._hal_name.split('.')
+ hal_name_upper_camel = ''.join(x.title() for x in sub_names)
+ return 'VtsHal' + hal_name_upper_camel + self.GetHalVersionToken(
+ ) + self._test_type.title()
+
+ def GetVtsHalReplayTraceFiles(self):
+ """Get the trace files for replay test."""
+ trace_files = []
+ for filename in os.listdir(self.GetHalTracePath()):
+ if filename.endswith(".trace"):
+ trace_files.append(filename)
+ return trace_files
+
+ def GetHalPath(self):
+ """Get the hal path based on hal name."""
+ return self._hal_name.replace('.', '/')
+
+ def GetHalVersionToken(self):
+ """Get a string of the hal version."""
+ return 'V' + self._hal_version.replace('.', '_')
+
+ def GetHalInterfacePath(self):
+ """Get the directory that stores the .hal files."""
+ return os.path.join(self._build_top, self._path_root,
+ self.GetHalPath(), self._hal_version)
+
+ def GetHalTestCasePath(self):
+ """Get the directory that stores the test case."""
+ test_dir = self._test_type
+ if self._is_replay:
+ test_dir = test_dir + '_replay'
+ return os.path.join(self._build_top, self._test_config_dir,
+ self.GetHalPath(), self.GetHalVersionToken(),
+ test_dir)
+
+ def GetHalTracePath(self):
+ """Get the directory that stores the hal trace files."""
+ return os.path.join(self._build_top, Constant.HAL_TRACE_PATH,
+ self.GetHalPath(), self.GetHalVersionToken())
+
+ def CreateAndroidBp(self):
+ """Create Android.bp."""
+ target = os.path.join(self._test_dir, ANDROID_BP_FILE_NAME)
+ with open(target, 'w') as f:
+ print 'Creating %s' % target
+ f.write(ANDROID_BP_TEMPLATE.format(test_name=self._test_name, year=self._current_year))
+
+ def CreateAndroidTestXml(self):
+ """Create AndroidTest.xml."""
+ VTS_FILE_PUSHER = 'com.android.compatibility.common.tradefed.targetprep.VtsFilePusher'
+ VTS_TEST_CLASS = 'com.android.tradefed.testtype.VtsMultiDeviceTest'
+
+ configuration = ET.Element('configuration', {
+ 'description':
+ 'Config for VTS ' + self._test_name + ' test cases'
+ })
+
+ ET.SubElement(
+ configuration, 'option', {
+ 'name': 'config-descriptor:metadata',
+ 'key': 'plan',
+ 'value': self._test_plan
+ })
+
+ if self._test_type == 'adapter':
+ self.CreateAndroidTestXmlForAdapterTest(configuration)
+ else:
+ file_pusher = ET.SubElement(configuration, 'target_preparer',
+ {'class': VTS_FILE_PUSHER})
+
+ self.GeneratePushFileConfigure(file_pusher)
+ test = ET.SubElement(configuration, 'test',
+ {'class': VTS_TEST_CLASS})
+
+ self.GenerateTestOptionConfigure(test)
+
+ target = os.path.join(self._test_dir, ANDROID_TEST_XML_FILE_NAME)
+ with open(target, 'w') as f:
+ print 'Creating %s' % target
+ f.write(XML_HEADER)
+ f.write(LICENSE_STATEMENT_XML.format(year=self._current_year))
+ f.write(self.Prettify(configuration))
+
+ def CreateAndroidTestXmlForAdapterTest(self, configuration):
+ """Create the test configuration within AndroidTest.xml for adapter test.
+
+ Args:
+ configuration: parent xml element for test configure.
+ """
+
+ # Configure VtsHalAdapterPreparer.
+ adapter_module_controller = ET.SubElement(configuration, 'object',
+ {'type': 'module_controller',
+ 'class': VTA_HAL_ADAPTER_MODULE_CONTROLLER})
+ ET.SubElement(adapter_module_controller, 'option', {
+ 'name': 'hal-package-name',
+ 'value': self._hal_package_name
+ })
+ adapter_preparer = ET.SubElement(configuration, 'target_preparer',
+ {'class': VTA_HAL_ADAPTER_PREPARER})
+ (major_version, minor_version) = self._hal_version.split('.')
+ adapter_version = major_version + '.' + str(int(minor_version) - 1)
+ ET.SubElement(
+ adapter_preparer, 'option', {
+ 'name':
+ 'adapter-binary-name',
+ 'value':
+ Constant.HAL_PACKAGE_PREFIX + '.' + self._hal_name + '@' +
+ adapter_version + '-adapter'
+ })
+ ET.SubElement(adapter_preparer, 'option', {
+ 'name': 'hal-package-name',
+ 'value': self._hal_package_name
+ })
+ # Configure device health tests.
+ test = ET.SubElement(configuration, 'test',
+ {'class': ANDROID_JUNIT_TEST})
+ ET.SubElement(test, 'option', {
+ 'name': 'package',
+ 'value': 'com.android.devicehealth.tests'
+ })
+ ET.SubElement(
+ test, 'option', {
+ 'name': 'runner',
+ 'value': 'androidx.test.runner.AndroidJUnitRunner'
+ })
+
+ # Configure CTS tests.
+ list_of_files = os.listdir(self._mapping_dir_path)
+ # Use the latest mapping file.
+ latest_file = max(
+ [
+ os.path.join(self._mapping_dir_path, basename)
+ for basename in list_of_files
+ ],
+ key=os.path.getctime)
+
+ with open(latest_file, 'r') as cts_hal_map_file:
+ for line in cts_hal_map_file.readlines():
+ if line.startswith(Constant.HAL_PACKAGE_PREFIX + '.' +
+ self._hal_name + '@' + adapter_version):
+ cts_tests = line.split(':')[1].split(',')
+ for cts_test in cts_tests:
+ test_config_name = cts_test[0:cts_test.find(
+ '(')] + '.config'
+ ET.SubElement(configuration, 'include',
+ {'name': test_config_name})
+
+ def GeneratePushFileConfigure(self, file_pusher):
+ """Create the push file configuration within AndroidTest.xml
+
+ Args:
+ file_pusher: parent xml element for push file configure.
+ """
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'abort-on-push-failure',
+ 'value': 'false'
+ })
+
+ if self._test_type == 'target':
+ if self._is_replay:
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'push-group',
+ 'value': 'HalHidlHostTest.push'
+ })
+ else:
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'push-group',
+ 'value': 'HalHidlTargetTest.push'
+ })
+ else:
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'push-group',
+ 'value': 'HalHidlHostTest.push'
+ })
+
+ imported_package_lists = self._vts_spec_parser.ImportedPackagesList(
+ self._hal_name, self._hal_version)
+ imported_package_lists.append(self._hal_package_name)
+ # Generate additional push files e.g driver/profiler/vts_spec
+ if self._test_type == 'host' or self._is_replay:
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'cleanup',
+ 'value': 'true'
+ })
+ for imported_package in imported_package_lists:
+ imported_package_str, imported_package_version = imported_package.split(
+ '@')
+ imported_package_name = imported_package_str[
+ len(self._package_root) + 1:]
+ imported_vts_spec_lists = self._vts_spec_parser.VtsSpecNames(
+ imported_package_name, imported_package_version)
+ for vts_spec in imported_vts_spec_lists:
+ push_spec = VTS_SPEC_PUSH_TEMPLATE.format(
+ hal_path=imported_package_name.replace('.', '/'),
+ hal_version=imported_package_version,
+ package_path=imported_package_str.replace('.', '/'),
+ vts_file=vts_spec)
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'push',
+ 'value': push_spec
+ })
+
+ dirver_package_name = imported_package + '-vts.driver.so'
+ push_driver = VTS_LIB_PUSH_TEMPLATE_32.format(
+ lib_name=dirver_package_name)
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'push',
+ 'value': push_driver
+ })
+ push_driver = VTS_LIB_PUSH_TEMPLATE_64.format(
+ lib_name=dirver_package_name)
+ ET.SubElement(file_pusher, 'option', {
+ 'name': 'push',
+ 'value': push_driver
+ })
+
+ def GenerateTestOptionConfigure(self, test):
+ """Create the test option configuration within AndroidTest.xml
+
+ Args:
+ test: parent xml element for test option configure.
+ """
+ ET.SubElement(test, 'option', {
+ 'name': 'test-module-name',
+ 'value': self._test_name
+ })
+
+ if self._test_type == 'target':
+ if self._is_replay:
+ ET.SubElement(test, 'option', {
+ 'name': 'binary-test-type',
+ 'value': 'hal_hidl_replay_test'
+ })
+ for trace in self.GetVtsHalReplayTraceFiles():
+ ET.SubElement(
+ test, 'option', {
+ 'name':
+ 'hal-hidl-replay-test-trace-path',
+ 'value':
+ TEST_TRACE_TEMPLATE.format(
+ hal_path=self.GetHalPath(),
+ hal_version=self.GetHalVersionToken(),
+ trace_file=trace)
+ })
+ ET.SubElement(
+ test, 'option', {
+ 'name': 'hal-hidl-package-name',
+ 'value': self._hal_package_name
+ })
+ else:
+ test_binary_file = TEST_BINEARY_TEMPLATE_32.format(
+ test_binary=self._test_binary_file[:-len('.cpp')])
+ ET.SubElement(test, 'option', {
+ 'name': 'binary-test-source',
+ 'value': test_binary_file
+ })
+ test_binary_file = TEST_BINEARY_TEMPLATE_64.format(
+ test_binary=self._test_binary_file[:-len('.cpp')])
+ ET.SubElement(test, 'option', {
+ 'name': 'binary-test-source',
+ 'value': test_binary_file
+ })
+ ET.SubElement(test, 'option', {
+ 'name': 'binary-test-type',
+ 'value': 'hal_hidl_gtest'
+ })
+ if self._stop_runtime:
+ ET.SubElement(test, 'option', {
+ 'name': 'binary-test-disable-framework',
+ 'value': 'true'
+ })
+ ET.SubElement(test, 'option', {
+ 'name': 'binary-test-stop-native-servers',
+ 'value': 'true'
+ })
+ else:
+ test_script_file = TEST_SCRIPT_TEMPLATE.format(
+ hal_path=self.GetHalPath(),
+ hal_version=self.GetHalVersionToken(),
+ test_script=self._test_script_file[:-len('.py')])
+ ET.SubElement(test, 'option', {
+ 'name': 'test-case-path',
+ 'value': test_script_file
+ })
+
+ ET.SubElement(test, 'option', {
+ 'name': 'test-timeout',
+ 'value': self._time_out
+ })
+
+ def Prettify(self, elem):
+ """Create a pretty-printed XML string for the Element.
+
+ Args:
+ elem: a xml element.
+
+ Regurns:
+ A pretty-printed XML string for the Element.
+ """
+ if elem:
+ doc = minidom.Document()
+ declaration = doc.toxml()
+ rough_string = ET.tostring(elem, 'utf-8')
+ reparsed = minidom.parseString(rough_string)
+ return unescape(
+ reparsed.toprettyxml(indent=" ")[len(declaration) + 1:])
+
+
+LICENSE_STATEMENT_XML = """<!-- Copyright (C) {year} 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.
+-->
+"""
+
+ANDROID_BP_TEMPLATE = """// Copyright (C) {year} The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
+
+vts_config {{
+ name: "{test_name}",
+}}
+
+"""
+
+XML_HEADER = """<?xml version="1.0" encoding="utf-8"?>
+"""
+
+TEST_BINEARY_TEMPLATE_32 = '_32bit::DATA/nativetest/{test_binary}/{test_binary}'
+TEST_BINEARY_TEMPLATE_64 = '_64bit::DATA/nativetest64/{test_binary}/{test_binary}'
+
+TEST_SCRIPT_TEMPLATE = 'vts/testcases/hal/{hal_path}/{hal_version}/host/{test_script}'
+TEST_TRACE_TEMPLATE = 'test/vts-testcase/hal-trace/{hal_path}/{hal_version}/{trace_file}'
+VTS_SPEC_PUSH_TEMPLATE = (
+ 'spec/hardware/interfaces/{hal_path}/{hal_version}/vts/{vts_file}->'
+ '/data/local/tmp/spec/{package_path}/{hal_version}/{vts_file}')
+VTS_LIB_PUSH_TEMPLATE_32 = 'DATA/lib/{lib_name}->/data/local/tmp/32/{lib_name}'
+VTS_LIB_PUSH_TEMPLATE_64 = 'DATA/lib64/{lib_name}->/data/local/tmp/64/{lib_name}'
+
+VTA_HAL_ADAPTER_MODULE_CONTROLLER = 'com.android.tradefed.module.VtsHalAdapterModuleController'
+VTA_HAL_ADAPTER_PREPARER = 'com.android.tradefed.targetprep.VtsHalAdapterPreparer'
+ANDROID_JUNIT_TEST = 'com.android.tradefed.testtype.AndroidJUnitTest'
diff --git a/script/launch_hal_test.py b/script/launch_hal_test.py
new file mode 100755
index 00000000..f6f4f263
--- /dev/null
+++ b/script/launch_hal_test.py
@@ -0,0 +1,164 @@
+#!/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 build.build_rule_gen import BuildRuleGen
+from build.vts_spec_parser import VtsSpecParser
+from configure.test_case_creator import TestCaseCreator
+from utils.const import Constant
+
+TEST_TIME_OUT_PATTERN = '(([0-9]+)(m|s|h))+'
+
+"""Generate Android.mk, Android.bp, and AndroidTest.xml files for given hal
+
+Usage:
+ python launch_hal_test.py [--options] hal_package name
+
+ where options are:
+ --test_type: Test type, currently support two types: target and host.
+ --time_out: Timeout for the test, default is 1m.
+ --package_root: Prefix of the HAL package. default is android.hardware
+ --path_root: Root path that stores the HAL definition. default is hardware/interfaces
+ --test_binary_file: Test binary file for target-side HAL test.
+ --test_script_file: Test script file for host-side HAL test.
+ --test_config_dir: Directory path to store the test configure files.
+ --replay: Whether this is a replay test.
+ --disable_stop_runtime: Whether to stop framework before the test.
+Example:
+ python launch_hal_test.py android.hardware.nfc@1.0
+ python launch_hal_test.py --test_type=host --time_out=5m android.hardware.nfc@1.0
+ python launch_hal_test.py --package_root com.qualcomm.qti
+ --path_root vendor/qcom/proprietary/interfaces/com/qualcomm/qti/
+ --test_configure_dir temp/ com.qualcomm.qti.qcril.qcrilhook@1.0
+"""
+
+
+def main():
+ parser = argparse.ArgumentParser(description='Initiate a test case.')
+ parser.add_argument(
+ '--test_type',
+ dest='test_type',
+ required=False,
+ default='target',
+ help='Test type, currently support two types: target and host.')
+ parser.add_argument(
+ '--time_out',
+ dest='time_out',
+ required=False,
+ default='1m',
+ help='Timeout for the test, default is 1m.')
+ parser.add_argument(
+ '--replay',
+ dest='is_replay',
+ action='store_true',
+ required=False,
+ help='Whether this is a replay test.')
+ parser.add_argument(
+ '--disable_stop_runtime',
+ dest='disable_stop_runtime',
+ action='store_true',
+ required=False,
+ help='Whether to stop framework before the test.')
+ parser.add_argument(
+ '--package_root',
+ dest='package_root',
+ required=False,
+ default=Constant.HAL_PACKAGE_PREFIX,
+ help='Prefix of the HAL package. e.g. android.hardware')
+ parser.add_argument(
+ '--path_root',
+ dest='path_root',
+ required=False,
+ default=Constant.HAL_INTERFACE_PATH,
+ help=
+ 'Root path that stores the HAL definition. e.g. hardware/interfaces')
+ parser.add_argument(
+ '--test_binary_file',
+ dest='test_binary_file',
+ required=False,
+ help='Test binary file for target-side HAL test.')
+ parser.add_argument(
+ '--test_script_file',
+ dest='test_script_file',
+ required=False,
+ help='Test script file for host-side HAL test.')
+ parser.add_argument(
+ '--test_config_dir',
+ dest='test_config_dir',
+ required=False,
+ help='Directory path to store the test configure files.')
+ parser.add_argument(
+ 'hal_package_name',
+ help='hal package name (e.g. android.hardware.nfc@1.0).')
+ args = parser.parse_args()
+
+ regex = re.compile(Constant.HAL_PACKAGE_NAME_PATTERN)
+ result = re.match(regex, args.hal_package_name)
+ if not result:
+ print 'Invalid hal package name. Exiting..'
+ sys.exit(1)
+
+ if not args.hal_package_name.startswith(args.package_root + '.'):
+ print 'hal_package_name does not start with package_root. Exiting...'
+ sys.exit(1)
+
+ if args.test_type != 'target' and args.test_type != 'host':
+ print 'Unsupported test type. Exiting...'
+ sys.exit(1)
+ elif args.test_type == 'host' and args.is_replay:
+ print 'Host side replay test is not supported yet. Exiting...'
+ sys.exit(1)
+
+ regex = re.compile(TEST_TIME_OUT_PATTERN)
+ result = re.match(regex, args.time_out)
+ if not result:
+ print 'Invalid test time out format. Exiting...'
+ sys.exit(1)
+
+ if not args.test_config_dir:
+ if args.package_root == Constant.HAL_PACKAGE_PREFIX:
+ args.test_config_dir = Constant.VTS_HAL_TEST_CASE_PATH
+ else:
+ args.test_config_dir = args.path_root
+
+ stop_runtime = False
+ if args.test_type == 'target' and not args.disable_stop_runtime:
+ stop_runtime = True
+
+ vts_spec_parser = VtsSpecParser(
+ package_root=args.package_root, path_root=args.path_root)
+ test_case_creater = TestCaseCreator(vts_spec_parser, args.hal_package_name)
+ if not test_case_creater.LaunchTestCase(
+ args.test_type,
+ args.time_out,
+ is_replay=args.is_replay,
+ stop_runtime=stop_runtime,
+ test_binary_file=args.test_binary_file,
+ test_script_file=args.test_script_file,
+ test_config_dir=args.test_config_dir,
+ package_root=args.package_root,
+ path_root=args.path_root):
+ print('Error: Failed to launch test for %s. Exiting...' %
+ args.hal_package_name)
+ sys.exit(1)
+
+if __name__ == '__main__':
+ main()
diff --git a/script/update_hal_adapter_tests.py b/script/update_hal_adapter_tests.py
new file mode 100755
index 00000000..8cc91f7e
--- /dev/null
+++ b/script/update_hal_adapter_tests.py
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+#
+# Copyright 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.
+#
+import argparse
+import os
+import sys
+
+from build.vts_spec_parser import VtsSpecParser
+from configure.test_case_creator import TestCaseCreator
+"""Regenerate test configures for all hal adapter tests.
+
+Usage:
+ python update_hal_adapter_tests.py [-h] cts_hal_mapping_dir
+"""
+
+
+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)
+
+ parser = argparse.ArgumentParser(
+ description='Update vts hal adapter tests.')
+ parser.add_argument(
+ 'cts_hal_mapping_dir',
+ help='Directory that stores cts_hal_mapping files.')
+ args = parser.parse_args()
+
+ 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
+ major_version, minor_version = hal_version.split('.')
+ if int(minor_version) > 0:
+ lower_version = major_version + '.' + str(int(minor_version) - 1)
+ if (hal_name, lower_version) in hal_list:
+ test_case_creater = TestCaseCreator(vts_spec_parser,
+ hal_package_name)
+ test_case_creater.LaunchTestCase(
+ test_type='adapter',
+ mapping_dir_path=args.cts_hal_mapping_dir)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/script/update_hal_tests.py b/script/update_hal_tests.py
new file mode 100755
index 00000000..733254ad
--- /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/script/utils/__init__.py b/script/utils/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/script/utils/__init__.py
diff --git a/script/utils/const.py b/script/utils/const.py
new file mode 100644
index 00000000..0b63017c
--- /dev/null
+++ b/script/utils/const.py
@@ -0,0 +1,33 @@
+#
+# Copyright 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.
+#
+
+class Constant(object):
+ """Constant values used in scripts. """
+
+ # Header of the .bp files generated by scripts.
+ BP_WARNING_HEADER = (
+ '// This file was auto-generated. Do not edit manually.\n'
+ '// Use launch_hal_test.py or update_makefiles.py in test/vts-testcase/hal/script/ to generate this file.\n\n')
+ # Default path that stores the Google defined HAL interface.
+ HAL_INTERFACE_PATH = 'hardware/interfaces'
+ # Regular expression for HAL package names.
+ HAL_PACKAGE_NAME_PATTERN = '(([a-zA-Z_0-9]*)(?:[.][a-zA-Z_0-9]*)*)@([0-9]+)[.]([0-9]+)'
+ # Default package root for Google defined HAL interface.
+ HAL_PACKAGE_PREFIX = 'android.hardware'
+ # Default path that stores HAL traces, used for replay tests.
+ HAL_TRACE_PATH = 'test/vts-testcase/hal-trace'
+ # Default path for VTS test configure files.
+ VTS_HAL_TEST_CASE_PATH = 'test/vts-testcase/hal'
diff --git a/secure_element/V1_0/target/Android.bp b/secure_element/V1_0/target/Android.bp
new file mode 100644
index 00000000..fdcbbc23
--- /dev/null
+++ b/secure_element/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSecureElementV1_0Target",
+}
diff --git a/secure_element/V1_0/target/AndroidTest.xml b/secure_element/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..84f8b016
--- /dev/null
+++ b/secure_element/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalSecureElementV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSecureElementV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSecureElementV1_0TargetTest/VtsHalSecureElementV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSecureElementV1_0TargetTest/VtsHalSecureElementV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ <option name="runtime-hint" value="2m"/>
+ </test>
+</configuration>
diff --git a/sensors/V1_0/__init__.py b/sensors/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/sensors/V1_0/__init__.py
diff --git a/sensors/V1_0/host/Android.bp b/sensors/V1_0/host/Android.bp
new file mode 100644
index 00000000..1bee8bd3
--- /dev/null
+++ b/sensors/V1_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV1_0Host",
+}
diff --git a/sensors/V1_0/host/AndroidTest.xml b/sensors/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..04a06bee
--- /dev/null
+++ b/sensors/V1_0/host/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSensorsV1_0Host test cases">
+ <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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/Sensors.vts->/data/local/tmp/spec/android/hardware/sensors/1.0/Sensors.vts"/>
+ <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/sensors/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.sensors@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.sensors@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.sensors@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.sensors@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSensorsV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/sensors/V1_0/host/VtsHalSensorsV1_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/sensors/V1_0/host/VtsHalSensorsV1_0HostTest.py b/sensors/V1_0/host/VtsHalSensorsV1_0HostTest.py
new file mode 100644
index 00000000..cd788de2
--- /dev/null
+++ b/sensors/V1_0/host/VtsHalSensorsV1_0HostTest.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+
+from vts.runners.host import asserts
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+
+class SensorsHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """Host testcase class for the SENSORS HIDL HAL.
+
+ This class set-up/tear-down the webDB host test framwork and contains host test cases for
+ sensors HIDL HAL.
+ """
+
+ TEST_HAL_SERVICES = {"android.hardware.sensors@1.0::ISensors"}
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer SENSORS service."""
+ super(SensorsHidlTest, self).setUpClass()
+
+ self.dut.hal.InitHidlHal(
+ target_type="sensors",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.sensors",
+ target_component_name="ISensors",
+ bits=int(self.abi_bitness))
+
+ def testSensorsBasic(self):
+ """Test the basic operation of test framework and sensor HIDL HAL
+
+ This test obtains predefined enum values via sensors HIDL HAL host test framework and
+ compares them to known values as a sanity check to make sure both sensors HAL
+ and the test framework are working properly.
+ """
+ sensors_types = self.dut.hal.sensors.GetHidlTypeInterface("types")
+ logging.info("sensors_types: %s", sensors_types)
+ logging.info("OK: %s", sensors_types.Result.OK)
+ logging.info("BAD_VALUE: %s", sensors_types.Result.BAD_VALUE)
+ logging.info("NO_MEMORY: %s", sensors_types.Result.NO_MEMORY)
+ logging.info("PERMISSION_DENIED: %s", sensors_types.Result.PERMISSION_DENIED)
+ logging.info("INVALID_OPERATION: %s", sensors_types.Result.INVALID_OPERATION)
+ asserts.assertEqual(sensors_types.Result.OK, 0)
+ asserts.assertEqual(sensors_types.Result.NO_MEMORY, -12)
+ asserts.assertEqual(sensors_types.Result.BAD_VALUE, -22)
+ asserts.assertEqual(sensors_types.Result.INVALID_OPERATION, -38)
+
+ logging.info("sensor types:")
+ logging.info("ACCELEROMETER: %s", sensors_types.SensorType.ACCELEROMETER)
+ logging.info("MAGNETIC_FIELD: %s", sensors_types.SensorType.MAGNETIC_FIELD)
+ logging.info("GYROSCOPE: %s", sensors_types.SensorType.GYROSCOPE)
+ asserts.assertEqual(sensors_types.SensorType.ACCELEROMETER, 1)
+ asserts.assertEqual(sensors_types.SensorType.MAGNETIC_FIELD, 2)
+ asserts.assertEqual(sensors_types.SensorType.GYROSCOPE, 4)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/sensors/V1_0/host/__init__.py b/sensors/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/sensors/V1_0/host/__init__.py
diff --git a/sensors/V1_0/host_profiling/Android.bp b/sensors/V1_0/host_profiling/Android.bp
new file mode 100644
index 00000000..52d28927
--- /dev/null
+++ b/sensors/V1_0/host_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV1_0HostProfiling",
+}
diff --git a/sensors/V1_0/target/Android.bp b/sensors/V1_0/target/Android.bp
new file mode 100644
index 00000000..32418a68
--- /dev/null
+++ b/sensors/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV1_0Target",
+}
diff --git a/sensors/V1_0/target/AndroidTest.xml b/sensors/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..d0c3bb29
--- /dev/null
+++ b/sensors/V1_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSensorsV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSensorsV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSensorsV1_0TargetTest/VtsHalSensorsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSensorsV1_0TargetTest/VtsHalSensorsV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/sensors/V1_0/target_profiling/Android.bp b/sensors/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..d6b3f978
--- /dev/null
+++ b/sensors/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV1_0TargetProfiling",
+}
diff --git a/sensors/V2_0/__init__.py b/sensors/V2_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/sensors/V2_0/__init__.py
diff --git a/sensors/V2_0/host/Android.bp b/sensors/V2_0/host/Android.bp
new file mode 100644
index 00000000..8b0edbcc
--- /dev/null
+++ b/sensors/V2_0/host/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV2_0Host",
+}
diff --git a/sensors/V2_0/host/AndroidTest.xml b/sensors/V2_0/host/AndroidTest.xml
new file mode 100644
index 00000000..742e343e
--- /dev/null
+++ b/sensors/V2_0/host/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalSensorsV2_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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/sensors/2.0/vts/Sensors.vts->/data/local/tmp/spec/android/hardware/sensors/2.0/Sensors.vts"/>
+ <option name="push" value="spec/hardware/interfaces/sensors/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/sensors/2.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.sensors@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.sensors@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.sensors@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.sensors@2.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSensorsV2_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/sensors/V2_0/host/VtsHalSensorsV2_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/sensors/V2_0/host/VtsHalSensorsV2_0HostTest.py b/sensors/V2_0/host/VtsHalSensorsV2_0HostTest.py
new file mode 100644
index 00000000..2b0d70ab
--- /dev/null
+++ b/sensors/V2_0/host/VtsHalSensorsV2_0HostTest.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2019 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 test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+
+class SensorsHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """Host testcase class for the SENSORS HIDL HAL.
+
+ This class set-up/tear-down the webDB host test framwork and contains host test cases for
+ sensors HIDL HAL.
+ """
+
+ TEST_HAL_SERVICES = {"android.hardware.sensors@2.0::ISensors"}
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer SENSORS service."""
+ super(SensorsHidlTest, self).setUpClass()
+
+ self.dut.hal.InitHidlHal(
+ target_type="sensors",
+ target_basepaths=self.dut.libPaths,
+ target_version=2.0,
+ target_package="android.hardware.sensors",
+ target_component_name="ISensors",
+ bits=int(self.abi_bitness))
+
+ def testSensorsBasic(self):
+ """Test the basic operation of test framework and sensor HIDL HAL
+
+ This test obtains predefined enum values via sensors HIDL HAL host test framework and
+ compares them to known values as a sanity check to make sure both sensors HAL
+ and the test framework are working properly.
+ """
+ sensors_types = self.dut.hal.sensors.GetHidlTypeInterface("types")
+ logging.info("sensors_types: %s", sensors_types)
+ logging.info("OK: %s", sensors_types.Result.OK)
+ logging.info("BAD_VALUE: %s", sensors_types.Result.BAD_VALUE)
+ logging.info("NO_MEMORY: %s", sensors_types.Result.NO_MEMORY)
+ logging.info("PERMISSION_DENIED: %s", sensors_types.Result.PERMISSION_DENIED)
+ logging.info("INVALID_OPERATION: %s", sensors_types.Result.INVALID_OPERATION)
+ asserts.assertEqual(sensors_types.Result.OK, 0)
+ asserts.assertEqual(sensors_types.Result.NO_MEMORY, -12)
+ asserts.assertEqual(sensors_types.Result.BAD_VALUE, -22)
+ asserts.assertEqual(sensors_types.Result.INVALID_OPERATION, -38)
+
+ logging.info("sensor types:")
+ logging.info("ACCELEROMETER: %s", sensors_types.SensorType.ACCELEROMETER)
+ logging.info("MAGNETIC_FIELD: %s", sensors_types.SensorType.MAGNETIC_FIELD)
+ logging.info("GYROSCOPE: %s", sensors_types.SensorType.GYROSCOPE)
+ asserts.assertEqual(sensors_types.SensorType.ACCELEROMETER, 1)
+ asserts.assertEqual(sensors_types.SensorType.MAGNETIC_FIELD, 2)
+ asserts.assertEqual(sensors_types.SensorType.GYROSCOPE, 4)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/sensors/V2_0/host/__init__.py b/sensors/V2_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/sensors/V2_0/host/__init__.py
diff --git a/sensors/V2_0/host_profiling/Android.bp b/sensors/V2_0/host_profiling/Android.bp
new file mode 100644
index 00000000..cc07cfec
--- /dev/null
+++ b/sensors/V2_0/host_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV2_0HostProfiling",
+}
diff --git a/sensors/V2_0/target/Android.bp b/sensors/V2_0/target/Android.bp
new file mode 100644
index 00000000..78ec6d49
--- /dev/null
+++ b/sensors/V2_0/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV2_0Target",
+}
diff --git a/sensors/V2_0/target/AndroidTest.xml b/sensors/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..f08bc7b8
--- /dev/null
+++ b/sensors/V2_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalSensorsV2_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSensorsV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSensorsV2_0TargetTest/VtsHalSensorsV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSensorsV2_0TargetTest/VtsHalSensorsV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/sensors/V2_0/target_profiling/Android.bp b/sensors/V2_0/target_profiling/Android.bp
new file mode 100644
index 00000000..49bfdd12
--- /dev/null
+++ b/sensors/V2_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV2_0TargetProfiling",
+}
diff --git a/sensors/V2_1/target/Android.bp b/sensors/V2_1/target/Android.bp
new file mode 100644
index 00000000..db80a3d5
--- /dev/null
+++ b/sensors/V2_1/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2020 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV2_1Target",
+}
diff --git a/sensors/V2_1/target/AndroidTest.xml b/sensors/V2_1/target/AndroidTest.xml
new file mode 100644
index 00000000..22bed267
--- /dev/null
+++ b/sensors/V2_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 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 VtsHalSensorsV2_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSensorsV2_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSensorsV2_1TargetTest/VtsHalSensorsV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSensorsV2_1TargetTest/VtsHalSensorsV2_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ <option name="gtest-batch-mode" value="true"/>
+ </test>
+</configuration>
diff --git a/sensors/V2_1/target_profiling/Android.bp b/sensors/V2_1/target_profiling/Android.bp
new file mode 100644
index 00000000..98a91ae6
--- /dev/null
+++ b/sensors/V2_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2020 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.
+//
+
+vts_config {
+ name: "VtsHalSensorsV2_1TargetProfiling",
+}
diff --git a/sensors/__init__.py b/sensors/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/sensors/__init__.py
diff --git a/soundtrigger/V2_0/OWNERS b/soundtrigger/V2_0/OWNERS
new file mode 100644
index 00000000..6fdc97ca
--- /dev/null
+++ b/soundtrigger/V2_0/OWNERS
@@ -0,0 +1,3 @@
+elaurent@google.com
+krocard@google.com
+mnaganov@google.com
diff --git a/soundtrigger/V2_0/target/Android.bp b/soundtrigger/V2_0/target/Android.bp
new file mode 100644
index 00000000..1c749f1d
--- /dev/null
+++ b/soundtrigger/V2_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_0Target",
+}
diff --git a/soundtrigger/V2_0/target/AndroidTest.xml b/soundtrigger/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..1df453e6
--- /dev/null
+++ b/soundtrigger/V2_0/target/AndroidTest.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSoundtriggerV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSoundtriggerV2_0TargetTest/VtsHalSoundtriggerV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSoundtriggerV2_0TargetTest/VtsHalSoundtriggerV2_0TargetTest"/>
+ <option name="binary-test-type" value="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-file-path-prefix" value="/*/lib/hw/sound_trigger.primary.*" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/soundtrigger/V2_0/target_profiling/Android.bp b/soundtrigger/V2_0/target_profiling/Android.bp
new file mode 100644
index 00000000..ad533221
--- /dev/null
+++ b/soundtrigger/V2_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_0TargetProfiling",
+}
diff --git a/soundtrigger/V2_1/OWNERS b/soundtrigger/V2_1/OWNERS
new file mode 100644
index 00000000..6fdc97ca
--- /dev/null
+++ b/soundtrigger/V2_1/OWNERS
@@ -0,0 +1,3 @@
+elaurent@google.com
+krocard@google.com
+mnaganov@google.com
diff --git a/soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/Android.bp b/soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/Android.bp
new file mode 100644
index 00000000..eb3de5cc
--- /dev/null
+++ b/soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_1AdapterCtsStatsdHostTestCases",
+}
diff --git a/soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml b/soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml
new file mode 100644
index 00000000..3bff2093
--- /dev/null
+++ b/soundtrigger/V2_1/adapter/CtsStatsdHostTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_1AdapterCtsStatsdHostTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.soundtrigger@2.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsStatsdHostTestCases.config"/>
+</configuration>
diff --git a/soundtrigger/V2_1/adapter/CtsWidgetTestCases/Android.bp b/soundtrigger/V2_1/adapter/CtsWidgetTestCases/Android.bp
new file mode 100644
index 00000000..3731259b
--- /dev/null
+++ b/soundtrigger/V2_1/adapter/CtsWidgetTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_1AdapterCtsWidgetTestCases",
+}
diff --git a/soundtrigger/V2_1/adapter/CtsWidgetTestCases/AndroidTest.xml b/soundtrigger/V2_1/adapter/CtsWidgetTestCases/AndroidTest.xml
new file mode 100644
index 00000000..ed6391b4
--- /dev/null
+++ b/soundtrigger/V2_1/adapter/CtsWidgetTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_1AdapterCtsWidgetTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.soundtrigger@2.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsWidgetTestCases.config"/>
+</configuration>
diff --git a/soundtrigger/V2_1/target/Android.bp b/soundtrigger/V2_1/target/Android.bp
new file mode 100644
index 00000000..f51718f6
--- /dev/null
+++ b/soundtrigger/V2_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_1Target",
+}
diff --git a/soundtrigger/V2_1/target/AndroidTest.xml b/soundtrigger/V2_1/target/AndroidTest.xml
new file mode 100644
index 00000000..6cd849b6
--- /dev/null
+++ b/soundtrigger/V2_1/target/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSoundtriggerV2_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSoundtriggerV2_1TargetTest/VtsHalSoundtriggerV2_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSoundtriggerV2_1TargetTest/VtsHalSoundtriggerV2_1TargetTest"/>
+ <option name="binary-test-type" value="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-file-path-prefix" value="/*/lib/hw/sound_trigger.primary.*" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/soundtrigger/V2_1/target_profiling/Android.bp b/soundtrigger/V2_1/target_profiling/Android.bp
new file mode 100644
index 00000000..1ab05ed9
--- /dev/null
+++ b/soundtrigger/V2_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_1TargetProfiling",
+}
diff --git a/soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/Android.bp b/soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/Android.bp
new file mode 100644
index 00000000..f619479c
--- /dev/null
+++ b/soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_2AdapterCtsStatsdHostTestCases",
+}
diff --git a/soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/AndroidTest.xml b/soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/AndroidTest.xml
new file mode 100644
index 00000000..c5f55329
--- /dev/null
+++ b/soundtrigger/V2_2/adapter/CtsStatsdHostTestCases/AndroidTest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_2AdapterCtsStatsdHostTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.2"/>
+ </object>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsStatsdHostTestCases.config"/>
+</configuration>
diff --git a/soundtrigger/V2_2/adapter/CtsWidgetTestCases/Android.bp b/soundtrigger/V2_2/adapter/CtsWidgetTestCases/Android.bp
new file mode 100644
index 00000000..348774ae
--- /dev/null
+++ b/soundtrigger/V2_2/adapter/CtsWidgetTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_2AdapterCtsWidgetTestCases",
+}
diff --git a/soundtrigger/V2_2/adapter/CtsWidgetTestCases/AndroidTest.xml b/soundtrigger/V2_2/adapter/CtsWidgetTestCases/AndroidTest.xml
new file mode 100644
index 00000000..30dfb4e1
--- /dev/null
+++ b/soundtrigger/V2_2/adapter/CtsWidgetTestCases/AndroidTest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_2AdapterCtsWidgetTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.2"/>
+ </object>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsWidgetTestCases.config"/>
+</configuration>
diff --git a/soundtrigger/V2_2/target/Android.bp b/soundtrigger/V2_2/target/Android.bp
new file mode 100644
index 00000000..9ca6b25e
--- /dev/null
+++ b/soundtrigger/V2_2/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_2Target",
+}
diff --git a/soundtrigger/V2_2/target/AndroidTest.xml b/soundtrigger/V2_2/target/AndroidTest.xml
new file mode 100644
index 00000000..c4257630
--- /dev/null
+++ b/soundtrigger/V2_2/target/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSoundtriggerV2_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSoundtriggerV2_2TargetTest/VtsHalSoundtriggerV2_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSoundtriggerV2_2TargetTest/VtsHalSoundtriggerV2_2TargetTest"/>
+ <option name="binary-test-type" value="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-file-path-prefix" value="/*/lib/hw/sound_trigger.primary.*" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/soundtrigger/V2_2/target_profiling/Android.bp b/soundtrigger/V2_2/target_profiling/Android.bp
new file mode 100644
index 00000000..f6e5652d
--- /dev/null
+++ b/soundtrigger/V2_2/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_2TargetProfiling",
+}
diff --git a/soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/Android.bp b/soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/Android.bp
new file mode 100644
index 00000000..6a390c6d
--- /dev/null
+++ b/soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_3AdapterCtsStatsdHostTestCases",
+}
diff --git a/soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml b/soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml
new file mode 100644
index 00000000..d8ae34d9
--- /dev/null
+++ b/soundtrigger/V2_3/adapter/CtsStatsdHostTestCases/AndroidTest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_3AdapterCtsStatsdHostTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.3"/>
+ </object>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsStatsdHostTestCases.config"/>
+</configuration>
diff --git a/soundtrigger/V2_3/adapter/CtsWidgetTestCases/Android.bp b/soundtrigger/V2_3/adapter/CtsWidgetTestCases/Android.bp
new file mode 100644
index 00000000..632db562
--- /dev/null
+++ b/soundtrigger/V2_3/adapter/CtsWidgetTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_3AdapterCtsWidgetTestCases",
+}
diff --git a/soundtrigger/V2_3/adapter/CtsWidgetTestCases/AndroidTest.xml b/soundtrigger/V2_3/adapter/CtsWidgetTestCases/AndroidTest.xml
new file mode 100644
index 00000000..94d99674
--- /dev/null
+++ b/soundtrigger/V2_3/adapter/CtsWidgetTestCases/AndroidTest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_3AdapterCtsWidgetTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.soundtrigger@2.3"/>
+ </object>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsWidgetTestCases.config"/>
+</configuration>
diff --git a/soundtrigger/V2_3/target/Android.bp b/soundtrigger/V2_3/target/Android.bp
new file mode 100644
index 00000000..eff5c6cb
--- /dev/null
+++ b/soundtrigger/V2_3/target/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_3Target",
+}
diff --git a/soundtrigger/V2_3/target/AndroidTest.xml b/soundtrigger/V2_3/target/AndroidTest.xml
new file mode 100644
index 00000000..9211b4dc
--- /dev/null
+++ b/soundtrigger/V2_3/target/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalSoundtriggerV2_3Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalSoundtriggerV2_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalSoundtriggerV2_3TargetTest/VtsHalSoundtriggerV2_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalSoundtriggerV2_3TargetTest/VtsHalSoundtriggerV2_3TargetTest"/>
+ <option name="binary-test-type" value="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-file-path-prefix" value="/*/lib/hw/sound_trigger.primary.*" />
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/soundtrigger/V2_3/target_profiling/Android.bp b/soundtrigger/V2_3/target_profiling/Android.bp
new file mode 100644
index 00000000..afd69de6
--- /dev/null
+++ b/soundtrigger/V2_3/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalSoundtriggerV2_3TargetProfiling",
+}
diff --git a/stats/OWNERS b/stats/OWNERS
new file mode 100644
index 00000000..f60a4a71
--- /dev/null
+++ b/stats/OWNERS
@@ -0,0 +1,3 @@
+maggiewhite@google.com
+yro@google.com
+achant@google.com
diff --git a/stats/V1_0/target/Android.bp b/stats/V1_0/target/Android.bp
new file mode 100644
index 00000000..b7a8e3e1
--- /dev/null
+++ b/stats/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalStatsV1_0Target",
+}
diff --git a/stats/V1_0/target/AndroidTest.xml b/stats/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..2c359750
--- /dev/null
+++ b/stats/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalStatsV1_0Target test cases">
+ <option key="plan" name="config-descriptor:metadata" 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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalStatsV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalStatsV1_0TargetTest/VtsHalStatsV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalStatsV1_0TargetTest/VtsHalStatsV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+ </configuration>
diff --git a/tetheroffload/config/V1_0/target/Android.bp b/tetheroffload/config/V1_0/target/Android.bp
new file mode 100644
index 00000000..c918f731
--- /dev/null
+++ b/tetheroffload/config/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTetheroffloadConfigV1_0Target",
+}
diff --git a/tetheroffload/config/V1_0/target/AndroidTest.xml b/tetheroffload/config/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..9125d727
--- /dev/null
+++ b/tetheroffload/config/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalTetherOffloadConfigV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ <option name="runtime-hint" value="2m"/>
+ </test>
+</configuration>
diff --git a/tetheroffload/control/V1_0/target/Android.bp b/tetheroffload/control/V1_0/target/Android.bp
new file mode 100644
index 00000000..13df626d
--- /dev/null
+++ b/tetheroffload/control/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTetheroffloadControlV1_0Target",
+}
diff --git a/tetheroffload/control/V1_0/target/AndroidTest.xml b/tetheroffload/control/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..2c8d6967
--- /dev/null
+++ b/tetheroffload/control/V1_0/target/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalTetherOffloadControlV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <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/thermal/OWNERS b/thermal/OWNERS
deleted file mode 100644
index 0c282a0e..00000000
--- a/thermal/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Bug component: 623506
-wvw@google.com
diff --git a/thermal/V1_0/target/Android.bp b/thermal/V1_0/target/Android.bp
new file mode 100644
index 00000000..b8eeb491
--- /dev/null
+++ b/thermal/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalThermalV1_0Target",
+}
diff --git a/thermal/V1_0/target/AndroidTest.xml b/thermal/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..3750298b
--- /dev/null
+++ b/thermal/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalThermalV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalThermalV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalThermalV1_0TargetTest/VtsHalThermalV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalThermalV1_0TargetTest/VtsHalThermalV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/thermal/V1_0/target_profiling/Android.bp b/thermal/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..0cd3d598
--- /dev/null
+++ b/thermal/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalThermalV1_0TargetProfiling",
+}
diff --git a/thermal/V1_0/target_replay/Android.bp b/thermal/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..250e5e19
--- /dev/null
+++ b/thermal/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalThermalV1_0TargetReplay",
+}
diff --git a/thermal/V1_0/target_replay/AndroidTest.xml b/thermal/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..05d8ff88
--- /dev/null
+++ b/thermal/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalThermalV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/thermal/1.0/vts/Thermal.vts->/data/local/tmp/spec/android/hardware/thermal/1.0/Thermal.vts"/>
+ <option name="push" value="spec/hardware/interfaces/thermal/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/thermal/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.thermal@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.thermal@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.thermal@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.thermal@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalThermalV1_0TargetReplay"/>
+ <option name="binary-test-type" value="hal_hidl_replay_test"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/thermal/V1_0/android.hardware.thermal_1.0_414823138144.vts.trace"/>
+ <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/thermal/V1_0/android.hardware.thermal_1.0_42653587163.vts.trace"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/thermal/V1_0/target_stress/Android.bp b/thermal/V1_0/target_stress/Android.bp
index 2e9ed977..37d5c3a9 100644
--- a/thermal/V1_0/target_stress/Android.bp
+++ b/thermal/V1_0/target_stress/Android.bp
@@ -14,10 +14,6 @@
// limitations under the License.
//
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
cc_test {
name: "thermal_hidl_stress_test",
gtest: true,
@@ -39,3 +35,7 @@ cc_test {
"-Werror",
],
}
+
+vts_config {
+ name: "ThermalHidlTargetStressTest",
+}
diff --git a/thermal/V1_0/target_stress/AndroidTest.xml b/thermal/V1_0/target_stress/AndroidTest.xml
new file mode 100644
index 00000000..7fe51fda
--- /dev/null
+++ b/thermal/V1_0/target_stress/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS THERMAL HAL's target-side stress test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="ThermalHidlTargetStressTest" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/thermal_hidl_stress_test/thermal_hidl_stress_test" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/thermal_hidl_stress_test/thermal_hidl_stress_test" />
+ <option name="binary-test-type" value="gtest" />
+ <option name="test-timeout" value="5m" />
+ </test>
+</configuration>
+
diff --git a/thermal/V1_1/adapter/Android.bp b/thermal/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..453231e3
--- /dev/null
+++ b/thermal/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalThermalV1_1Adapter",
+}
diff --git a/thermal/V1_1/adapter/AndroidTest.xml b/thermal/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..1fd66455
--- /dev/null
+++ b/thermal/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalThermalV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.thermal@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.thermal@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.thermal@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsJniTestCases.config"/>
+</configuration>
diff --git a/thermal/V1_1/target/Android.bp b/thermal/V1_1/target/Android.bp
new file mode 100644
index 00000000..43263ef2
--- /dev/null
+++ b/thermal/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalThermalV1_1Target",
+}
diff --git a/thermal/V1_1/target/AndroidTest.xml b/thermal/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..7654dcdc
--- /dev/null
+++ b/thermal/V1_1/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalThermalV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalThermalV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalThermalV1_1TargetTest/VtsHalThermalV1_1TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalThermalV1_1TargetTest/VtsHalThermalV1_1TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/thermal/V1_1/target_profiling/Android.bp b/thermal/V1_1/target_profiling/Android.bp
new file mode 100644
index 00000000..d6e779f7
--- /dev/null
+++ b/thermal/V1_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalThermalV1_1TargetProfiling",
+}
diff --git a/thermal/V2_0/target/Android.bp b/thermal/V2_0/target/Android.bp
new file mode 100644
index 00000000..d938ef4b
--- /dev/null
+++ b/thermal/V2_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalThermalV2_0Target",
+}
diff --git a/thermal/V2_0/target/AndroidTest.xml b/thermal/V2_0/target/AndroidTest.xml
new file mode 100644
index 00000000..f0cf2308
--- /dev/null
+++ b/thermal/V2_0/target/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalThermalV2_0Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalThermalV2_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalThermalV2_0TargetTest/VtsHalThermalV2_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalThermalV2_0TargetTest/VtsHalThermalV2_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/treble/Android.bp b/treble/Android.bp
index 8275f24d..78751689 100644
--- a/treble/Android.bp
+++ b/treble/Android.bp
@@ -14,10 +14,6 @@
// limitations under the License.
//
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
subdirs = [
"vintf",
]
diff --git a/treble/framework_vintf/Android.bp b/treble/framework_vintf/Android.bp
new file mode 100644
index 00000000..b12a66f8
--- /dev/null
+++ b/treble/framework_vintf/Android.bp
@@ -0,0 +1,17 @@
+// 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.
+
+vts_config {
+ name: "VtsTrebleFrameworkVintfTest",
+}
diff --git a/treble/framework_vintf/AndroidTest.xml b/treble/framework_vintf/AndroidTest.xml
new file mode 100644
index 00000000..ded7d9cf
--- /dev/null
+++ b/treble/framework_vintf/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VtsTrebleFrameworkVintfTest">
+ <option name="config-descriptor:metadata" key="plan" value="vts-treble" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ <option name="push" value="hal-hidl-hash/frameworks/hardware/interfaces/current.txt->/data/local/tmp/frameworks/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/hardware/interfaces/current.txt->/data/local/tmp/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/system/hardware/interfaces/current.txt->/data/local/tmp/system/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/system/libhidl/transport/current.txt->/data/local/tmp/system/libhidl/transport/current.txt"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsTrebleFrameworkVintfTest"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/vts_treble_vintf_framework_test/vts_treble_vintf_framework_test" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/vts_treble_vintf_framework_test/vts_treble_vintf_framework_test" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="disable-framework" value="false"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/treble/platform_version/Android.bp b/treble/platform_version/Android.bp
index 201236ee..89a244ce 100644
--- a/treble/platform_version/Android.bp
+++ b/treble/platform_version/Android.bp
@@ -14,8 +14,8 @@
// limitations under the License.
//
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
+vts_config {
+ name: "VtsTreblePlatformVersionTest",
}
python_test_host {
@@ -41,8 +41,5 @@ python_test_host {
enabled: true,
embedded_launcher: true,
}
- },
- test_options: {
- unit_test: false,
- },
+ }
}
diff --git a/usb/gadget/V1_2/host/AndroidTest.xml b/treble/platform_version/AndroidTest.xml
index 458a4ac9..cbf76a41 100644
--- a/usb/gadget/V1_2/host/AndroidTest.xml
+++ b/treble/platform_version/AndroidTest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2020 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,13 +13,14 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<configuration description="Config for VtsHalUsbGadgetV1_2Host test cases">
- <option name="config-descriptor:metadata" key="plan" value="vts-staging-default" />
- <option name="config-descriptor:metadata" key="plan" value="vts-hal-host" />
- <option name="config-descriptor:metadata" key="plan" value="vts-hal" />
- <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />
-
- <test class="com.android.compatibility.common.tradefed.testtype.JarHostTest">
- <option name="jar" value="VtsHalUsbGadgetV1_2HostTest.jar" />
+<configuration description="Config for VTS VtsTreblePlatformVersionTest test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-treble" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="push-group" value="HostDrivenTest.push" />
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsTreblePlatformVersionTest" />
+ <option name="test-case-path" value="vts/testcases/hal/treble/platform_version/VtsTreblePlatformVersionTest" />
+ <option name="test-timeout" value="5m"/>
</test>
</configuration>
diff --git a/treble/vendor_vintf/Android.bp b/treble/vendor_vintf/Android.bp
new file mode 100644
index 00000000..a362565f
--- /dev/null
+++ b/treble/vendor_vintf/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsTrebleVendorVintfTest",
+}
diff --git a/treble/vendor_vintf/AndroidTest.xml b/treble/vendor_vintf/AndroidTest.xml
new file mode 100644
index 00000000..6ad83f87
--- /dev/null
+++ b/treble/vendor_vintf/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsTrebleVendorVintfTest test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-treble" />
+ <target_preparer class="com.android.tradefed.targetprep.MultiSimPreparer" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ <option name="push" value="hal-hidl-hash/frameworks/hardware/interfaces/current.txt->/data/local/tmp/frameworks/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/hardware/interfaces/current.txt->/data/local/tmp/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/system/hardware/interfaces/current.txt->/data/local/tmp/system/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/system/libhidl/transport/current.txt->/data/local/tmp/system/libhidl/transport/current.txt"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsTrebleVendorVintfTest"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/vts_treble_vintf_vendor_test/vts_treble_vintf_vendor_test" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/vts_treble_vintf_vendor_test/vts_treble_vintf_vendor_test" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/treble/vintf/Android.bp b/treble/vintf/Android.bp
index 55824a95..38a7a8c4 100644
--- a/treble/vintf/Android.bp
+++ b/treble/vintf/Android.bp
@@ -12,12 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
cc_defaults {
name: "vts_treble_vintf_test_defaults",
+
cflags: [
"-Wall",
"-Werror",
@@ -32,7 +29,6 @@ cc_defaults {
"libz",
],
static_libs: [
- "apex_aidl_interface-cpp",
"libaidlmetadata",
"libgmock",
"libhidl-gen-hash",
@@ -42,7 +38,6 @@ cc_defaults {
"libselinux",
"libtinyxml2",
"libvintf",
- "libvts_vintf_test_common",
],
group_static_libs: true,
srcs: [
@@ -106,3 +101,7 @@ cc_test {
"SystemVendorTest.cpp",
],
}
+
+vts_config {
+ name: "VtsTrebleVintfTestOMr1",
+}
diff --git a/treble/vintf/AndroidTest.xml b/treble/vintf/AndroidTest.xml
new file mode 100644
index 00000000..2fe48b77
--- /dev/null
+++ b/treble/vintf/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 VtsTrebleVintfTestOMr1 test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-treble" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ <option name="push" value="DATA/lib/libhidl-gen-hash.so->/data/local/tmp/32/libhidl-gen-hash.so"/>
+ <option name="push" value="DATA/lib64/libhidl-gen-hash.so->/data/local/tmp/64/libhidl-gen-hash.so"/>
+ <option name="push" value="hal-hidl-hash/frameworks/hardware/interfaces/current.txt->/data/local/tmp/frameworks/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/hardware/interfaces/current.txt->/data/local/tmp/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/system/hardware/interfaces/current.txt->/data/local/tmp/system/hardware/interfaces/current.txt"/>
+ <option name="push" value="hal-hidl-hash/system/libhidl/transport/current.txt->/data/local/tmp/system/libhidl/transport/current.txt"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsTrebleVintfTestOMr1"/>
+ <option name="binary-test-working-directory" value="_32bit::/data/nativetest/" />
+ <option name="binary-test-working-directory" value="_64bit::/data/nativetest64/" />
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/vts_treble_vintf_test_o_mr1/vts_treble_vintf_test_o_mr1" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/vts_treble_vintf_test_o_mr1/vts_treble_vintf_test_o_mr1" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/treble/vintf/DeviceManifestTest.cpp b/treble/vintf/DeviceManifestTest.cpp
index 48c2e056..2f83e496 100644
--- a/treble/vintf/DeviceManifestTest.cpp
+++ b/treble/vintf/DeviceManifestTest.cpp
@@ -17,10 +17,7 @@
#include "DeviceManifestTest.h"
#include <android-base/properties.h>
-#include <android-base/result.h>
-#include <libvts_vintf_test_common/common.h>
#include <vintf/VintfObject.h>
-
#include "SingleManifestTest.h"
namespace android {
@@ -36,27 +33,48 @@ void DeviceManifestTest::SetUp() {
}
// Tests that Shipping FCM Version in the device manifest is at least the
-// minimum Shipping FCM Version as required by Board API level.
+// minimum Shipping FCM Version as required by Shipping API level.
TEST_F(DeviceManifestTest, ShippingFcmVersion) {
- uint64_t board_api_level = GetBoardApiLevel();
+ uint64_t shipping_api_level = GetShippingApiLevel();
+ ASSERT_NE(shipping_api_level, 0u)
+ << "Device's shipping API level cannot be determined.";
+
Level shipping_fcm_version = VintfObject::GetDeviceHalManifest()->level();
- auto res = TestTargetFcmVersion(shipping_fcm_version, board_api_level);
- ASSERT_RESULT_OK(res);
+ if (shipping_fcm_version == Level::UNSPECIFIED) {
+ // O / O-MR1 vendor image doesn't have shipping FCM version declared and
+ // shipping FCM version is inferred from Shipping API level, hence it always
+ // meets the requirement.
+ return;
+ }
+
+ ASSERT_GE(shipping_api_level, kFcm2ApiLevelMap.begin()->first /* 25 */)
+ << "Pre-N devices should not run this test.";
+
+ auto it = kFcm2ApiLevelMap.find(shipping_api_level);
+ ASSERT_TRUE(it != kFcm2ApiLevelMap.end())
+ << "No launch requirement is set yet for Shipping API level "
+ << shipping_api_level << ". Please update the test.";
+
+ Level required_fcm_version = it->second;
+
+ ASSERT_GE(shipping_fcm_version, required_fcm_version)
+ << "Shipping API level == " << shipping_api_level
+ << " requires Shipping FCM Version >= " << required_fcm_version
+ << " (but is " << shipping_fcm_version << ")";
}
TEST_F(DeviceManifestTest, KernelFcmVersion) {
Level shipping_fcm_version = VintfObject::GetDeviceHalManifest()->level();
+ Level kernel_fcm_version = VintfObject::GetRuntimeInfo()->kernelLevel();
if (shipping_fcm_version == Level::UNSPECIFIED ||
shipping_fcm_version < Level::R) {
GTEST_SKIP() << "Kernel FCM version not enforced on target FCM version "
<< shipping_fcm_version;
}
- std::string error;
- Level kernel_fcm_version = VintfObject::GetInstance()->getKernelLevel(&error);
ASSERT_NE(Level::UNSPECIFIED, kernel_fcm_version)
- << "Kernel FCM version must be specified for target FCM version '"
- << shipping_fcm_version << "': " << error;
+ << "Kernel FCM version must be specified for target FCM version "
+ << shipping_fcm_version;
ASSERT_GE(kernel_fcm_version, shipping_fcm_version)
<< "Kernel FCM version " << kernel_fcm_version
<< " must be greater or equal to target FCM version "
@@ -77,7 +95,7 @@ TEST_F(DeviceManifestTest, NoDeprecatedHalsOnManifest) {
// from this requirement, so we use this test to enforce instead of the
// compatibility matrix.
TEST_F(DeviceManifestTest, GrallocHalVersionCompatibility) {
- Level shipping_fcm_version = VintfObject::GetDeviceHalManifest()->level();
+ Level shipping_fcm_version = vendor_manifest_->level();
bool is_go_device =
android::base::GetBoolProperty("ro.config.low_ram", false);
if (shipping_fcm_version == Level::UNSPECIFIED ||
diff --git a/treble/vintf/DeviceMatrixTest.cpp b/treble/vintf/DeviceMatrixTest.cpp
index 2d39c964..94fb433f 100644
--- a/treble/vintf/DeviceMatrixTest.cpp
+++ b/treble/vintf/DeviceMatrixTest.cpp
@@ -36,7 +36,7 @@ void DeviceMatrixTest::SetUp() {
}
TEST_F(DeviceMatrixTest, VndkVersion) {
- if (GetBoardApiLevel() < 28) {
+ if (GetShippingApiLevel() < 28) {
GTEST_SKIP()
<< "VNDK version doesn't need to be set on devices before Android P";
}
diff --git a/treble/vintf/SingleManifestTest.cpp b/treble/vintf/SingleManifestTest.cpp
index c1a3a54a..d426a5f1 100644
--- a/treble/vintf/SingleManifestTest.cpp
+++ b/treble/vintf/SingleManifestTest.cpp
@@ -19,15 +19,12 @@
#include <aidl/metadata.h>
#include <android-base/properties.h>
#include <android-base/strings.h>
-#include <android/apex/ApexInfo.h>
-#include <android/apex/IApexService.h>
#include <binder/IServiceManager.h>
#include <binder/Parcel.h>
#include <binder/Status.h>
#include <gmock/gmock.h>
#include <hidl-util/FqInstance.h>
#include <hidl/HidlTransportUtils.h>
-#include <vintf/constants.h>
#include <vintf/parse_string.h>
#include <algorithm>
@@ -46,7 +43,7 @@ using android::vintf::toFQNameString;
// 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 GetBoardApiLevel() <= 27 && !IsAndroidPlatformInterface(fq_name);
+ return GetShippingApiLevel() <= 27 && !IsAndroidPlatformInterface(fq_name);
}
void FailureHalMissing(const FQName &fq_name, const std::string &instance) {
@@ -60,17 +57,18 @@ void FailureHalMissing(const FQName &fq_name, const std::string &instance) {
}
}
-void FailureHashMissing(const FQName &fq_name) {
+void FailureHashMissing(const FQName &fq_name,
+ bool vehicle_hal_in_automotive_device) {
if (LegacyAndExempt(fq_name)) {
cout << "[ WARNING ] " << fq_name.string()
<< " has an empty hash but is exempted because it is legacy. It is "
"still recommended to fix this. This is because it was compiled "
"without being frozen in a corresponding current.txt file."
<< endl;
- } else if (base::GetProperty("ro.build.version.codename", "") != "REL") {
+ } else if (vehicle_hal_in_automotive_device) {
cout << "[ WARNING ] " << fq_name.string()
- << " has an empty hash but is exempted because it is not a release "
- "build"
+ << " has an empty hash but is exempted because it is IVehicle in an"
+ "automotive device."
<< endl;
} else {
ADD_FAILURE()
@@ -168,26 +166,6 @@ static sp<IBase> GetPassthroughService(const FqInstance &fq_instance) {
return nullptr;
}
-// returns true only if the specified apex is updated
-static bool IsApexUpdated(const std::string &apex_name) {
- using namespace ::android::apex;
- auto binder =
- defaultServiceManager()->waitForService(String16("apexservice"));
- if (binder != nullptr) {
- auto apex_service = interface_cast<IApexService>(binder);
- std::vector<ApexInfo> list;
- auto status = apex_service->getActivePackages(&list);
- EXPECT_TRUE(status.isOk())
- << "Failed to getActivePackages():" << status.exceptionMessage();
- for (const ApexInfo &apex_info : list) {
- if (apex_info.moduleName == apex_name) {
- return !apex_info.isFactory;
- }
- }
- }
- return false;
-}
-
// Tests that no HAL outside of the allowed set is specified as passthrough in
// VINTF.
TEST_P(SingleManifestTest, HalsAreBinderized) {
@@ -429,6 +407,9 @@ TEST_P(SingleManifestTest, ServedPassthroughHalsAreInManifest) {
// Tests that HAL interfaces are officially released.
TEST_P(SingleManifestTest, InterfacesAreReleased) {
+ // Device support automotive features.
+ const static bool automotive_device =
+ DeviceSupportsFeature("android.hardware.type.automotive");
// Verifies that HAL are released by fetching the hash of the interface and
// comparing it to the set of known hashes of released interfaces.
HidlVerifyFn is_released = [](const FQName &fq_name,
@@ -471,9 +452,17 @@ TEST_P(SingleManifestTest, InterfacesAreReleased) {
return;
}
string hash = hash_chain[i];
+
+ bool vehicle_hal_in_automotive_device =
+ automotive_device &&
+ fq_iface_name.string() ==
+ "android.hardware.automotive.vehicle@2.0::IVehicle";
if (hash == Hash::hexString(Hash::kEmptyHash)) {
- FailureHashMissing(fq_iface_name);
- } else if (IsAndroidPlatformInterface(fq_iface_name)) {
+ FailureHashMissing(fq_iface_name, vehicle_hal_in_automotive_device);
+ }
+
+ if (IsAndroidPlatformInterface(fq_iface_name) &&
+ !vehicle_hal_in_automotive_device) {
set<string> released_hashes = ReleasedHashes(fq_iface_name);
EXPECT_NE(released_hashes.find(hash), released_hashes.end())
<< "Hash not found. This interface was not released." << endl
@@ -515,88 +504,18 @@ static std::string getInterfaceHash(const sp<IBinder> &binder) {
return str;
}
-// TODO(b/150155678): using standard code to do this
-static int32_t getInterfaceVersion(const sp<IBinder> &binder) {
- Parcel data;
- Parcel reply;
- const auto &descriptor = binder->getInterfaceDescriptor();
- data.writeInterfaceToken(descriptor);
- status_t err = binder->transact(IBinder::LAST_CALL_TRANSACTION, data, &reply);
- // On upgrading devices, the HAL may not implement this transaction. libvintf
- // treats missing <version> as version 1, so we do the same here.
- if (err == UNKNOWN_TRANSACTION) {
- std::cout << "INFO: " << descriptor
- << " does not have an interface version, using default value "
- << android::vintf::kDefaultAidlMinorVersion << std::endl;
- return android::vintf::kDefaultAidlMinorVersion;
- }
- EXPECT_EQ(OK, err);
- binder::Status status;
- EXPECT_EQ(OK, status.readFromParcel(reply));
- EXPECT_TRUE(status.isOk()) << status.toString8().c_str();
- auto version = reply.readInt32();
- return version;
-}
-
-static void CheckAidlVersionMatchesDeclared(sp<IBinder> binder,
- const std::string &name,
- uint64_t declared_version,
- bool allow_upgrade) {
- const int32_t actual_version = getInterfaceVersion(binder);
- if (actual_version < 1) {
- ADD_FAILURE() << "For " << name << ", version should be >= 1 but it is "
- << actual_version << ".";
- return;
- }
-
- if (declared_version == actual_version) {
- std::cout << "For " << name << ", version " << actual_version
- << " matches declared value." << std::endl;
- return;
- }
- if (allow_upgrade && actual_version > declared_version) {
- std::cout << "For " << name << ", upgraded version " << actual_version
- << " is okay. (declared value = " << declared_version << ".)"
- << std::endl;
- return;
- }
-
- // Android R VINTF did not support AIDL version in the manifest.
- Level shipping_fcm_version = VintfObject::GetDeviceHalManifest()->level();
- if (shipping_fcm_version != Level::UNSPECIFIED &&
- shipping_fcm_version <= Level::R) {
- std::cout << "For " << name << ", manifest declares version "
- << declared_version << ", but the actual version is "
- << actual_version << ". Exempted for shipping FCM version "
- << shipping_fcm_version << ". (b/178458001, b/199190514)"
- << std::endl;
- return;
- }
-
- ADD_FAILURE() << "For " << name << ", manifest (" << shipping_fcm_version
- << ") declares version " << declared_version
- << ", but the actual version is " << actual_version;
-}
-
// An AIDL HAL with VINTF stability can only be registered if it is in the
// manifest. However, we still must manually check that every declared HAL is
// actually present on the device.
TEST_P(SingleManifestTest, ManifestAidlHalsServed) {
- AidlVerifyFn expect_available = [&](const string &package, uint64_t version,
- const string &interface,
- const string &instance,
- const optional<string>
- &updatable_via_apex) {
+ AidlVerifyFn expect_available = [](const string &package,
+ const string &interface,
+ const string &instance) {
const std::string type = package + "." + interface;
const std::string name = type + "/" + instance;
sp<IBinder> binder =
defaultServiceManager()->waitForService(String16(name.c_str()));
- ASSERT_NE(binder, nullptr) << "Failed to get " << name;
-
- // allow upgrade if updatable HAL's declared APEX is actually updated.
- const bool allow_upgrade = updatable_via_apex.has_value() &&
- IsApexUpdated(updatable_via_apex.value());
- CheckAidlVersionMatchesDeclared(binder, name, version, allow_upgrade);
+ EXPECT_NE(binder, nullptr) << "Failed to get " << name;
const std::string hash = getInterfaceHash(binder);
const std::vector<std::string> hashes = hashesForInterface(type);
@@ -635,6 +554,7 @@ TEST_P(SingleManifestTest, ManifestAidlHalsServed) {
}
}
}
+
};
ForEachAidlHalInstance(GetParam(), expect_available);
diff --git a/treble/vintf/SystemVendorTest.cpp b/treble/vintf/SystemVendorTest.cpp
index f5d2c291..2fb72453 100644
--- a/treble/vintf/SystemVendorTest.cpp
+++ b/treble/vintf/SystemVendorTest.cpp
@@ -90,17 +90,9 @@ TEST_F(SystemVendorTest, KernelCompatibility) {
<< error;
}
-TEST_F(SystemVendorTest, NoMainlineKernel) {
- auto runtime_info = VintfObject::GetRuntimeInfo();
- ASSERT_NE(nullptr, runtime_info) << "Failed to get runtime info.";
- ASSERT_FALSE(runtime_info->isMainlineKernel())
- << "uname returns \"" << runtime_info->osRelease()
- << "\". Mainline kernel is not allowed.";
-}
-
// Tests that vendor and framework are compatible.
// If any of the other tests in SystemVendorTest fails, this test will fail as
-// well. This is a double check in case the sub-tests do not cover some
+// well. This is a sanity check in case the sub-tests do not cover some
// checks.
// AVB version is not a compliance requirement.
TEST_F(SystemVendorTest, VendorFrameworkCompatibility) {
diff --git a/treble/vintf/VtsTrebleVintfTestBase.cpp b/treble/vintf/VtsTrebleVintfTestBase.cpp
index ddc358fa..ee6cfc1f 100644
--- a/treble/vintf/VtsTrebleVintfTestBase.cpp
+++ b/treble/vintf/VtsTrebleVintfTestBase.cpp
@@ -115,15 +115,11 @@ void VtsTrebleVintfTestBase::ForEachAidlHalInstance(
return true; // continue to next instance
}
const std::string &package = manifest_instance.package();
- uint64_t version = manifest_instance.version().minorVer;
const std::string &interface = manifest_instance.interface();
const std::string &instance = manifest_instance.instance();
- const std::optional<std::string> &updatable_via_apex =
- manifest_instance.updatableViaApex();
- auto future_result = std::async([&]() {
- fn(package, version, interface, instance, updatable_via_apex);
- });
+ auto future_result =
+ std::async([&]() { fn(package, interface, instance); });
auto timeout = std::chrono::seconds(1);
std::future_status status = future_result.wait_for(timeout);
if (status != std::future_status::ready) {
diff --git a/treble/vintf/libvts_vintf_test_common/common.cpp b/treble/vintf/libvts_vintf_test_common/common.cpp
deleted file mode 100644
index 1813aaf7..00000000
--- a/treble/vintf/libvts_vintf_test_common/common.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2020 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 <libvts_vintf_test_common/common.h>
-
-namespace android::vintf::testing {
-
-// kApiLevel2FcmMap is associated with API level. There can be multiple
-// Framework Compatibility Matrix Version (FCM Version) per API level, or
-// multiple API levels per FCM version.
-// kApiLevel2FcmMap is defined apart from android::vintf::Level. Level is an
-// integer designed to be irrelevant with API level; the O / O_MR1 values are
-// historic values for convenience, and should be removed (b/70628538). Hence
-// these values are not used here.
-// For example:
-// ...
-// // Assume devices launch with Android X must implement FCM version >= 9
-// X = 9,
-// // Assume devices launch with Android Y and Android Z must implement
-// // FCM version >= 11
-// Y = 11,
-// Z = 11
-static const std::map<uint64_t /* Shipping API Level */,
- Level /* FCM Version */>
- kApiLevel2FcmMap{{
- // N. The test runs on devices that launch with N and
- // become a Treble device when upgrading to O.
- {25, Level::O},
-
- {26, Level::O},
- {27, Level::O_MR1},
- {28, Level::P},
- {29, Level::Q},
- {30, Level::R},
- {31, Level::S},
- }};
-
-android::base::Result<void> TestTargetFcmVersion(Level shipping_fcm_version,
- uint64_t shipping_api_level) {
- if (shipping_api_level == 0u) {
- return android::base::Error()
- << "Device's shipping API level cannot be determined.";
- }
-
- if (shipping_fcm_version == Level::UNSPECIFIED) {
- // O / O-MR1 vendor image doesn't have shipping FCM version declared and
- // shipping FCM version is inferred from Shipping API level, hence it always
- // meets the requirement.
- return {};
- }
-
- if (shipping_api_level < kApiLevel2FcmMap.begin()->first /* 25 */) {
- return android::base::Error() << "Pre-N devices should not run this test.";
- }
-
- auto it = kApiLevel2FcmMap.find(shipping_api_level);
- if (it == kApiLevel2FcmMap.end()) {
- return android::base::Error()
- << "No launch requirement is set yet for Shipping API level "
- << shipping_api_level << ". Please update the test.";
- }
-
- Level required_fcm_version = it->second;
- if (shipping_fcm_version < required_fcm_version) {
- return android::base::Error()
- << "Shipping API level == " << shipping_api_level
- << " requires Shipping FCM Version >= " << required_fcm_version
- << " (but is " << shipping_fcm_version << ")";
- }
-
- return {};
-}
-
-} // namespace android::vintf::testing
diff --git a/treble/vintf/libvts_vintf_test_common/include/libvts_vintf_test_common/common.h b/treble/vintf/libvts_vintf_test_common/include/libvts_vintf_test_common/common.h
deleted file mode 100644
index ddfe5a13..00000000
--- a/treble/vintf/libvts_vintf_test_common/include/libvts_vintf_test_common/common.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-#pragma once
-
-#include <map>
-
-#include <android-base/result.h>
-#include <stdint.h>
-#include <vintf/Level.h>
-
-namespace android::vintf::testing {
-
-// Return success if:
-// - |shipping_api_level| is not 0
-// - |shipping_api_level| is a recognized value
-// - |shipping_fcm_version| >= required target FCM version for
-// |shipping_api_level|.
-// Otherwise return error with message.
-android::base::Result<void> TestTargetFcmVersion(Level shipping_fcm_version,
- uint64_t shipping_api_level);
-
-} // namespace android::vintf::testing
diff --git a/treble/vintf/utils.cpp b/treble/vintf/utils.cpp
index d5615782..2351ea48 100644
--- a/treble/vintf/utils.cpp
+++ b/treble/vintf/utils.cpp
@@ -50,16 +50,43 @@ const set<string> kPassthroughHals = {
"android.hidl.memory",
};
-uint64_t GetBoardApiLevel() {
- uint64_t api_level = GetUintProperty<uint64_t>("ro.board.api_level", 0);
- if (api_level != 0) {
- return api_level;
- }
- api_level = GetUintProperty<uint64_t>("ro.board.first_api_level", 0);
- if (api_level != 0) {
- return api_level;
- }
- api_level = GetUintProperty<uint64_t>("ro.product.first_api_level", 0);
+// kFcm2ApiLevelMap is associated with API level. There can be multiple
+// Framework Compatibility Matrix Version (FCM Version) per API level, or
+// multiple API levels per FCM version.
+// kFcm2ApiLevelMap is defined apart from android::vintf::Level. Level is an
+// integer designed to be irrelevant with API level; the O / O_MR1 values are
+// historic values for convenience, and should be removed (b/70628538). Hence
+// these values are not used here.
+// For example:
+// ...
+// // Assume devices launch with Android X must implement FCM version >= 9
+// X = 9,
+// // Assume devices launch with Android Y and Android Z must implement
+// // FCM version >= 11
+// Y = 11,
+// Z = 11
+const map<size_t /* Shipping API Level */, Level /* FCM Version */>
+ kFcm2ApiLevelMap{{
+ // N. The test runs on devices that launch with N and
+ // become a Treble device when upgrading to O.
+ {25, static_cast<Level>(1)},
+ // O
+ {26, static_cast<Level>(1)},
+ // O MR-1
+ {27, static_cast<Level>(2)},
+ // P
+ {28, static_cast<Level>(3)},
+ // Q
+ {29, static_cast<Level>(4)},
+ // R
+ {30, static_cast<Level>(5)},
+ }};
+
+// Returns ro.product.first_api_level if it is defined and not 0. Returns
+// ro.build.version.sdk otherwise.
+uint64_t GetShippingApiLevel() {
+ uint64_t api_level =
+ GetUintProperty<uint64_t>("ro.product.first_api_level", 0);
if (api_level != 0) {
return api_level;
}
@@ -83,6 +110,24 @@ bool IsAndroidPlatformInterface(const FQName &fq_iface_name) {
return !PackageRoot(fq_iface_name).empty();
}
+// Returns true iff the device has the specified feature.
+bool DeviceSupportsFeature(const char *feature) {
+ bool device_supports_feature = false;
+ FILE *p = popen("pm list features", "re");
+ if (p) {
+ char *line = NULL;
+ size_t len = 0;
+ while (getline(&line, &len, p) > 0) {
+ if (strstr(line, feature)) {
+ device_supports_feature = true;
+ break;
+ }
+ }
+ pclose(p);
+ }
+ return device_supports_feature;
+}
+
// Returns the set of released hashes for a given HAL interface.
set<string> ReleasedHashes(const FQName &fq_iface_name) {
set<string> released_hashes{};
diff --git a/treble/vintf/utils.h b/treble/vintf/utils.h
index ee82c85e..eeafef14 100644
--- a/treble/vintf/utils.h
+++ b/treble/vintf/utils.h
@@ -17,7 +17,6 @@
#ifndef VTS_TREBLE_VINTF_TEST_UTILS_H_
#define VTS_TREBLE_VINTF_TEST_UTILS_H_
#include <map>
-#include <optional>
#include <set>
#include <string>
#include <vector>
@@ -58,7 +57,6 @@ using std::cout;
using std::endl;
using std::map;
using std::multimap;
-using std::optional;
using std::set;
using std::string;
@@ -67,9 +65,8 @@ using std::vector;
using HidlVerifyFn = std::function<void(
const FQName& fq_name, const string& instance_name, Transport)>;
using AidlVerifyFn =
- std::function<void(const std::string& package, uint64_t version,
- const std::string& name, const std::string& instance,
- const std::optional<std::string>& updatable_via_apex)>;
+ std::function<void(const std::string& package, const std::string& name,
+ const std::string& instance)>;
using HashCharArray = hidl_array<unsigned char, 32>;
using HalManifestPtr = std::shared_ptr<const HalManifest>;
using MatrixPtr = std::shared_ptr<const CompatibilityMatrix>;
@@ -84,13 +81,12 @@ extern const map<string, string> kPackageRoot;
// HALs that are allowed to be passthrough under Treble rules.
extern const set<string> kPassthroughHals;
-// Try the following properties in this order, returning the first non-zero
-// (non-empty) value:
-// - ro.board.api_level
-// - ro.board.first_api_level
-// - ro.product.first_api_level
-// - ro.build.version.sdk
-uint64_t GetBoardApiLevel();
+extern const map<size_t /* Shipping API Level */, Level /* FCM Version */>
+ kFcm2ApiLevelMap;
+
+// Returns ro.product.first_api_level if it is defined and not 0. Returns
+// ro.build.version.sdk otherwise.
+uint64_t GetShippingApiLevel();
// For a given interface returns package root if known. Returns empty string
// otherwise.
@@ -99,6 +95,9 @@ const string PackageRoot(const FQName& fq_iface_name);
// Returns true iff HAL interface is Android platform.
bool IsAndroidPlatformInterface(const FQName& fq_iface_name);
+// Returns true iff the device has the specified feature.
+bool DeviceSupportsFeature(const char* feature);
+
// Returns the set of released hashes for a given HAL interface.
set<string> ReleasedHashes(const FQName& fq_iface_name);
diff --git a/tv/__init__.py b/tv/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tv/__init__.py
diff --git a/tv/cec/V1_0/__init__.py b/tv/cec/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tv/cec/V1_0/__init__.py
diff --git a/tv/cec/V1_0/host/Android.bp b/tv/cec/V1_0/host/Android.bp
new file mode 100644
index 00000000..816ada50
--- /dev/null
+++ b/tv/cec/V1_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTvCecV1_0Host",
+}
diff --git a/tv/cec/V1_0/host/AndroidTest.xml b/tv/cec/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..a569bc27
--- /dev/null
+++ b/tv/cec/V1_0/host/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalTvCecV1_0Host test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-tv" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlHostTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCec.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/HdmiCec.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCecCallback.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/HdmiCecCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/tv/cec/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.cec@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.tv.cec@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalTvCecV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest.py b/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest.py
new file mode 100644
index 00000000..456cb534
--- /dev/null
+++ b/tv/cec/V1_0/host/VtsHalTvCecV1_0HostTest.py
@@ -0,0 +1,116 @@
+#!/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 test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+TVCEC_V1_0_HAL = "android.hardware.tv.cec@1.0::IHdmiCec"
+
+class TvCecHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """Host testcase class for the TV HDMI_CEC HIDL HAL."""
+
+ TEST_HAL_SERVICES = {TVCEC_V1_0_HAL}
+ def setUpClass(self):
+ """Creates a mirror and init tv hdmi cec hal service."""
+ super(TvCecHidlTest, self).setUpClass()
+
+ self.dut.hal.InitHidlHal(
+ target_type="tv_cec",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.tv.cec",
+ target_component_name="IHdmiCec",
+ hw_binder_service_name=self.getHalServiceName(TVCEC_V1_0_HAL),
+ bits=int(self.abi_bitness))
+
+ time.sleep(1) # Wait for hal to be ready
+
+ self.vtypes = self.dut.hal.tv_cec.GetHidlTypeInterface("types")
+ logging.info("tv_cec types: %s", self.vtypes)
+
+ def testClearAndAddLogicalAddress(self):
+ """A simple test case which sets logical address and clears it."""
+ self.dut.hal.tv_cec.clearLogicalAddress()
+ result = self.dut.hal.tv_cec.addLogicalAddress(
+ self.vtypes.CecLogicalAddress.PLAYBACK_3)
+ asserts.assertEqual(self.vtypes.Result.SUCCESS, result)
+ logging.info("addLogicalAddress result: %s", result)
+
+ def testGetPhysicalAddress(self):
+ """A simple test case which queries the physical address."""
+ status, paddr = self.dut.hal.tv_cec.getPhysicalAddress()
+ asserts.assertEqual(self.vtypes.Result.SUCCESS, status)
+ logging.info("getPhysicalAddress status: %s, paddr: %s", status, paddr)
+
+ def testSendRandomMessage(self):
+ """A test case which sends a random message."""
+ cec_message = {
+ "initiator": self.vtypes.CecLogicalAddress.TV,
+ "destination": self.vtypes.CecLogicalAddress.PLAYBACK_1,
+ "body": [1, 2, 3]
+ }
+ message = self.vtypes.Py2Pb("CecMessage", cec_message)
+ logging.info("message: %s", message)
+ result = self.dut.hal.tv_cec.sendMessage(message)
+ logging.info("sendMessage result: %s", result)
+
+ def testGetCecVersion1(self):
+ """A simple test case which queries the cec version."""
+ version = self.dut.hal.tv_cec.getCecVersion()
+ logging.info("getCecVersion version: %s", version)
+
+ def testGetVendorId(self):
+ """A simple test case which queries vendor id."""
+ vendor_id = self.dut.hal.tv_cec.getVendorId()
+ asserts.assertEqual(0, 0xff000000 & vendor_id)
+ logging.info("getVendorId vendor_id: %s", vendor_id)
+
+ def testGetPortInfo(self):
+ """A simple test case which queries port information."""
+ port_infos = self.dut.hal.tv_cec.getPortInfo()
+ logging.info("getPortInfo port_infos: %s", port_infos)
+
+ def testSetOption(self):
+ """A simple test case which changes CEC options."""
+ self.dut.hal.tv_cec.setOption(self.vtypes.OptionKey.WAKEUP, True)
+ self.dut.hal.tv_cec.setOption(self.vtypes.OptionKey.ENABLE_CEC, True)
+ self.dut.hal.tv_cec.setOption(
+ self.vtypes.OptionKey.SYSTEM_CEC_CONTROL, True)
+
+ def testSetLanguage(self):
+ """A simple test case which updates language information."""
+ self.dut.hal.tv_cec.setLanguage("eng")
+
+ def testEnableAudioReturnChannel(self):
+ """Checks whether Audio Return Channel can be enabled."""
+ port_infos = self.dut.hal.tv_cec.getPortInfo()
+ for port_info in port_infos:
+ if "portId" in port_info and port_info.get("arcSupported"):
+ self.dut.hal.tv_cec.enableAudioReturnChannel(
+ port_info["portId"], True)
+
+ def testIsConnected(self):
+ """A simple test case which queries the connected status."""
+ status = self.dut.hal.tv_cec.isConnected()
+ logging.info("isConnected status: %s", status)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/tv/cec/V1_0/host/__init__.py b/tv/cec/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tv/cec/V1_0/host/__init__.py
diff --git a/tv/cec/V1_0/host_profiling/Android.bp b/tv/cec/V1_0/host_profiling/Android.bp
new file mode 100644
index 00000000..cfc69fb3
--- /dev/null
+++ b/tv/cec/V1_0/host_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTvCecV1_0HostProfiling",
+}
diff --git a/tv/cec/__init__.py b/tv/cec/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tv/cec/__init__.py
diff --git a/tv/input/V1_0/__init__.py b/tv/input/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tv/input/V1_0/__init__.py
diff --git a/tv/input/V1_0/host/Android.bp b/tv/input/V1_0/host/Android.bp
new file mode 100644
index 00000000..73513f86
--- /dev/null
+++ b/tv/input/V1_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTvInputV1_0Host",
+}
diff --git a/tv/input/V1_0/host/AndroidTest.xml b/tv/input/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..7bc8930d
--- /dev/null
+++ b/tv/input/V1_0/host/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 VtsHalTvInputV1_0Host test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-tv" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="HalHidlHostTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/audio/common/2.0/vts/types.vts->/data/local/tmp/spec/android/hardware/audio/common/2.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/32/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.audio.common@2.0-vts.driver.so->/data/local/tmp/64/android.hardware.audio.common@2.0-vts.driver.so"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInput.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/TvInput.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInputCallback.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/TvInputCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/tv/input/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.tv.input@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.tv.input@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalTvInputV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest.py b/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest.py
new file mode 100644
index 00000000..147bdcdc
--- /dev/null
+++ b/tv/input/V1_0/host/VtsHalTvInputV1_0HostTest.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import logging
+
+from vts.runners.host import asserts
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+TVINPUT_V1_0_HAL = "android.hardware.tv.input@1.0::ITvInput"
+
+
+class TvInputHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """Two hello world test cases which use the shell driver."""
+
+ TEST_HAL_SERVICES = {TVINPUT_V1_0_HAL}
+
+ def setUpClass(self):
+ """Creates a mirror and init tv input hal."""
+ super(TvInputHidlTest, self).setUpClass()
+
+ self.dut.hal.InitHidlHal(
+ target_type="tv_input",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.tv.input",
+ target_component_name="ITvInput",
+ hw_binder_service_name=self.getHalServiceName(TVINPUT_V1_0_HAL),
+ bits=int(self.abi_bitness))
+
+ def testGetStreamConfigurations(self):
+ configs = self.dut.hal.tv_input.getStreamConfigurations(0)
+ logging.info('return value of getStreamConfigurations(0): %s', configs)
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/tv/input/V1_0/host/__init__.py b/tv/input/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tv/input/V1_0/host/__init__.py
diff --git a/tv/input/V1_0/host_profiling/Android.bp b/tv/input/V1_0/host_profiling/Android.bp
new file mode 100644
index 00000000..982a8c5c
--- /dev/null
+++ b/tv/input/V1_0/host_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTvInputV1_0HostProfiling",
+}
diff --git a/tv/input/V1_0/target/Android.bp b/tv/input/V1_0/target/Android.bp
new file mode 100644
index 00000000..c9bfd270
--- /dev/null
+++ b/tv/input/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTvInputV1_0Target",
+}
diff --git a/tv/input/V1_0/target/AndroidTest.xml b/tv/input/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..85cc795d
--- /dev/null
+++ b/tv/input/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalTvInputV1_0Target test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-tv" />
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalTvInputV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTvInputV1_0TargetTest/VtsHalTvInputV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <!-- Needs about 50 seconds if no device. Needs about 15 seconds for every additional device -->
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/tv/input/V1_0/target_profiling/Android.bp b/tv/input/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..516bd6a0
--- /dev/null
+++ b/tv/input/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalTvInputV1_0TargetProfiling",
+}
diff --git a/tv/input/__init__.py b/tv/input/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tv/input/__init__.py
diff --git a/tv/tuner/V1_0/target/Android.bp b/tv/tuner/V1_0/target/Android.bp
new file mode 100644
index 00000000..7c67fc0e
--- /dev/null
+++ b/tv/tuner/V1_0/target/Android.bp
@@ -0,0 +1,21 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
+
+vts_config {
+ name: "VtsHalTvTunerV1_0Target",
+}
+
diff --git a/tv/tuner/V1_0/target/AndroidTest.xml b/tv/tuner/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..ba6613da
--- /dev/null
+++ b/tv/tuner/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalTvTunerV1_0Target test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-tv"/>
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalTvTunerV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalTvTunerV1_0TargetTest/VtsHalTvTunerV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalTvTunerV1_0TargetTest/VtsHalTvTunerV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/usb/V1_0/target/Android.bp b/usb/V1_0/target/Android.bp
new file mode 100644
index 00000000..8b6e53c9
--- /dev/null
+++ b/usb/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalUsbV1_0Target",
+}
diff --git a/usb/V1_0/target/AndroidTest.xml b/usb/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..9a05b429
--- /dev/null
+++ b/usb/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalUsbV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalUsbV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalUsbV1_0TargetTest/VtsHalUsbV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalUsbV1_0TargetTest/VtsHalUsbV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="exclude-filter" value="UsbHidlTest.switchModetoDFP" />
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/usb/V1_0/target_profiling/Android.bp b/usb/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..83954b68
--- /dev/null
+++ b/usb/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalUsbV1_0TargetProfiling",
+}
diff --git a/usb/V1_0/target_replay/Android.bp b/usb/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..bd708075
--- /dev/null
+++ b/usb/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalUsbV1_0TargetReplay",
+}
diff --git a/usb/V1_0/target_replay/AndroidTest.xml b/usb/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..3dd82397
--- /dev/null
+++ b/usb/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalUsbV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/usb/1.0/vts/Usb.vts->/data/local/tmp/spec/android/hardware/usb/1.0/Usb.vts"/>
+ <option name="push" value="spec/hardware/interfaces/usb/1.0/vts/UsbCallback.vts->/data/local/tmp/spec/android/hardware/usb/1.0/UsbCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/usb/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/usb/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.usb@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.usb@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.usb@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.usb@1.0-vts.driver.so"/>
+ </target_preparer>
+ <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_704343228913.vts.trace"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/usb/V1_1/adapter/Android.bp b/usb/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..0bb53799
--- /dev/null
+++ b/usb/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalUsbV1_1Adapter",
+}
diff --git a/usb/V1_1/adapter/AndroidTest.xml b/usb/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..c2eebce9
--- /dev/null
+++ b/usb/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalUsbV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.usb@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.usb@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.usb@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsStatsdHostTestCases.config"/>
+</configuration>
diff --git a/usb/V1_1/target/Android.bp b/usb/V1_1/target/Android.bp
new file mode 100644
index 00000000..b345c0b7
--- /dev/null
+++ b/usb/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalUsbV1_1Target",
+}
diff --git a/usb/V1_1/target/AndroidTest.xml b/usb/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..b7f07407
--- /dev/null
+++ b/usb/V1_1/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalUsbV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/usb/gadget/V1_0/__init__.py b/usb/gadget/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/usb/gadget/V1_0/__init__.py
diff --git a/usb/gadget/V1_0/host/Android.bp b/usb/gadget/V1_0/host/Android.bp
index 47d1b92b..d591a65f 100644
--- a/usb/gadget/V1_0/host/Android.bp
+++ b/usb/gadget/V1_0/host/Android.bp
@@ -13,8 +13,8 @@
// limitations under the License.
//
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
+vts_config {
+ name: "VtsHalUsbGadgetV1_0Host",
}
java_test_host {
@@ -29,5 +29,5 @@ java_test_host {
test_suites: [
"vts",
],
- test_config: "HalUsbGadgetV1_0HostTest.xml",
+ auto_gen_config: true,
}
diff --git a/usb/gadget/V1_0/host/AndroidTest.xml b/usb/gadget/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..8e8e8a80
--- /dev/null
+++ b/usb/gadget/V1_0/host/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<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" />
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="push-group" value="HostDrivenTest.push" />
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
+ <option name="dep-module" value="libusb1" />
+ </multi_target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalUsbGadgetV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest" />
+ <option name="test-config-path" value="vts/testcases/hal/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.runner_conf" />
+ <option name="binary-test-disable-framework" value="false"/>
+ </test>
+</configuration>
diff --git a/usb/gadget/V1_0/host/HalUsbGadgetV1_0HostTest.xml b/usb/gadget/V1_0/host/HalUsbGadgetV1_0HostTest.xml
deleted file mode 100644
index 107bd3f3..00000000
--- a/usb/gadget/V1_0/host/HalUsbGadgetV1_0HostTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2020 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="Runs HalUsbGadgetV1_0HostTest">
- <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />
-
- <test class="com.android.tradefed.testtype.HostTest" >
- <option name="jar" value="HalUsbGadgetV1_0HostTest.jar" />
- </test>
-</configuration>
diff --git a/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.py b/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.py
new file mode 100644
index 00000000..2be71cdb
--- /dev/null
+++ b/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.py
@@ -0,0 +1,130 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+import logging
+import time
+import usb1
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import const
+from vts.runners.host import test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+from vts.utils.python.controllers import adb
+
+
+class UsbGadgetHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """A host-side test for USB Gadget HAL.
+
+ This test requires Android framework to run.
+ """
+
+ TEST_HAL_SERVICES = {"android.hardware.usb.gadget@1.0::IUsbGadget"}
+
+ def setUpClass(self):
+ """Creates an adb session and reads sysprop values."""
+ super(UsbGadgetHidlTest, self).setUpClass()
+
+ self.adb = self.dut.adb
+ try:
+ self.adb.root()
+ self.adb.wait_for_device()
+ except adb.AdbError as e:
+ logging.exception(e)
+ self.serialno = self.adb.shell("getprop ro.serialno")
+
+ def checkProtocol(self, usb_class, usb_sub_class, usb_protocol):
+ """Queries the host USB bus to see if the interface is present.
+
+ Args:
+ usb_class: usbClass id of the interface.
+ usb_sub_class: usbSubClass id of the interface.
+ usb_protocol: usbProtocol id of the interface.
+
+ Returns:
+ True if the usb interface was present. False otherwise.
+ """
+ with usb1.USBContext() as context:
+ for device in context.getDeviceIterator(skip_on_error=True):
+ logging.info("ID %04x:%04x ", device.getVendorID(),
+ device.getProductID())
+ for config in device.iterConfigurations():
+ logging.info("config: %d", config.getConfigurationValue())
+ interfaces_list = iter(config)
+ for interface in interfaces_list:
+ altsettings_list = iter(interface)
+ for altsetting in altsettings_list:
+ logging.info("interfaceNum:%d altSetting:%d "
+ "class:%d subclass:%d protocol:%d",
+ altsetting.getNumber(),
+ altsetting.getAlternateSetting(),
+ altsetting.getClass(),
+ altsetting.getSubClass(),
+ altsetting.getProtocol())
+ if altsetting.getClass() == usb_class and \
+ altsetting.getSubClass() == usb_sub_class and \
+ altsetting.getProtocol() == usb_protocol:
+ return True
+ return False
+
+ def testAdb(self):
+ """Check for ADB"""
+ asserts.assertTrue(self.checkProtocol(255, 66, 1), "ADB not present")
+
+ def testMtp(self):
+ """Check for MTP.
+
+ Enables mtp and checks the host to see if mtp interface is present.
+ MTP: https://en.wikipedia.org/wiki/Media_Transfer_Protocol.
+ """
+ self.adb.shell("svc usb setFunctions mtp true")
+ time.sleep(3)
+ asserts.assertTrue(self.checkProtocol(6, 1, 1), "MTP not present")
+
+ def testPtp(self):
+ """Check for PTP.
+
+ Enables ptp and checks the host to see if ptp interface is present.
+ PTP: https://en.wikipedia.org/wiki/Picture_Transfer_Protocol.
+ """
+ self.adb.shell("svc usb setFunctions ptp true")
+ time.sleep(3)
+ asserts.assertTrue(self.checkProtocol(6, 1, 1), "PTP not present")
+
+ def testMIDI(self):
+ """Check for MIDI.
+
+ Enables midi and checks the host to see if midi interface is present.
+ MIDI: https://en.wikipedia.org/wiki/MIDI.
+ """
+ self.adb.shell("svc usb setFunctions midi true")
+ time.sleep(3)
+ asserts.assertTrue(self.checkProtocol(1, 3, 0), "MIDI not present")
+
+ def testRndis(self):
+ """Check for RNDIS.
+
+ Enables rndis and checks the host to see if rndis interface is present.
+ RNDIS: https://en.wikipedia.org/wiki/RNDIS.
+ """
+ self.adb.shell("svc usb setFunctions rndis true")
+ time.sleep(3)
+ asserts.assertTrue(self.checkProtocol(10, 0, 0), "RNDIS not present")
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.runner_conf b/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.runner_conf
new file mode 100644
index 00000000..f943fc2f
--- /dev/null
+++ b/usb/gadget/V1_0/host/VtsHalUsbGadgetV1_0HostTest.runner_conf
@@ -0,0 +1,16 @@
+{
+ "test_bed":
+ [
+ {
+ "name": "VtsHalUsbGadgetV1_0HostTest",
+ "AndroidDevice":
+ [
+ {
+ "enable_sl4a": false,
+ "enable_sl4a_ed": false,
+ "enable_vts_agent": true
+ }
+ ]
+ }
+ ]
+}
diff --git a/usb/gadget/V1_0/host/__init__.py b/usb/gadget/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/usb/gadget/V1_0/host/__init__.py
diff --git a/usb/gadget/V1_0/host/src/com/android/tests/usbgadget/HalUsbGadgetV1_0HostTest.java b/usb/gadget/V1_0/host/src/com/android/tests/usbgadget/HalUsbGadgetV1_0HostTest.java
index a6974d95..38f02744 100644
--- a/usb/gadget/V1_0/host/src/com/android/tests/usbgadget/HalUsbGadgetV1_0HostTest.java
+++ b/usb/gadget/V1_0/host/src/com/android/tests/usbgadget/HalUsbGadgetV1_0HostTest.java
@@ -17,7 +17,6 @@
package com.android.tests.usbgadget;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeFalse;
import static org.junit.Assume.assumeTrue;
import com.android.tests.usbgadget.libusb.ConfigDescriptor;
@@ -43,7 +42,6 @@ import org.junit.runner.RunWith;
public class HalUsbGadgetV1_0HostTest extends BaseHostJUnit4Test {
private static final int WAIT_TIME = 3000;
private static final String HAL_SERVICE = "android.hardware.usb.gadget@1.0::IUsbGadget";
- private static final String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
private static boolean mHasService;
private static IUsbNative mUsb;
@@ -137,8 +135,6 @@ public class HalUsbGadgetV1_0HostTest extends BaseHostJUnit4Test {
*/
@Test
public void testMIDI() throws Exception {
- assumeFalse("Skip test: MIDI support is not required for automotive",
- getDevice().hasFeature(FEATURE_AUTOMOTIVE));
assumeTrue(String.format("The device doesn't have service %s", HAL_SERVICE), mHasService);
getDevice().executeShellCommand("svc usb setFunctions midi true");
Thread.sleep(WAIT_TIME);
@@ -153,8 +149,6 @@ public class HalUsbGadgetV1_0HostTest extends BaseHostJUnit4Test {
*/
@Test
public void testRndis() throws Exception {
- assumeFalse("Skip test: RNDIS support is not required for automotive",
- getDevice().hasFeature(FEATURE_AUTOMOTIVE));
assumeTrue(String.format("The device doesn't have service %s", HAL_SERVICE), mHasService);
getDevice().executeShellCommand("svc usb setFunctions rndis true");
Thread.sleep(WAIT_TIME);
diff --git a/usb/gadget/V1_1/host/Android.bp b/usb/gadget/V1_1/host/Android.bp
index 14604ad9..663c1052 100644
--- a/usb/gadget/V1_1/host/Android.bp
+++ b/usb/gadget/V1_1/host/Android.bp
@@ -13,10 +13,6 @@
// limitations under the License.
//
-package {
- default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
java_test_host {
name: "VtsHalUsbGadgetV1_1HostTest",
libs: [
@@ -32,5 +28,6 @@ java_test_host {
test_suites: [
"general-tests",
"vts",
+ "vts10",
],
}
diff --git a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/VtsHalUsbGadgetV1_2HostTest.java b/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/VtsHalUsbGadgetV1_2HostTest.java
deleted file mode 100644
index 8a8aafdc..00000000
--- a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/VtsHalUsbGadgetV1_2HostTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.tests.usbgadget;
-
-import com.android.tests.usbgadget.libusb.ConfigDescriptor;
-import com.android.tests.usbgadget.libusb.DeviceDescriptor;
-import com.android.tests.usbgadget.libusb.IUsbNative;
-import com.android.tests.usbgadget.libusb.Interface;
-import com.android.tests.usbgadget.libusb.InterfaceDescriptor;
-import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.invoker.TestInformation;
-import com.android.tradefed.log.LogUtil.CLog;
-import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
-import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
-import com.android.tradefed.testtype.junit4.BeforeClassWithInfo;
-import com.google.common.base.Strings;
-import com.sun.jna.Native;
-import com.sun.jna.Pointer;
-import com.sun.jna.ptr.PointerByReference;
-import java.util.Arrays;
-import java.util.List;
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/** A host-side test for USB Gadget HAL */
-@RunWith(DeviceJUnit4ClassRunner.class)
-public final class VtsHalUsbGadgetV1_2HostTest extends BaseHostJUnit4Test {
- public static final String TAG = VtsHalUsbGadgetV1_2HostTest.class.getSimpleName();
-
- private static final String HAL_SERVICE = "android.hardware.usb.gadget@1.2::IUsbGadget";
- private static final long CONN_TIMEOUT = 5000;
- private static final int UNKNOWN_SPEED = -1;
-
- private static boolean mHasService;
- private static IUsbNative mUsb;
- private static Pointer mContext;
-
- private ITestDevice mDevice;
- private boolean mReconnected = false;
-
- @Before
- public void setUp() {
- CLog.i("setUp");
-
- mDevice = getDevice();
- }
-
- @BeforeClassWithInfo
- public static void beforeClassWithDevice(TestInformation testInfo) throws Exception {
- String serviceFound =
- testInfo.getDevice()
- .executeShellCommand(String.format("lshal | grep \"%s\"", HAL_SERVICE))
- .trim();
- mHasService = !Strings.isNullOrEmpty(serviceFound);
-
- if (mHasService) {
- mUsb = (IUsbNative) Native.loadLibrary("usb-1.0", IUsbNative.class);
- PointerByReference context = new PointerByReference();
- mUsb.libusb_init(context);
- mContext = context.getValue();
- }
- }
-
- private static boolean checkProtocol(int usbClass, int usbSubClass, int usbProtocol) {
- PointerByReference list = new PointerByReference();
- int count = mUsb.libusb_get_device_list(mContext, list);
- Pointer[] devices = list.getValue().getPointerArray(0, count);
- for (Pointer device : devices) {
- DeviceDescriptor[] devDescriptors = new DeviceDescriptor[1];
- mUsb.libusb_get_device_descriptor(device, devDescriptors);
- for (int j = 0; j < devDescriptors[0].bNumConfigurations; j++) {
- PointerByReference configRef = new PointerByReference();
- int success = mUsb.libusb_get_config_descriptor(device, j, configRef);
- ConfigDescriptor config = new ConfigDescriptor(configRef.getValue());
- List<Interface> interfaces =
- Arrays.asList(config.interfaces.toArray(config.bNumInterfaces));
- for (Interface interface_ : interfaces) {
- List<InterfaceDescriptor> descriptors =
- Arrays.asList(interface_.altsetting.toArray(interface_.num_altsetting));
- for (InterfaceDescriptor d : descriptors) {
- if (Byte.toUnsignedInt(d.bInterfaceClass) == usbClass
- && Byte.toUnsignedInt(d.bInterfaceSubClass) == usbSubClass
- && Byte.toUnsignedInt(d.bInterfaceProtocol) == usbProtocol) {
- return true;
- }
- }
- }
- }
- }
- return false;
- }
-
- /**
- * Check for NCM.
- *
- * <p>Enable ncm and check the host to see if ncm interface is present.
- * For NCM interface definition, you can find more information on
- * https://www.usb.org/.
- */
- @Test
- public void testAndroidNcm() throws Exception {
- Assume.assumeTrue(
- String.format("The device doesn't have service %s", HAL_SERVICE), mHasService);
- Assert.assertNotNull("Target device does not exist", mDevice);
-
- String deviceSerialNumber = mDevice.getSerialNumber();
-
- CLog.i("testAndroidNcm on device [%s]", deviceSerialNumber);
-
- mDevice.executeShellCommand("svc usb setFunctions ncm");
- Thread.sleep(CONN_TIMEOUT);
- Assert.assertTrue("NCM not present", checkProtocol(2, 13, 0));
- }
-
- /**
- * Check for USB connection speed.
- *
- * <p>Gets the command result from USB Gadget Hal v1.2. If success,
- * it will get the USB speed except unknown.
- */
- @Test
- public void testGetUsbSpeed() throws Exception {
- Assume.assumeTrue(
- String.format("The device doesn't have service %s", HAL_SERVICE), mHasService);
- Assert.assertNotNull("Target device does not exist", mDevice);
-
- String deviceSerialNumber = mDevice.getSerialNumber();
-
- CLog.i("testGetUsbSpeed on device [%s]", deviceSerialNumber);
-
- String output = mDevice.executeShellCommand("svc usb getUsbSpeed");
- int speed = Integer.parseInt(output.trim());
-
- Assert.assertTrue("There is no USB enumeration", speed != UNKNOWN_SPEED);
- }
-}
diff --git a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/ConfigDescriptor.java b/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/ConfigDescriptor.java
deleted file mode 100644
index 4c0e9a40..00000000
--- a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/ConfigDescriptor.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.tests.usbgadget.libusb;
-
-import com.google.common.collect.ImmutableList;
-import com.sun.jna.Pointer;
-import com.sun.jna.Structure;
-import java.util.List;
-
-public class ConfigDescriptor extends Structure {
- public static class ByReference extends ConfigDescriptor implements Structure.ByReference {}
-
- public ConfigDescriptor() {}
-
- public ConfigDescriptor(Pointer p) {
- super(p);
- read();
- }
-
- @Override
- protected List<String> getFieldOrder() {
- return ImmutableList.of("bLength", "bDescriptorType", "wTotalLength", "bNumInterfaces",
- "bConfigurationValue", "iConfiguration", "bmAttributes", "bMaxPower", "interfaces",
- "extra", "extra_length");
- }
-
- public byte bLength;
- public byte bDescriptorType;
- public short wTotalLength;
- public byte bNumInterfaces;
- public byte bConfigurationValue;
- public byte iConfiguration;
- public byte bmAttributes;
- public byte bMaxPower;
- public Interface.ByReference interfaces;
- public Pointer extra;
- public int extra_length;
-}
diff --git a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/DeviceDescriptor.java b/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/DeviceDescriptor.java
deleted file mode 100644
index 1ac22fdf..00000000
--- a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/DeviceDescriptor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.tests.usbgadget.libusb;
-
-import com.google.common.collect.ImmutableList;
-import com.sun.jna.Pointer;
-import com.sun.jna.Structure;
-import java.util.List;
-
-public class DeviceDescriptor extends Structure {
- public static class ByReference extends DeviceDescriptor implements Structure.ByReference {}
-
- public DeviceDescriptor() {}
-
- public DeviceDescriptor(Pointer p) {
- super(p);
- read();
- }
-
- @Override
- protected List<String> getFieldOrder() {
- return ImmutableList.of("bLength", "bDescriptorType", "bcdUSB", "bDeviceClass",
- "bDeviceSubClass", "bDeviceProtocol", "bMaxPacketSize0", "idVendor", "idProduct",
- "bcdDevice", "iManufacturer", "iProduct", "iSerialNumber", "bNumConfigurations");
- }
-
- public byte bLength;
- public byte bDescriptorType;
- public short bcdUSB;
- public byte bDeviceClass;
- public byte bDeviceSubClass;
- public byte bDeviceProtocol;
- public byte bMaxPacketSize0;
- public short idVendor;
- public short idProduct;
- public short bcdDevice;
- public byte iManufacturer;
- public byte iProduct;
- public byte iSerialNumber;
- public byte bNumConfigurations;
-}
diff --git a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/IUsbNative.java b/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/IUsbNative.java
deleted file mode 100644
index b8adbb78..00000000
--- a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/IUsbNative.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-package com.android.tests.usbgadget.libusb;
-
-import com.sun.jna.Library;
-import com.sun.jna.Pointer;
-import com.sun.jna.ptr.PointerByReference;
-
-/** JNA adapter for <a href="https://libusb.info">libusb</a>. */
-public interface IUsbNative extends Library {
- /**
- * Initialize libusb, must be called before calling any other function.
- *
- * @param context output location for context pointer
- * @return 0 on success, or an error code
- */
- int libusb_init(PointerByReference context);
-
- /**
- * Deinitialize libusb.
- *
- * @param ctx context to deinitialize
- */
- void libusb_exit(Pointer ctx);
-
- /**
- * Returns a list of USB devices currently attached to the system.
- *
- * @param ctx context to operate on
- * @param list output location for a list of devices
- * @return number of devices, or an error code
- */
- int libusb_get_device_list(Pointer ctx, PointerByReference list);
-
- /**
- * Get the USB device descriptor for a given device.
- *
- * @param dev device
- * @param desc output location for the descriptor data
- * @return 0 on success, or an error code
- */
- int libusb_get_device_descriptor(Pointer dev, DeviceDescriptor[] desc);
-
- /**
- * Get a USB configuration descriptor based on its index.
- *
- * @param dev device
- * @param config_index config index
- * @param config a USB configuration descriptor pointer
- * @return 0 on success, or an error code
- */
- int libusb_get_config_descriptor(Pointer dev, int config_index, PointerByReference config);
-} \ No newline at end of file
diff --git a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/Interface.java b/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/Interface.java
deleted file mode 100644
index 3353a2cd..00000000
--- a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/Interface.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.tests.usbgadget.libusb;
-
-import com.google.common.collect.ImmutableList;
-import com.sun.jna.Pointer;
-import com.sun.jna.Structure;
-import java.util.List;
-
-public class Interface extends Structure {
- public static class ByReference extends Interface implements Structure.ByReference {}
-
- public Interface() {}
-
- public Interface(Pointer p) {
- super(p);
- read();
- }
-
- public Interface[] toArray(int size) {
- return (Interface[]) super.toArray(new Interface[size]);
- }
-
- @Override
- protected List<String> getFieldOrder() {
- return ImmutableList.of("altsetting", "num_altsetting");
- }
-
- public InterfaceDescriptor.ByReference altsetting;
- public int num_altsetting;
-}
diff --git a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/InterfaceDescriptor.java b/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/InterfaceDescriptor.java
deleted file mode 100644
index e6ed1f46..00000000
--- a/usb/gadget/V1_2/host/src/com/android/usb/gadget/vts/libusb/InterfaceDescriptor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.tests.usbgadget.libusb;
-
-import com.google.common.collect.ImmutableList;
-import com.sun.jna.Pointer;
-import com.sun.jna.Structure;
-import java.util.List;
-
-public class InterfaceDescriptor extends Structure {
- public static class ByReference extends InterfaceDescriptor implements Structure.ByReference {}
-
- public InterfaceDescriptor() {}
-
- public InterfaceDescriptor(Pointer p) {
- super(p);
- read();
- }
-
- public InterfaceDescriptor[] toArray(int size) {
- return (InterfaceDescriptor[]) super.toArray(size);
- }
-
- @Override
- protected List<String> getFieldOrder() {
- return ImmutableList.of("bLength", "bDescriptorType", "bInterfaceNumber",
- "bAlternateSetting", "bNumEndpoints", "bInterfaceClass", "bInterfaceSubClass",
- "bInterfaceProtocol", "iInterface", "endpoint", "extra", "extra_length");
- }
-
- public byte bLength;
- public byte bDescriptorType;
- public byte bInterfaceNumber;
- public byte bAlternateSetting;
- public byte bNumEndpoints;
- public byte bInterfaceClass;
- public byte bInterfaceSubClass;
- public byte bInterfaceProtocol;
- public byte iInterface;
- public Pointer endpoint;
- public Pointer extra;
- public int extra_length;
-}
diff --git a/usb/gadget/__init__.py b/usb/gadget/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/usb/gadget/__init__.py
diff --git a/vibrator/OWNERS b/vibrator/OWNERS
new file mode 100644
index 00000000..4b34968b
--- /dev/null
+++ b/vibrator/OWNERS
@@ -0,0 +1,2 @@
+eliptus@google.com
+michaelwr@google.com
diff --git a/vibrator/V1_0/__init__.py b/vibrator/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vibrator/V1_0/__init__.py
diff --git a/vibrator/V1_0/host/Android.bp b/vibrator/V1_0/host/Android.bp
new file mode 100644
index 00000000..5bdfc88a
--- /dev/null
+++ b/vibrator/V1_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_0Host",
+}
diff --git a/vibrator/V1_0/host/AndroidTest.xml b/vibrator/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..f8232fba
--- /dev/null
+++ b/vibrator/V1_0/host/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_0Host test cases">
+ <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"/>
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalVibratorV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest.py b/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest.py
new file mode 100644
index 00000000..74b52e0e
--- /dev/null
+++ b/vibrator/V1_0/host/VtsHalVibratorV1_0HostTest.py
@@ -0,0 +1,63 @@
+#!/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 test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+
+class VibratorHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """A simple testcase for the VIBRATOR HIDL HAL."""
+
+ TEST_HAL_SERVICES = {"android.hardware.vibrator@1.0::IVibrator"}
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer VIBRATOR service."""
+ super(VibratorHidlTest, self).setUpClass()
+
+ self.dut.hal.InitHidlHal(
+ target_type="vibrator",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.vibrator",
+ target_component_name="IVibrator",
+ bits=int(self.abi_bitness))
+
+ def testVibratorBasic(self):
+ """A simple test case which just calls each registered function."""
+ vibrator_types = self.dut.hal.vibrator.GetHidlTypeInterface("types")
+ logging.info("vibrator_types: %s", vibrator_types)
+ logging.info("OK: %s", vibrator_types.Status.OK)
+ logging.info("UNKNOWN_ERROR: %s", vibrator_types.Status.UNKNOWN_ERROR)
+ logging.info("BAD_VALUE: %s", vibrator_types.Status.BAD_VALUE)
+ logging.info("UNSUPPORTED_OPERATION: %s",
+ vibrator_types.Status.UNSUPPORTED_OPERATION)
+
+ result = self.dut.hal.vibrator.on(10000)
+ logging.info("on result: %s", result)
+ asserts.assertEqual(vibrator_types.Status.OK, result)
+
+ time.sleep(1)
+
+ result = self.dut.hal.vibrator.off()
+ logging.info("off result: %s", result)
+ asserts.assertEqual(vibrator_types.Status.OK, result)
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/vibrator/V1_0/host/__init__.py b/vibrator/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vibrator/V1_0/host/__init__.py
diff --git a/vibrator/V1_0/host_profiling/Android.bp b/vibrator/V1_0/host_profiling/Android.bp
new file mode 100644
index 00000000..bde29b2e
--- /dev/null
+++ b/vibrator/V1_0/host_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_0HostProfiling",
+}
diff --git a/vibrator/V1_0/target/Android.bp b/vibrator/V1_0/target/Android.bp
new file mode 100644
index 00000000..6975d849
--- /dev/null
+++ b/vibrator/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_0Target",
+}
diff --git a/vibrator/V1_0/target/AndroidTest.xml b/vibrator/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..999918e7
--- /dev/null
+++ b/vibrator/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalVibratorV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVibratorV1_0TargetTest/VtsHalVibratorV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVibratorV1_0TargetTest/VtsHalVibratorV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_0/target_profiling/Android.bp b/vibrator/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..0ccca47a
--- /dev/null
+++ b/vibrator/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_0TargetProfiling",
+}
diff --git a/vibrator/V1_0/target_replay/Android.bp b/vibrator/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..c484e039
--- /dev/null
+++ b/vibrator/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_0TargetReplay",
+}
diff --git a/vibrator/V1_0/target_replay/AndroidTest.xml b/vibrator/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..664cac36
--- /dev/null
+++ b/vibrator/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/Vibrator.vts->/data/local/tmp/spec/android/hardware/vibrator/1.0/Vibrator.vts"/>
+ <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/vibrator/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vibrator@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vibrator@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vibrator@1.0-vts.driver.so"/>
+ </target_preparer>
+ <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_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="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_1/adapter/Android.bp b/vibrator/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..24cd714f
--- /dev/null
+++ b/vibrator/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_1Adapter",
+}
diff --git a/vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp b/vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp
new file mode 100644
index 00000000..fecdf1f7
--- /dev/null
+++ b/vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_1AdapterCtsDevicePolicyManagerTestCases",
+}
diff --git a/vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml b/vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
new file mode 100644
index 00000000..ba503704
--- /dev/null
+++ b/vibrator/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_1AdapterCtsDevicePolicyManagerTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.vibrator@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.vibrator@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.vibrator@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsDevicePolicyManagerTestCases.config"/>
+</configuration>
diff --git a/vibrator/V1_1/adapter/CtsMonkeyTestCases/Android.bp b/vibrator/V1_1/adapter/CtsMonkeyTestCases/Android.bp
new file mode 100644
index 00000000..1d97a8ce
--- /dev/null
+++ b/vibrator/V1_1/adapter/CtsMonkeyTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_1AdapterCtsMonkeyTestCases",
+}
diff --git a/vibrator/V1_1/adapter/CtsMonkeyTestCases/AndroidTest.xml b/vibrator/V1_1/adapter/CtsMonkeyTestCases/AndroidTest.xml
new file mode 100644
index 00000000..f2b01a3e
--- /dev/null
+++ b/vibrator/V1_1/adapter/CtsMonkeyTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_1AdapterCtsMonkeyTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.vibrator@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.vibrator@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.vibrator@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsMonkeyTestCases.config"/>
+</configuration>
diff --git a/vibrator/V1_1/target/Android.bp b/vibrator/V1_1/target/Android.bp
new file mode 100644
index 00000000..ce906ca6
--- /dev/null
+++ b/vibrator/V1_1/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_1Target",
+}
diff --git a/vibrator/V1_1/target/AndroidTest.xml b/vibrator/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..26a1ac69
--- /dev/null
+++ b/vibrator/V1_1/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_2/adapter/Android.bp b/vibrator/V1_2/adapter/Android.bp
new file mode 100644
index 00000000..55e98dfd
--- /dev/null
+++ b/vibrator/V1_2/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_2Adapter",
+}
diff --git a/vibrator/V1_2/adapter/AndroidTest.xml b/vibrator/V1_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..689c47e4
--- /dev/null
+++ b/vibrator/V1_2/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.vibrator@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.vibrator@1.1-adapter"/>
+ <option name="hal-package-name" value="android.hardware.vibrator@1.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsWidgetTestCases.config"/>
+</configuration>
diff --git a/vibrator/V1_2/target/Android.bp b/vibrator/V1_2/target/Android.bp
new file mode 100644
index 00000000..271bb270
--- /dev/null
+++ b/vibrator/V1_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_2Target",
+}
diff --git a/vibrator/V1_2/target/AndroidTest.xml b/vibrator/V1_2/target/AndroidTest.xml
new file mode 100644
index 00000000..ca771f51
--- /dev/null
+++ b/vibrator/V1_2/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalVibratorV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVibratorV1_2TargetTest/VtsHalVibratorV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVibratorV1_2TargetTest/VtsHalVibratorV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_3/target/Android.bp b/vibrator/V1_3/target/Android.bp
new file mode 100644
index 00000000..c974497d
--- /dev/null
+++ b/vibrator/V1_3/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVibratorV1_3Target",
+}
diff --git a/vibrator/V1_3/target/AndroidTest.xml b/vibrator/V1_3/target/AndroidTest.xml
new file mode 100644
index 00000000..21baa5bc
--- /dev/null
+++ b/vibrator/V1_3/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_3Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalVibratorV1_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVibratorV1_3TargetTest/VtsHalVibratorV1_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVibratorV1_3TargetTest/VtsHalVibratorV1_3TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vibrator/V1_4/target/Android.bp b/vibrator/V1_4/target/Android.bp
new file mode 100644
index 00000000..79398ece
--- /dev/null
+++ b/vibrator/V1_4/target/Android.bp
@@ -0,0 +1,21 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
+
+vts_config {
+ name: "VtsHalVibratorV1_4Target",
+}
+
diff --git a/vibrator/V1_4/target/AndroidTest.xml b/vibrator/V1_4/target/AndroidTest.xml
new file mode 100644
index 00000000..8c07d30e
--- /dev/null
+++ b/vibrator/V1_4/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVibratorV1_4Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalVibratorV1_4Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVibratorV1_4TargetTest/VtsHalVibratorV1_4TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVibratorV1_4TargetTest/VtsHalVibratorV1_4TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/vibrator/__init__.py b/vibrator/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vibrator/__init__.py
diff --git a/vr/V1_0/__init__.py b/vr/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vr/V1_0/__init__.py
diff --git a/vr/V1_0/host/Android.bp b/vr/V1_0/host/Android.bp
new file mode 100644
index 00000000..e11b73dc
--- /dev/null
+++ b/vr/V1_0/host/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVrV1_0Host",
+}
diff --git a/vr/V1_0/host/AndroidTest.xml b/vr/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..d0dee565
--- /dev/null
+++ b/vr/V1_0/host/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVrV1_0Host test cases">
+ <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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/vr/1.0/vts/Vr.vts->/data/local/tmp/spec/android/hardware/vr/1.0/Vr.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vr@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vr@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalVrV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/vr/V1_0/host/VtsHalVrV1_0HostTest"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vr/V1_0/host/VtsHalVrV1_0HostTest.py b/vr/V1_0/host/VtsHalVrV1_0HostTest.py
new file mode 100644
index 00000000..d2ebb624
--- /dev/null
+++ b/vr/V1_0/host/VtsHalVrV1_0HostTest.py
@@ -0,0 +1,59 @@
+#!/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 test_runner
+from vts.testcases.template.hal_hidl_host_test import hal_hidl_host_test
+
+
+class VrHidlTest(hal_hidl_host_test.HalHidlHostTest):
+ """A simple testcase for the VR HIDL HAL."""
+
+ TEST_HAL_SERVICES = {"android.hardware.vr@1.0::IVr"}
+
+ def setUpClass(self):
+ """Creates a mirror and turns on the framework-layer VR service."""
+ super(VrHidlTest, self).setUpClass()
+ self.dut.hal.InitHidlHal(
+ target_type="vr",
+ target_basepaths=self.dut.libPaths,
+ target_version=1.0,
+ target_package="android.hardware.vr",
+ target_component_name="IVr",
+ bits=int(self.abi_bitness))
+
+ def testVrBasic(self):
+ """A simple test case which just calls each registered function."""
+ result = self.dut.hal.vr.init()
+ logging.info("init result: %s", result)
+
+ time.sleep(1)
+
+ result = self.dut.hal.vr.setVrMode(True)
+ logging.info("setVrMode(true) result: %s", result)
+
+ time.sleep(1)
+
+ result = self.dut.hal.vr.setVrMode(False)
+ logging.info("setVrMode(false) result: %s", result)
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/vr/V1_0/host/__init__.py b/vr/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vr/V1_0/host/__init__.py
diff --git a/vr/V1_0/target/Android.bp b/vr/V1_0/target/Android.bp
new file mode 100644
index 00000000..24c119d3
--- /dev/null
+++ b/vr/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVrV1_0Target",
+}
diff --git a/vr/V1_0/target/AndroidTest.xml b/vr/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..1620d4a2
--- /dev/null
+++ b/vr/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVrV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalVrV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalVrV1_0TargetTest/VtsHalVrV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalVrV1_0TargetTest/VtsHalVrV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vr/V1_0/target_replay/Android.bp b/vr/V1_0/target_replay/Android.bp
new file mode 100644
index 00000000..301c0fdd
--- /dev/null
+++ b/vr/V1_0/target_replay/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalVrV1_0TargetReplay",
+}
diff --git a/vr/V1_0/target_replay/AndroidTest.xml b/vr/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 00000000..992734ce
--- /dev/null
+++ b/vr/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalVrV1_0TargetReplay test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-hal-replay" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+ <option name="abort-on-push-failure" value="false"/>
+ <option name="push-group" value="VtsHalReplayTest.push"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/vr/1.0/vts/Vr.vts->/data/local/tmp/spec/android/hardware/vr/1.0/Vr.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.vr@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.vr@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.vr@1.0-vts.driver.so"/>
+ </target_preparer>
+ <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_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="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/vr/__init__.py b/vr/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vr/__init__.py
diff --git a/vts_specs/Android.mk b/vts_specs/Android.mk
new file mode 100644
index 00000000..465edb7e
--- /dev/null
+++ b/vts_specs/Android.mk
@@ -0,0 +1,30 @@
+#
+# 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.
+#
+
+spec_copy_pairs :=
+$(foreach m,$(VTS_SPEC_FILE_LIST),\
+ $(eval spec_copy_dir :=\
+ spec/$(word 2,$(subst android/frameworks/, ,\
+ $(subst android/hardware/, ,\
+ $(subst android/hidl/, ,\
+ $(subst android/system/, ,$(dir $(m))))))))\
+ $(eval spec_copy_file := $(notdir $(m)))\
+ $(eval spec_copy_dest := $(spec_copy_dir)/$(spec_copy_file))\
+ $(eval spec_copy_pairs += $(m):$(TARGET_OUT_DATA)/vts_specs/$(spec_copy_dest)))
+
+.PHONY: vts_specs
+vts_specs: \
+ $(call copy-many-files,$(spec_copy_pairs)) \
diff --git a/weaver/V1_0/target/Android.bp b/weaver/V1_0/target/Android.bp
new file mode 100644
index 00000000..bf23860b
--- /dev/null
+++ b/weaver/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWeaverV1_0Target",
+}
diff --git a/weaver/V1_0/target/AndroidTest.xml b/weaver/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..9631d851
--- /dev/null
+++ b/weaver/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VtsHalWeaverV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="5m"/>
+ </test>
+</configuration>
diff --git a/weaver/V1_0/target_profiling/Android.bp b/weaver/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..d632050a
--- /dev/null
+++ b/weaver/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWeaverV1_0TargetProfiling",
+}
diff --git a/wifi/OWNERS b/wifi/OWNERS
new file mode 100644
index 00000000..3d115247
--- /dev/null
+++ b/wifi/OWNERS
@@ -0,0 +1,2 @@
+etancohen@google.com
+rpius@google.com
diff --git a/wifi/V1_0/app/wifi_native_test/Android.bp b/wifi/V1_0/app/wifi_native_test/Android.bp
new file mode 100644
index 00000000..ff11a66c
--- /dev/null
+++ b/wifi/V1_0/app/wifi_native_test/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsAppWifiNativeTest",
+}
diff --git a/wifi/V1_0/app/wifi_native_test/AndroidTest.xml b/wifi/V1_0/app/wifi_native_test/AndroidTest.xml
new file mode 100644
index 00000000..8156b235
--- /dev/null
+++ b/wifi/V1_0/app/wifi_native_test/AndroidTest.xml
@@ -0,0 +1,46 @@
+<?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 VtsAppWifiAwarePerformanceThroughput test cases">
+ <option name="config-descriptor:metadata" key="plan" value="vts-misc" />
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
+ <option name="no-dep-module" value="enum" />
+ <option name="dep-module" value="enum34" />
+ <option name="dep-module" value="pyserial" />
+ <option name="dep-module" value="shellescape" />
+ <option name="dep-module" value="statistics" />
+ <option name="dep-module" value="subprocess32" />
+ </multi_target_preparer>
+
+ <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"/>
+ </target_preparer>
+
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.ApkInstaller">
+ <option name="test-file-name" value="DATA/app/sl4a/sl4a.apk" />
+ <option name="cleanup-apks" value="true" />
+ <option name="install-arg" value="-r" />
+ </target_preparer>
+
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsAppWifiNativeTest"/>
+ <option name="test-case-path" value="vts/testcases/acts/wifi/WifiNativeTest"/>
+ <option name="test-case-path-type" value="file"/>
+ <option name="test-timeout" value="10m"/>
+ <option name="test-config-path" value="vts/testcases/hal/wifi/V1_0/app/wifi_native_test/VtsAppWifiNativeTest.runner_conf" />
+ </test>
+</configuration>
diff --git a/wifi/V1_0/app/wifi_native_test/VtsAppWifiNativeTest.runner_conf b/wifi/V1_0/app/wifi_native_test/VtsAppWifiNativeTest.runner_conf
new file mode 100644
index 00000000..bb9c0415
--- /dev/null
+++ b/wifi/V1_0/app/wifi_native_test/VtsAppWifiNativeTest.runner_conf
@@ -0,0 +1,16 @@
+{
+ "test_bed":
+ [
+ {
+ "name": "VtsAppWifiNativeTest",
+ "AndroidDevice":
+ [
+ {
+ "enable_sl4a": true,
+ "enable_vts_agent": false
+ }
+ ]
+ }
+ ],
+ "aware_default_power_mode": "INTERACTIVE"
+}
diff --git a/wifi/V1_0/target/Android.bp b/wifi/V1_0/target/Android.bp
new file mode 100644
index 00000000..49bc6cc3
--- /dev/null
+++ b/wifi/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_0Target",
+}
diff --git a/wifi/V1_0/target/AndroidTest.xml b/wifi/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..ffd0264a
--- /dev/null
+++ b/wifi/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiV1_0Target test cases">
+ <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="true"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ <option name="cleanup" value="true"/>
+ </target_preparer>
+ <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="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/wifi/V1_0/target/ap/Android.bp b/wifi/V1_0/target/ap/Android.bp
new file mode 100644
index 00000000..52f69a2f
--- /dev/null
+++ b/wifi/V1_0/target/ap/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiApV1_0Target",
+}
diff --git a/wifi/V1_0/target/ap/AndroidTest.xml b/wifi/V1_0/target/ap/AndroidTest.xml
new file mode 100644
index 00000000..8421a15a
--- /dev/null
+++ b/wifi/V1_0/target/ap/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiApV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiApV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiApV1_0TargetTest/VtsHalWifiApV1_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiApV1_0TargetTest/VtsHalWifiApV1_0TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.wifi.hostapd@1.0"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/wifi/V1_0/target/nan/Android.bp b/wifi/V1_0/target/nan/Android.bp
new file mode 100644
index 00000000..05c1ebd9
--- /dev/null
+++ b/wifi/V1_0/target/nan/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiNanV1_0Target",
+}
diff --git a/wifi/V1_0/target/nan/AndroidTest.xml b/wifi/V1_0/target/nan/AndroidTest.xml
new file mode 100644
index 00000000..9555bba4
--- /dev/null
+++ b/wifi/V1_0/target/nan/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalWifiNanV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiNanV1_0Target"/>
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="precondition-feature" value="android.hardware.wifi.aware" />
+ <option name="test-timeout" value="15m"/>
+ </test>
+</configuration>
diff --git a/wifi/V1_0/target_profiling/base/Android.bp b/wifi/V1_0/target_profiling/base/Android.bp
new file mode 100644
index 00000000..c0fc7b30
--- /dev/null
+++ b/wifi/V1_0/target_profiling/base/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_0TargetProfiling",
+}
diff --git a/wifi/V1_0/target_profiling/nan/Android.bp b/wifi/V1_0/target_profiling/nan/Android.bp
new file mode 100644
index 00000000..4d46b381
--- /dev/null
+++ b/wifi/V1_0/target_profiling/nan/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiNanV1_0TargetProfiling",
+}
diff --git a/wifi/V1_1/adapter/Android.bp b/wifi/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..4e78276e
--- /dev/null
+++ b/wifi/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_1Adapter",
+}
diff --git a/wifi/V1_1/adapter/AndroidTest.xml b/wifi/V1_1/adapter/AndroidTest.xml
new file mode 100644
index 00000000..60fa2db6
--- /dev/null
+++ b/wifi/V1_1/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiV1_1Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.wifi@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.wifi@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.wifi@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsNetTestCases.config"/>
+</configuration>
diff --git a/wifi/V1_1/target/base/Android.bp b/wifi/V1_1/target/base/Android.bp
new file mode 100644
index 00000000..f417f1cc
--- /dev/null
+++ b/wifi/V1_1/target/base/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_1Target",
+}
diff --git a/wifi/V1_1/target/base/AndroidTest.xml b/wifi/V1_1/target/base/AndroidTest.xml
new file mode 100644
index 00000000..3781b678
--- /dev/null
+++ b/wifi/V1_1/target/base/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalWifiV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ <!-- b/114117679: VtsHalWifiV1_0Target 2 failed test cases (waiver) -->
+ <option name="exclude-filter" value="VtsHalWifiV1_0Target#WifiChipHidlTest.RequestFirmwareDebugDump" />
+ </test>
+</configuration>
diff --git a/wifi/V1_1/target_profiling/base/Android.bp b/wifi/V1_1/target_profiling/base/Android.bp
new file mode 100644
index 00000000..fb85f735
--- /dev/null
+++ b/wifi/V1_1/target_profiling/base/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_1TargetProfiling",
+}
diff --git a/wifi/V1_2/adapter/Android.bp b/wifi/V1_2/adapter/Android.bp
new file mode 100644
index 00000000..ff253909
--- /dev/null
+++ b/wifi/V1_2/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_2Adapter",
+}
diff --git a/wifi/V1_2/adapter/AndroidTest.xml b/wifi/V1_2/adapter/AndroidTest.xml
new file mode 100644
index 00000000..52b5c350
--- /dev/null
+++ b/wifi/V1_2/adapter/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiV1_2Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.wifi@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.wifi@1.1-adapter"/>
+ <option name="hal-package-name" value="android.hardware.wifi@1.2"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsNetTestCases.config"/>
+</configuration>
diff --git a/wifi/V1_2/target/Android.bp b/wifi/V1_2/target/Android.bp
new file mode 100644
index 00000000..d3546ad0
--- /dev/null
+++ b/wifi/V1_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_2Target",
+}
diff --git a/wifi/V1_2/target/AndroidTest.xml b/wifi/V1_2/target/AndroidTest.xml
new file mode 100644
index 00000000..519c9675
--- /dev/null
+++ b/wifi/V1_2/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiV1_2TargetTest/VtsHalWifiV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiV1_2TargetTest/VtsHalWifiV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/wifi/V1_2/target/nan/Android.bp b/wifi/V1_2/target/nan/Android.bp
new file mode 100644
index 00000000..590147ac
--- /dev/null
+++ b/wifi/V1_2/target/nan/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiNanV1_2Target",
+}
diff --git a/wifi/V1_2/target/nan/AndroidTest.xml b/wifi/V1_2/target/nan/AndroidTest.xml
new file mode 100644
index 00000000..7425e940
--- /dev/null
+++ b/wifi/V1_2/target/nan/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiNanV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiNanV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiNanV1_2TargetTest/VtsHalWifiNanV1_2TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiNanV1_2TargetTest/VtsHalWifiNanV1_2TargetTest" />
+ <option name="binary-test-type" value="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>
+</configuration>
diff --git a/wifi/V1_2/target_profiling/Android.bp b/wifi/V1_2/target_profiling/Android.bp
new file mode 100644
index 00000000..e8731c03
--- /dev/null
+++ b/wifi/V1_2/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_2TargetProfiling",
+}
diff --git a/wifi/V1_2/target_profiling/nan/Android.bp b/wifi/V1_2/target_profiling/nan/Android.bp
new file mode 100644
index 00000000..eb33b0df
--- /dev/null
+++ b/wifi/V1_2/target_profiling/nan/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiNanV1_2TargetProfiling",
+}
diff --git a/wifi/V1_3/target/Android.bp b/wifi/V1_3/target/Android.bp
new file mode 100644
index 00000000..54c372fa
--- /dev/null
+++ b/wifi/V1_3/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiV1_3Target",
+}
diff --git a/wifi/V1_3/target/AndroidTest.xml b/wifi/V1_3/target/AndroidTest.xml
new file mode 100644
index 00000000..bf9099ca
--- /dev/null
+++ b/wifi/V1_3/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiV1_3Target test cases">
+ <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"/>
+ </target_preparer>
+ <multi_target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiV1_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiV1_3TargetTest/VtsHalWifiV1_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiV1_3TargetTest/VtsHalWifiV1_3TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/wifi/V1_4/target/ap/Android.bp b/wifi/V1_4/target/ap/Android.bp
new file mode 100644
index 00000000..df6f87b9
--- /dev/null
+++ b/wifi/V1_4/target/ap/Android.bp
@@ -0,0 +1,18 @@
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiApV1_4Target",
+}
diff --git a/wifi/V1_4/target/ap/AndroidTest.xml b/wifi/V1_4/target/ap/AndroidTest.xml
new file mode 100644
index 00000000..af785977
--- /dev/null
+++ b/wifi/V1_4/target/ap/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiApV1_4Target test cases">
+ <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="true"/>
+ <option name="push-group" value="HalHidlTargetTest.push"/>
+ <option name="cleanup" value="true"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiApV1_4Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiApV1_4TargetTest/VtsHalWifiApV1_4TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiApV1_4TargetTest/VtsHalWifiApV1_4TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="precondition-lshal" value="android.hardware.wifi.hostapd@1.0"/>
+ <option name="test-timeout" value="1m"/>
+ <option name="max-retry-count" value="1"/>
+ </test>
+</configuration>
diff --git a/wifi/__init__.py b/wifi/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/__init__.py
diff --git a/wifi/hostapd/V1_0/target/Android.bp b/wifi/hostapd/V1_0/target/Android.bp
new file mode 100644
index 00000000..80d27205
--- /dev/null
+++ b/wifi/hostapd/V1_0/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiHostapdV1_0Target",
+}
diff --git a/wifi/hostapd/V1_0/target/AndroidTest.xml b/wifi/hostapd/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..4a530840
--- /dev/null
+++ b/wifi/hostapd/V1_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiHostapdV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiHostapdV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiHostapdV1_0TargetTest/VtsHalWifiHostapdV1_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiHostapdV1_0TargetTest/VtsHalWifiHostapdV1_0TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ </test>
+</configuration>
+
diff --git a/wifi/hostapd/V1_1/target/Android.bp b/wifi/hostapd/V1_1/target/Android.bp
new file mode 100644
index 00000000..31df6128
--- /dev/null
+++ b/wifi/hostapd/V1_1/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiHostapdV1_1Target",
+}
diff --git a/wifi/hostapd/V1_1/target/AndroidTest.xml b/wifi/hostapd/V1_1/target/AndroidTest.xml
new file mode 100644
index 00000000..f87167c8
--- /dev/null
+++ b/wifi/hostapd/V1_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiHostapdV1_1Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiHostapdV1_1Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiHostapdV1_1TargetTest/VtsHalWifiHostapdV1_1TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiHostapdV1_1TargetTest/VtsHalWifiHostapdV1_1TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ </test>
+</configuration>
+
diff --git a/wifi/hostapd/V1_2/target/Android.bp b/wifi/hostapd/V1_2/target/Android.bp
new file mode 100644
index 00000000..60e4eb0e
--- /dev/null
+++ b/wifi/hostapd/V1_2/target/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiHostapdV1_2Target",
+}
diff --git a/wifi/hostapd/V1_2/target/AndroidTest.xml b/wifi/hostapd/V1_2/target/AndroidTest.xml
new file mode 100644
index 00000000..a56bf1b0
--- /dev/null
+++ b/wifi/hostapd/V1_2/target/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiHostapdV1_2Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiHostapdV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiHostapdV1_2TargetTest/VtsHalWifiHostapdV1_2TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiHostapdV1_2TargetTest/VtsHalWifiHostapdV1_2TargetTest" />
+ <option name="binary-test-type" value="gtest"/>
+
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="test-timeout" value="15m"/>
+ <option name="runtime-hint" value="5m"/>
+ </test>
+</configuration>
+
diff --git a/wifi/offload/V1_0/target/Android.bp b/wifi/offload/V1_0/target/Android.bp
new file mode 100644
index 00000000..e845a640
--- /dev/null
+++ b/wifi/offload/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiOffloadV1_0Target",
+}
diff --git a/wifi/offload/V1_0/target/AndroidTest.xml b/wifi/offload/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..af316d4c
--- /dev/null
+++ b/wifi/offload/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalWifiOffloadV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <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="gtest"/>
+ <option name="binary-test-disable-framework" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_0/__init__.py b/wifi/supplicant/V1_0/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_0/__init__.py
diff --git a/wifi/supplicant/V1_0/host/Android.bp b/wifi/supplicant/V1_0/host/Android.bp
new file mode 100644
index 00000000..0b753320
--- /dev/null
+++ b/wifi/supplicant/V1_0/host/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_0Host",
+}
diff --git a/wifi/supplicant/V1_0/host/AndroidTest.xml b/wifi/supplicant/V1_0/host/AndroidTest.xml
new file mode 100644
index 00000000..c87df064
--- /dev/null
+++ b/wifi/supplicant/V1_0/host/AndroidTest.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiSupplicantV1_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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/Supplicant.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/Supplicant.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantCallback.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantIface.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantIface.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantStaIface.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantStaIface.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantP2pIface.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantP2pIface.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantStaIfaceCallback.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantStaIfaceCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantP2pIfaceCallback.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantP2pIfaceCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantNetwork.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantNetwork.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantStaNetwork.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantStaNetwork.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantP2pNetwork.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantP2pNetwork.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantStaNetworkCallback.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantStaNetworkCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/SupplicantP2pNetworkCallback.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/SupplicantP2pNetworkCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/wifi/supplicant/1.0/types.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.wifi.supplicant@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.wifi.supplicant@1.0-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.wifi.supplicant@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.wifi.supplicant@1.0-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantV1_0Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/wifi/supplicant/V1_0/host/VtsHalWifiSupplicantV1_0HostTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantV1_0TargetTest/VtsHalWifiSupplicantV1_0TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantV1_0TargetTest/VtsHalWifiSupplicantV1_0TargetTest" />
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_0/host/VtsHalWifiSupplicantV1_0HostTest.py b/wifi/supplicant/V1_0/host/VtsHalWifiSupplicantV1_0HostTest.py
new file mode 100644
index 00000000..03a0938b
--- /dev/null
+++ b/wifi/supplicant/V1_0/host/VtsHalWifiSupplicantV1_0HostTest.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+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
+
+
+class VtsHalWifiSupplicantV1_0Host(hal_hidl_gtest.HidlHalGTest):
+ """Host test class to run the WiFi Supplicant V1.0 HAL's VTS tests."""
+
+ WIFI_DIRECT_FEATURE_NAME = "android.hardware.wifi.direct"
+
+ def setUpClass(self):
+ """Disable android framework."""
+ super(VtsHalWifiSupplicantV1_0Host, self).setUpClass()
+ self.dut = self.android_devices[0]
+ self.shell = self.dut.shell
+ self.dut.stop(True)
+
+ def tearDownClass(self):
+ """Enable android framework."""
+ self.dut.start()
+ super(VtsHalWifiSupplicantV1_0Host, self).tearDownClass()
+
+ def CreateTestCases(self):
+ """Get all registered test components and create test case objects."""
+ pm_list = self.shell.Execute("pm list features")
+ self._p2p_on = self.WIFI_DIRECT_FEATURE_NAME in pm_list[const.STDOUT][0]
+ logging.info("Wifi P2P Feature Supported: %s", self._p2p_on)
+ super(VtsHalWifiSupplicantV1_0Host, self).CreateTestCases()
+
+ # @Override
+ def CreateTestCase(self, path, tag=''):
+ """Create a list of VtsHalWifiSupplicantV1_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 VtsHalWifiSupplicantV1_0TestCase objects
+ """
+ gtest_cases = super(VtsHalWifiSupplicantV1_0Host, self).CreateTestCase(path, tag)
+ for gtest_case in gtest_cases:
+ if not self._p2p_on:
+ gtest_case.args += " --p2p_off"
+ return gtest_cases
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/wifi/supplicant/V1_0/host/__init__.py b/wifi/supplicant/V1_0/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_0/host/__init__.py
diff --git a/wifi/supplicant/V1_0/target/Android.bp b/wifi/supplicant/V1_0/target/Android.bp
new file mode 100644
index 00000000..81af141b
--- /dev/null
+++ b/wifi/supplicant/V1_0/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_0Target",
+}
diff --git a/wifi/supplicant/V1_0/target/AndroidTest.xml b/wifi/supplicant/V1_0/target/AndroidTest.xml
new file mode 100644
index 00000000..c77e5486
--- /dev/null
+++ b/wifi/supplicant/V1_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantV1_0TargetTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantV1_0TargetTest/VtsHalWifiSupplicantV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantV1_0TargetTest/VtsHalWifiSupplicantV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-feature" value="android.hardware.wifi.direct" />
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_0/target/p2p/Android.bp b/wifi/supplicant/V1_0/target/p2p/Android.bp
new file mode 100644
index 00000000..3b59f042
--- /dev/null
+++ b/wifi/supplicant/V1_0/target/p2p/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantP2pV1_0Target",
+}
diff --git a/wifi/supplicant/V1_0/target/p2p/AndroidTest.xml b/wifi/supplicant/V1_0/target/p2p/AndroidTest.xml
new file mode 100644
index 00000000..48b8e2ce
--- /dev/null
+++ b/wifi/supplicant/V1_0/target/p2p/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Config for VTS VtsHalWifiSupplicantP2pV1_0Target test cases">
+ <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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantP2pV1_0Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantP2pV1_0TargetTest/VtsHalWifiSupplicantP2pV1_0TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantP2pV1_0TargetTest/VtsHalWifiSupplicantP2pV1_0TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-feature" value="android.hardware.wifi.direct" />
+ <option name="test-timeout" value="30m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_0/target_profiling/Android.bp b/wifi/supplicant/V1_0/target_profiling/Android.bp
new file mode 100644
index 00000000..d7d0e2a4
--- /dev/null
+++ b/wifi/supplicant/V1_0/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_0TargetProfiling",
+}
diff --git a/wifi/supplicant/V1_1/__init__.py b/wifi/supplicant/V1_1/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_1/__init__.py
diff --git a/wifi/supplicant/V1_1/adapter/Android.bp b/wifi/supplicant/V1_1/adapter/Android.bp
new file mode 100644
index 00000000..fd6db389
--- /dev/null
+++ b/wifi/supplicant/V1_1/adapter/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_1Adapter",
+}
diff --git a/wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp b/wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp
new file mode 100644
index 00000000..31c8e556
--- /dev/null
+++ b/wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_1AdapterCtsDevicePolicyManagerTestCases",
+}
diff --git a/wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml b/wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
new file mode 100644
index 00000000..118eb18d
--- /dev/null
+++ b/wifi/supplicant/V1_1/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiSupplicantV1_1AdapterCtsDevicePolicyManagerTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.wifi.supplicant@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsDevicePolicyManagerTestCases.config"/>
+</configuration>
diff --git a/wifi/supplicant/V1_1/adapter/CtsNetTestCases/Android.bp b/wifi/supplicant/V1_1/adapter/CtsNetTestCases/Android.bp
new file mode 100644
index 00000000..b0c9be68
--- /dev/null
+++ b/wifi/supplicant/V1_1/adapter/CtsNetTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_1AdapterCtsNetTestCases",
+}
diff --git a/wifi/supplicant/V1_1/adapter/CtsNetTestCases/AndroidTest.xml b/wifi/supplicant/V1_1/adapter/CtsNetTestCases/AndroidTest.xml
new file mode 100644
index 00000000..359abc92
--- /dev/null
+++ b/wifi/supplicant/V1_1/adapter/CtsNetTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiSupplicantV1_1AdapterCtsNetTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.1"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.wifi.supplicant@1.0-adapter"/>
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsNetTestCases.config"/>
+</configuration>
diff --git a/wifi/supplicant/V1_1/host/Android.bp b/wifi/supplicant/V1_1/host/Android.bp
new file mode 100644
index 00000000..50aa1656
--- /dev/null
+++ b/wifi/supplicant/V1_1/host/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_1Host",
+}
diff --git a/wifi/supplicant/V1_1/host/AndroidTest.xml b/wifi/supplicant/V1_1/host/AndroidTest.xml
new file mode 100644
index 00000000..1cfa5702
--- /dev/null
+++ b/wifi/supplicant/V1_1/host/AndroidTest.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<configuration description="Config for VTS VtsHalWifiSupplicantV1_1Host 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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.1/vts/Supplicant.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.1/Supplicant.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.1/vts/SupplicantStaIface.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.1/SupplicantStaIface.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.1/vts/SupplicantStaIfaceCallback.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.1/SupplicantStaIfaceCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.1/vts/SupplicantStaNetwork.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.1/SupplicantStaNetwork.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.wifi.supplicant@1.1-vts.driver.so->/data/local/tmp/32/android.hardware.wifi.supplicant@1.1-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.wifi.supplicant@1.1-vts.driver.so->/data/local/tmp/64/android.hardware.wifi.supplicant@1.1-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantV1_1Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/wifi/supplicant/V1_1/host/VtsHalWifiSupplicantV1_1HostTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantV1_1TargetTest/VtsHalWifiSupplicantV1_1TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantV1_1TargetTest/VtsHalWifiSupplicantV1_1TargetTest" />
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_1/host/VtsHalWifiSupplicantV1_1HostTest.py b/wifi/supplicant/V1_1/host/VtsHalWifiSupplicantV1_1HostTest.py
new file mode 100644
index 00000000..a19581ee
--- /dev/null
+++ b/wifi/supplicant/V1_1/host/VtsHalWifiSupplicantV1_1HostTest.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+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
+
+
+class VtsHalWifiSupplicantV1_1Host(hal_hidl_gtest.HidlHalGTest):
+ """Host test class to run the WiFi Supplicant V1.0 HAL's VTS tests."""
+
+ WIFI_DIRECT_FEATURE_NAME = "android.hardware.wifi.direct"
+
+ def setUpClass(self):
+ """Disable android framework."""
+ super(VtsHalWifiSupplicantV1_1Host, self).setUpClass()
+ self.dut = self.android_devices[0]
+ self.shell = self.dut.shell
+ self.dut.stop(True)
+
+ def tearDownClass(self):
+ """Enable android framework."""
+ self.dut.start()
+ super(VtsHalWifiSupplicantV1_1Host, self).tearDownClass()
+
+ def CreateTestCases(self):
+ """Get all registered test components and create test case objects."""
+ pm_list = self.shell.Execute("pm list features")
+ self._p2p_on = self.WIFI_DIRECT_FEATURE_NAME in pm_list[const.STDOUT][0]
+ logging.info("Wifi P2P Feature Supported: %s", self._p2p_on)
+ super(VtsHalWifiSupplicantV1_1Host, self).CreateTestCases()
+
+ # @Override
+ def CreateTestCase(self, path, tag=''):
+ """Create a list of VtsHalWifiSupplicantV1_1TestCase 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 VtsHalWifiSupplicantV1_1TestCase objects
+ """
+ gtest_cases = super(VtsHalWifiSupplicantV1_1Host, self).CreateTestCase(path, tag)
+ for gtest_case in gtest_cases:
+ if not self._p2p_on:
+ gtest_case.args += " --p2p_off"
+ return gtest_cases
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/wifi/supplicant/V1_1/host/__init__.py b/wifi/supplicant/V1_1/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_1/host/__init__.py
diff --git a/wifi/supplicant/V1_1/target/Android.bp b/wifi/supplicant/V1_1/target/Android.bp
new file mode 100644
index 00000000..ce8d0c2b
--- /dev/null
+++ b/wifi/supplicant/V1_1/target/Android.bp
@@ -0,0 +1,18 @@
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_1Target",
+}
diff --git a/wifi/supplicant/V1_1/target_profiling/Android.bp b/wifi/supplicant/V1_1/target_profiling/Android.bp
new file mode 100644
index 00000000..2c4e0582
--- /dev/null
+++ b/wifi/supplicant/V1_1/target_profiling/Android.bp
@@ -0,0 +1,19 @@
+//
+// 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_1TargetProfiling",
+}
diff --git a/wifi/supplicant/V1_2/__init__.py b/wifi/supplicant/V1_2/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_2/__init__.py
diff --git a/wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/Android.bp b/wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/Android.bp
new file mode 100644
index 00000000..1ae58f43
--- /dev/null
+++ b/wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_2AdapterCtsDevicePolicyManagerTestCases",
+}
diff --git a/wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml b/wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
new file mode 100644
index 00000000..a2ea67ba
--- /dev/null
+++ b/wifi/supplicant/V1_2/adapter/CtsDevicePolicyManagerTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantV1_2AdapterCtsDevicePolicyManagerTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.wifi.supplicant@1.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsDevicePolicyManagerTestCases.config"/>
+</configuration>
diff --git a/wifi/supplicant/V1_2/adapter/CtsNetTestCases/Android.bp b/wifi/supplicant/V1_2/adapter/CtsNetTestCases/Android.bp
new file mode 100644
index 00000000..c8287164
--- /dev/null
+++ b/wifi/supplicant/V1_2/adapter/CtsNetTestCases/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_2AdapterCtsNetTestCases",
+}
diff --git a/wifi/supplicant/V1_2/adapter/CtsNetTestCases/AndroidTest.xml b/wifi/supplicant/V1_2/adapter/CtsNetTestCases/AndroidTest.xml
new file mode 100644
index 00000000..aebe9eec
--- /dev/null
+++ b/wifi/supplicant/V1_2/adapter/CtsNetTestCases/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantV1_2AdapterCtsNetTestCases test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.2"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.wifi.supplicant@1.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.1"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+ <include name="CtsNetTestCases.config"/>
+</configuration>
diff --git a/wifi/supplicant/V1_2/host/Android.bp b/wifi/supplicant/V1_2/host/Android.bp
new file mode 100644
index 00000000..07921c82
--- /dev/null
+++ b/wifi/supplicant/V1_2/host/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_2Host",
+}
diff --git a/wifi/supplicant/V1_2/host/AndroidTest.xml b/wifi/supplicant/V1_2/host/AndroidTest.xml
new file mode 100644
index 00000000..b8910b3b
--- /dev/null
+++ b/wifi/supplicant/V1_2/host/AndroidTest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantV1_2Host 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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.2/vts/Supplicant.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.2/Supplicant.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.2/vts/SupplicantStaIface.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.2/SupplicantStaIface.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.2/vts/SupplicantStaIfaceCallback.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.2/SupplicantStaIfaceCallback.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.2/vts/SupplicantStaNetwork.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.2/SupplicantStaNetwork.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.wifi.supplicant@1.2-vts.driver.so->/data/local/tmp/32/android.hardware.wifi.supplicant@1.2-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.wifi.supplicant@1.2-vts.driver.so->/data/local/tmp/64/android.hardware.wifi.supplicant@1.2-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantV1_2Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/wifi/supplicant/V1_2/host/VtsHalWifiSupplicantV1_2HostTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantV1_2TargetTest/VtsHalWifiSupplicantV1_2TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantV1_2TargetTest/VtsHalWifiSupplicantV1_2TargetTest" />
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_2/host/VtsHalWifiSupplicantV1_2HostTest.py b/wifi/supplicant/V1_2/host/VtsHalWifiSupplicantV1_2HostTest.py
new file mode 100644
index 00000000..aaecc691
--- /dev/null
+++ b/wifi/supplicant/V1_2/host/VtsHalWifiSupplicantV1_2HostTest.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2019 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
+
+
+class VtsHalWifiSupplicantV1_2Host(hal_hidl_gtest.HidlHalGTest):
+ """Host test class to run the WiFi Supplicant V1.2 HAL's VTS tests."""
+
+ WIFI_DIRECT_FEATURE_NAME = "android.hardware.wifi.direct"
+
+ def CreateTestCases(self):
+ """Get all registered test components and create test case objects."""
+ pm_list = self.shell.Execute("pm list features")
+ self._p2p_on = self.WIFI_DIRECT_FEATURE_NAME in pm_list[const.STDOUT][0]
+ logging.info("Wifi P2P Feature Supported: %s", self._p2p_on)
+ super(VtsHalWifiSupplicantV1_2Host, self).CreateTestCases()
+
+ # @Override
+ def CreateTestCase(self, path, tag=''):
+ """Create a list of VtsHalWifiSupplicantV1_2TestCase 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 VtsHalWifiSupplicantV1_2TestCase objects
+ """
+ gtest_cases = super(VtsHalWifiSupplicantV1_2Host, self).CreateTestCase(path, tag)
+ for gtest_case in gtest_cases:
+ if not self._p2p_on:
+ gtest_case.args += " --p2p_off"
+ return gtest_cases
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/wifi/supplicant/V1_2/host/__init__.py b/wifi/supplicant/V1_2/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_2/host/__init__.py
diff --git a/wifi/supplicant/V1_2/target/p2p/Android.bp b/wifi/supplicant/V1_2/target/p2p/Android.bp
new file mode 100644
index 00000000..4d644b42
--- /dev/null
+++ b/wifi/supplicant/V1_2/target/p2p/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantP2pV1_2Target",
+}
diff --git a/wifi/supplicant/V1_2/target/p2p/AndroidTest.xml b/wifi/supplicant/V1_2/target/p2p/AndroidTest.xml
new file mode 100644
index 00000000..70327c81
--- /dev/null
+++ b/wifi/supplicant/V1_2/target/p2p/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantP2pV1_2Target test cases">
+ <option key="plan" name="config-descriptor:metadata" 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"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantP2pV1_2Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantP2pV1_2TargetTest/VtsHalWifiSupplicantP2pV1_2TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantP2pV1_2TargetTest/VtsHalWifiSupplicantP2pV1_2TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="precondition-feature" value="android.hardware.wifi.direct" />
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_3/__init__.py b/wifi/supplicant/V1_3/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_3/__init__.py
diff --git a/wifi/supplicant/V1_3/adapter/Android.bp b/wifi/supplicant/V1_3/adapter/Android.bp
new file mode 100644
index 00000000..19531eb4
--- /dev/null
+++ b/wifi/supplicant/V1_3/adapter/Android.bp
@@ -0,0 +1,21 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_3Adapter",
+}
+
diff --git a/wifi/supplicant/V1_3/adapter/AndroidTest.xml b/wifi/supplicant/V1_3/adapter/AndroidTest.xml
new file mode 100644
index 00000000..ebff253e
--- /dev/null
+++ b/wifi/supplicant/V1_3/adapter/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantV1_3Adapter test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-hal-adapter"/>
+ <object class="com.android.tradefed.module.VtsHalAdapterModuleController" type="module_controller">
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.3"/>
+ </object>
+ <target_preparer class="com.android.tradefed.targetprep.VtsHalAdapterPreparer">
+ <option name="adapter-binary-name" value="android.hardware.wifi.supplicant@1.2-adapter"/>
+ <option name="hal-package-name" value="android.hardware.wifi.supplicant@1.3"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.devicehealth.tests"/>
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_3/host/Android.bp b/wifi/supplicant/V1_3/host/Android.bp
new file mode 100644
index 00000000..d3fd6734
--- /dev/null
+++ b/wifi/supplicant/V1_3/host/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 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.
+//
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_3Host",
+}
diff --git a/wifi/supplicant/V1_3/host/AndroidTest.xml b/wifi/supplicant/V1_3/host/AndroidTest.xml
new file mode 100644
index 00000000..394b0ff0
--- /dev/null
+++ b/wifi/supplicant/V1_3/host/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantV1_3Host 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"/>
+ <option name="cleanup" value="true"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.3/vts/Supplicant.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.3/Supplicant.vts"/>
+ <option name="push" value="spec/hardware/interfaces/wifi/supplicant/1.3/vts/SupplicantStaNetwork.vts->/data/local/tmp/spec/android/hardware.wifi.supplicant/1.3/SupplicantStaNetwork.vts"/>
+ <option name="push" value="DATA/lib/android.hardware.wifi.supplicant@1.3-vts.driver.so->/data/local/tmp/32/android.hardware.wifi.supplicant@1.3-vts.driver.so"/>
+ <option name="push" value="DATA/lib64/android.hardware.wifi.supplicant@1.3-vts.driver.so->/data/local/tmp/64/android.hardware.wifi.supplicant@1.3-vts.driver.so"/>
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantV1_3Host"/>
+ <option name="test-case-path" value="vts/testcases/hal/wifi/supplicant/V1_3/host/VtsHalWifiSupplicantV1_3HostTest"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantV1_3TargetTest/VtsHalWifiSupplicantV1_3TargetTest" />
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantV1_3TargetTest/VtsHalWifiSupplicantV1_3TargetTest" />
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="10m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/V1_3/host/VtsHalWifiSupplicantV1_3HostTest.py b/wifi/supplicant/V1_3/host/VtsHalWifiSupplicantV1_3HostTest.py
new file mode 100644
index 00000000..93ea466b
--- /dev/null
+++ b/wifi/supplicant/V1_3/host/VtsHalWifiSupplicantV1_3HostTest.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2019 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
+
+
+class VtsHalWifiSupplicantV1_3Host(hal_hidl_gtest.HidlHalGTest):
+ """Host test class to run the WiFi Supplicant V1.3 HAL's VTS tests."""
+
+ WIFI_DIRECT_FEATURE_NAME = "android.hardware.wifi.direct"
+
+ def CreateTestCases(self):
+ """Get all registered test components and create test case objects."""
+ pm_list = self.shell.Execute("pm list features")
+ self._p2p_on = self.WIFI_DIRECT_FEATURE_NAME in pm_list[const.STDOUT][0]
+ logging.info("Wifi P2P Feature Supported: %s", self._p2p_on)
+ super(VtsHalWifiSupplicantV1_3Host, self).CreateTestCases()
+
+ # @Override
+ def CreateTestCase(self, path, tag=''):
+ """Create a list of VtsHalWifiSupplicantV1_3TestCase 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 VtsHalWifiSupplicantV1_3TestCase objects
+ """
+ gtest_cases = super(VtsHalWifiSupplicantV1_3Host, self).CreateTestCase(path, tag)
+ for gtest_case in gtest_cases:
+ if not self._p2p_on:
+ gtest_case.args += " --p2p_off"
+ return gtest_cases
+
+
+if __name__ == "__main__":
+ test_runner.main()
diff --git a/wifi/supplicant/V1_3/host/__init__.py b/wifi/supplicant/V1_3/host/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/V1_3/host/__init__.py
diff --git a/wifi/supplicant/V1_3/target/Android.bp b/wifi/supplicant/V1_3/target/Android.bp
new file mode 100644
index 00000000..ec913a16
--- /dev/null
+++ b/wifi/supplicant/V1_3/target/Android.bp
@@ -0,0 +1,21 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file is autogenerated by test/vts-testcase/hal/script/test_case_creator.py
+// DO NOT EDIT
+
+vts_config {
+ name: "VtsHalWifiSupplicantV1_3Target",
+}
+
diff --git a/wifi/supplicant/V1_3/target/AndroidTest.xml b/wifi/supplicant/V1_3/target/AndroidTest.xml
new file mode 100644
index 00000000..b9a816fd
--- /dev/null
+++ b/wifi/supplicant/V1_3/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 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 VtsHalWifiSupplicantV1_3Target test cases">
+ <option key="plan" name="config-descriptor:metadata" value="vts-staging-default"/>
+ <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>
+ <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+ <option name="test-module-name" value="VtsHalWifiSupplicantV1_3Target"/>
+ <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalWifiSupplicantV1_3TargetTest/VtsHalWifiSupplicantV1_3TargetTest"/>
+ <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalWifiSupplicantV1_3TargetTest/VtsHalWifiSupplicantV1_3TargetTest"/>
+ <option name="binary-test-type" value="gtest"/>
+ <option name="binary-test-disable-framework" value="false"/>
+ <option name="binary-test-stop-native-servers" value="true"/>
+ <option name="test-timeout" value="1m"/>
+ </test>
+</configuration>
diff --git a/wifi/supplicant/__init__.py b/wifi/supplicant/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/wifi/supplicant/__init__.py