// Copyright (C) 2008 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT 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"],
}

android_test {
    name: "CtsOsTestCases",
    defaults: [
        "cts_defaults",
        "mts-target-sdk-version-current",
    ],
    compile_multilib: "both",
    static_libs: [
        "android.hidl.manager-V1.0-java",
        "androidx.test.core",
        "androidx.test.ext.junit",
        "androidx.test.rules",
        "androidx.test.uiautomator",
        "compatibility-device-util-axt",
        "ctstestrunner-axt",
        "testng",
        "truth-prebuilt",
        "guava",
        "junit",
        "Harrier",
        "CtsMockInputMethodLib",
        "hamcrest-library",
        "modules-utils-build_system",
        "platformprotosnano",
    ],
    jni_uses_platform_apis: true,
    jni_libs: [
        "libcts_jni",
        "libctsos_jni",
        "libnativehelper_compat_libc++",
    ],
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "src/android/os/cts/IParcelFileDescriptorPeer.aidl",
        "src/android/os/cts/IEmptyService.aidl",
        "src/android/os/cts/ISeccompIsolatedService.aidl",
        "src/android/os/cts/ISecondary.aidl",
        "src/android/os/cts/ISharedMemoryService.aidl",
        "src/android/os/cts/IParcelExceptionService.aidl",
    ],
    // Set its own test config to prevent sharing with cts-platform-version-check
    test_config: "CtsOsTestCases.xml",
    // Tag this module as a cts test artifact
    test_suites: [
        "cts",
        "general-tests",
        "mts-permission",
        "sts",
    ],
    sdk_version: "test_current",
    libs: [
        "android.test.runner",
        "android.test.base",
    ],
    // Do not compress minijail policy files.
    aaptflags: ["-0 .policy"],
    min_sdk_version: "29",
    data: [
        ":CtsAutoRevokeQApp",
        ":CtsAutoRevokeSApp",
        ":CtsAutoRevokeRApp",
        ":CtsCompanionTestApp",
    ],
    per_testcase_directory: true,
}
