// 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.
//
//

package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

android_test {
    name: "CarServiceUnitTest",

    srcs: ["src/**/*.java"],

    aaptflags: [
        "--extra-packages com.android.car",
        "--auto-add-overlay",
    ],

    platform_apis: true,

    certificate: "platform",

    optimize: {
        enabled: false,
    },

    instrumentation_for: "CarService",

    libs: [
        "android.car",
        "android.car.userlib",
        "android.car.watchdoglib",
        "android.test.runner",
        "android.test.base",
        "android.test.mock",
    ],

    static_libs: [
        "android.car.testapi",
        "android.car.test.utils",
        "androidx.test.core",
        "androidx.test.ext.junit",
        "androidx.test.rules",
        "car-service-test-static-lib",
        "com.android.car.internal.common",
        "com.android.car.internal.system",
        "com.android.car.test.lib",
        "compatibility-device-util-axt",
        "frameworks-base-testutils",
        "mockito-target-extended",
        "testng",
        "truth-prebuilt",
    ],

    test_suites: ["general-tests"],

    // mockito-target-inline dependency
    jni_libs: [
        "libdexmakerjvmtiagent",
        "libstaticjvmtiagent",
    ],
}
