/*
 * Copyright (C) 2019 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.
 */

cc_test {
    name: "extractorTest",
    gtest: true,
    defaults: [
        "libmediabenchmark_common-defaults",
        "libmediabenchmark_soft_sanitize_all-defaults",
    ],

    srcs: ["ExtractorTest.cpp"],

    static_libs: ["libmediabenchmark_extractor"]
}

cc_test {
    name: "decoderTest",
    gtest: true,
    defaults: [
        "libmediabenchmark_common-defaults",
        "libmediabenchmark_soft_sanitize_all-defaults",
    ],

    srcs: ["DecoderTest.cpp"],

    static_libs: [
        "libmediabenchmark_extractor",
        "libmediabenchmark_decoder",
    ],
}

cc_test {
    name: "muxerTest",
    gtest: true,
    defaults: [
        "libmediabenchmark_common-defaults",
        "libmediabenchmark_soft_sanitize_all-defaults",
    ],

    srcs: ["MuxerTest.cpp"],

    static_libs: [
        "libmediabenchmark_extractor",
        "libmediabenchmark_muxer",
    ],
}

cc_test {
    name: "encoderTest",
    gtest: true,
    defaults: [
        "libmediabenchmark_common-defaults",
        "libmediabenchmark_soft_sanitize_all-defaults",
    ],

    srcs: ["EncoderTest.cpp"],

    static_libs: [
        "libmediabenchmark_extractor",
        "libmediabenchmark_decoder",
        "libmediabenchmark_encoder",
    ],
}
