//
// Copyright (C) 2013-2014 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

// -----------------------------------------------------------------------------
// Benchmarks.
// -----------------------------------------------------------------------------

// Build benchmarks for the device. Run with:
//   adb shell liblog-benchmarks
package {
    // A large-scale-change added 'default_applicable_licenses' to import
    // the below license kinds from "system_logging_liblog_license":
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["system_logging_liblog_license"],
}

cc_benchmark {
    name: "liblog-benchmarks",
    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
        "-fno-builtin",
    ],
    shared_libs: [
        "libm",
        "libbase",
        "libcutils",
    ],
    static_libs: ["liblog"],
    srcs: ["liblog_benchmark.cpp"],
}

// -----------------------------------------------------------------------------
// Unit tests.
// -----------------------------------------------------------------------------

cc_defaults {
    name: "liblog-tests-defaults",

    cflags: [
        "-fstack-protector-all",
        "-g",
        "-Wall",
        "-Wextra",
        "-Werror",
        "-fno-builtin",
    ],
    srcs: [
        "libc_test.cpp",
        "liblog_default_tag.cpp",
        "liblog_global_state.cpp",
        "liblog_test.cpp",
        "log_id_test.cpp",
        "log_radio_test.cpp",
        "log_read_test.cpp",
        "log_system_test.cpp",
        "log_time_test.cpp",
        "log_wrap_test.cpp",
        "logd_writer_test.cpp",
        "logprint_test.cpp",
    ],
    shared_libs: [
        "libcutils",
        "libbase",
    ],
    static_libs: ["liblog"],
    isolated: true,
    require_root: true,
}

// Build tests for the device (with .so). Run with:
//   adb shell /data/nativetest/liblog-unit-tests/liblog-unit-tests
cc_test {
    name: "liblog-unit-tests",
    defaults: ["liblog-tests-defaults"],
}

cc_test {
    name: "CtsLiblogTestCases",
    defaults: ["liblog-tests-defaults"],
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },

    cflags: ["-DNO_PSTORE"],
    test_suites: [
        "cts",
        "device-tests",
    ],
    test_config: "device_test_config.xml",
}

cc_test_host {
    name: "liblog-host-test",
    static_libs: ["liblog"],
    shared_libs: ["libbase"],
    srcs: [
        "liblog_host_test.cpp",
        "liblog_default_tag.cpp",
        "liblog_global_state.cpp",
    ],
    isolated: true,
}