// Build the unit tests.
package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_native_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_native_license"],
}

cc_test {
    name: "libinput_tests",
    srcs: [
        "IdGenerator_test.cpp",
        "InputChannel_test.cpp",
        "InputDevice_test.cpp",
        "InputEvent_test.cpp",
        "InputPublisherAndConsumer_test.cpp",
        "InputWindow_test.cpp",
        "LatencyStatistics_test.cpp",
        "TouchVideoFrame_test.cpp",
        "VelocityTracker_test.cpp",
        "VerifiedInputEvent_test.cpp",
    ],
    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],
    shared_libs: [
        "libinput",
        "libcutils",
        "libutils",
        "libbinder",
        "libui",
        "libbase",
    ]
}

// NOTE: This is a compile time test, and does not need to be
// run. All assertions are static_asserts and will fail during
// buildtime if something's wrong.
cc_library_static {
    name: "StructLayout_test",
    srcs: ["StructLayout_test.cpp"],
    cflags: [
        "-O0",
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    shared_libs: [
        "libinput",
        "libcutils",
        "libutils",
        "libbinder",
        "libui",
        "libbase",
    ]
}
