1fb726d48Sopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
2fb726d48Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fb726d48Sopenharmony_ci# you may not use this file except in compliance with the License.
4fb726d48Sopenharmony_ci# You may obtain a copy of the License at
5fb726d48Sopenharmony_ci#
6fb726d48Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fb726d48Sopenharmony_ci#
8fb726d48Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fb726d48Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fb726d48Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fb726d48Sopenharmony_ci# See the License for the specific language governing permissions and
12fb726d48Sopenharmony_ci# limitations under the License.
13fb726d48Sopenharmony_ci
14fb726d48Sopenharmony_ciimport("//build/ohos.gni")
15fb726d48Sopenharmony_ciimport("//build/test.gni")
16fb726d48Sopenharmony_ciimport("../ts.gni")
17fb726d48Sopenharmony_ci
18fb726d48Sopenharmony_ciif (target == "sdkdemotest") {
19fb726d48Sopenharmony_ci  ohos_unittest("trace_streamer_sdk_ut") {
20fb726d48Sopenharmony_ci    sources = [ "unittest/sdk_api_test.cpp" ]
21fb726d48Sopenharmony_ci    deps = [
22fb726d48Sopenharmony_ci      "${THIRD_PARTY}/googletest:gtest",
23fb726d48Sopenharmony_ci      "${THIRD_PARTY}/googletest:gtest_main",
24fb726d48Sopenharmony_ci      "${THIRD_PARTY}/protobuf:protobuf_lite_static",
25fb726d48Sopenharmony_ci      "${THIRD_PARTY}/protobuf:protobuf_static",
26fb726d48Sopenharmony_ci      "${THIRD_PARTY}/sqlite:sqlite",
27fb726d48Sopenharmony_ci      "../:trace_streamer_sdk",
28fb726d48Sopenharmony_ci    ]
29fb726d48Sopenharmony_ci    include_dirs = [
30fb726d48Sopenharmony_ci      "${SRC}/base",
31fb726d48Sopenharmony_ci      "../sdk",
32fb726d48Sopenharmony_ci      "..",
33fb726d48Sopenharmony_ci      "../trace_streamer",
34fb726d48Sopenharmony_ci      "../filter",
35fb726d48Sopenharmony_ci      "../table",
36fb726d48Sopenharmony_ci      "../trace_data",
37fb726d48Sopenharmony_ci      "../include",
38fb726d48Sopenharmony_ci      "../plugin",
39fb726d48Sopenharmony_ci      "../rpc",
40fb726d48Sopenharmony_ci      "./",
41fb726d48Sopenharmony_ci      "../parser",
42fb726d48Sopenharmony_ci      "../cfg",
43fb726d48Sopenharmony_ci      "${THIRD_PARTY}/sqlite/include",
44fb726d48Sopenharmony_ci      "${OHOS_PROTO_GEN}",
45fb726d48Sopenharmony_ci      "${OHOS_PROTO_GEN}/types/plugins/mock_data",
46fb726d48Sopenharmony_ci      "${THIRD_PARTY}/googletest/googletest/include/gtest",
47fb726d48Sopenharmony_ci      "${THIRD_PARTY}/protobuf/src",
48fb726d48Sopenharmony_ci      "${THIRD_PARTY}/json/single_include/nlohmann",
49fb726d48Sopenharmony_ci    ]
50fb726d48Sopenharmony_ci    cflags = [
51fb726d48Sopenharmony_ci      "-Wno-inconsistent-missing-override",
52fb726d48Sopenharmony_ci      "-Dprivate=public",  #allow test code access private members
53fb726d48Sopenharmony_ci      "-fprofile-arcs",
54fb726d48Sopenharmony_ci      "-ftest-coverage",
55fb726d48Sopenharmony_ci      "-Wno-unused-command-line-argument",
56fb726d48Sopenharmony_ci      "-Wno-format",
57fb726d48Sopenharmony_ci      "-Wno-unused-const-variable",
58fb726d48Sopenharmony_ci      "-Wno-unused-variable",
59fb726d48Sopenharmony_ci      "-Wno-used-but-marked-unused",
60fb726d48Sopenharmony_ci    ]
61fb726d48Sopenharmony_ci    ldflags = [
62fb726d48Sopenharmony_ci      "-fprofile-arcs",
63fb726d48Sopenharmony_ci      "-ftest-coverage",
64fb726d48Sopenharmony_ci      "--coverage",
65fb726d48Sopenharmony_ci    ]
66fb726d48Sopenharmony_ci    cflags += [
67fb726d48Sopenharmony_ci      # clang coverage options:
68fb726d48Sopenharmony_ci      "--coverage",
69fb726d48Sopenharmony_ci      "-mllvm",
70fb726d48Sopenharmony_ci      "-limited-coverage-experimental=true",
71fb726d48Sopenharmony_ci      "-fno-use-cxa-atexit",
72fb726d48Sopenharmony_ci      "-DIS_UT",
73fb726d48Sopenharmony_ci    ]
74fb726d48Sopenharmony_ci    if (is_mac) {
75fb726d48Sopenharmony_ci      lib_dirs = [ "/usr/local/opt/llvm/lib" ]
76fb726d48Sopenharmony_ci    }
77fb726d48Sopenharmony_ci    libs = [ "LLVMCore" ]
78fb726d48Sopenharmony_ci  }
79fb726d48Sopenharmony_ci}
80fb726d48Sopenharmony_ci
81fb726d48Sopenharmony_ci# this is the dest for ohos.build
82fb726d48Sopenharmony_ciif (target == "sdkdemotest") {
83fb726d48Sopenharmony_ci  group("sdkunittest") {
84fb726d48Sopenharmony_ci    testonly = true
85fb726d48Sopenharmony_ci    deps = [ ":trace_streamer_sdk_ut" ]
86fb726d48Sopenharmony_ci  }
87fb726d48Sopenharmony_ci}
88