//
// 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
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",
        "vts10",
    ],
}

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,
}
