1bae44755Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
2bae44755Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3bae44755Sopenharmony_ci# you may not use this file except in compliance with the License.
4bae44755Sopenharmony_ci# You may obtain a copy of the License at
5bae44755Sopenharmony_ci#
6bae44755Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7bae44755Sopenharmony_ci#
8bae44755Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9bae44755Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10bae44755Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11bae44755Sopenharmony_ci# See the License for the specific language governing permissions and
12bae44755Sopenharmony_ci# limitations under the License.
13bae44755Sopenharmony_ci
14bae44755Sopenharmony_ciimport("//build/lite/config/component/lite_component.gni")
15bae44755Sopenharmony_ciimport("../../../config.gni")
16bae44755Sopenharmony_ci
17bae44755Sopenharmony_ciif (defined(ohos_lite)) {
18bae44755Sopenharmony_ci  import("//build/lite/config/test.gni")
19bae44755Sopenharmony_ci
20bae44755Sopenharmony_ci  if (ohos_kernel_type != "liteos_m") {
21bae44755Sopenharmony_ci    test_output_root = "$root_out_dir/test/unittest/syscap_codec"
22bae44755Sopenharmony_ci
23bae44755Sopenharmony_ci    executable("test_syscap_napi_unittest") {
24bae44755Sopenharmony_ci      output_extension = "bin"
25bae44755Sopenharmony_ci      output_dir = test_output_root
26bae44755Sopenharmony_ci
27bae44755Sopenharmony_ci      include_dirs = [
28bae44755Sopenharmony_ci        "//third_party/node/src",
29bae44755Sopenharmony_ci        "../../../src/",
30bae44755Sopenharmony_ci        "../../../include/",
31bae44755Sopenharmony_ci        "../../../interfaces/inner_api/",
32bae44755Sopenharmony_ci        "include/",
33bae44755Sopenharmony_ci      ]
34bae44755Sopenharmony_ci      include_dirs += [ syscap_codec_config_path ]
35bae44755Sopenharmony_ci
36bae44755Sopenharmony_ci      cflags = [ "-g3" ]
37bae44755Sopenharmony_ci
38bae44755Sopenharmony_ci      sources = [
39bae44755Sopenharmony_ci        "../../../interfaces/inner_api/syscap_interface.c",
40bae44755Sopenharmony_ci        "../../../src/context_tool.c",
41bae44755Sopenharmony_ci        "../../../src/create_pcid.c",
42bae44755Sopenharmony_ci        "../../../src/endian_internal.c",
43bae44755Sopenharmony_ci        "../../../src/syscap_tool.c",
44bae44755Sopenharmony_ci        "../../../src/common_method.c",
45bae44755Sopenharmony_ci        "syscap_codec_test.cpp",
46bae44755Sopenharmony_ci      ]
47bae44755Sopenharmony_ci
48bae44755Sopenharmony_ci      defines = [ "NAPI_TEST" ]
49bae44755Sopenharmony_ci
50bae44755Sopenharmony_ci      deps = [
51bae44755Sopenharmony_ci        "//build/lite/config/component/cJSON:cjson_static",
52bae44755Sopenharmony_ci        "//test/testfwk/developer_test/third_party/lib/cpp:gtest_main",
53bae44755Sopenharmony_ci        "//third_party/bounds_checking_function:libsec_static",
54bae44755Sopenharmony_ci      ]
55bae44755Sopenharmony_ci    }
56bae44755Sopenharmony_ci  }
57bae44755Sopenharmony_ci
58bae44755Sopenharmony_ci  group("unittest") {
59bae44755Sopenharmony_ci    if (ohos_kernel_type != "liteos_m") {
60bae44755Sopenharmony_ci      deps = [ ":test_syscap_napi_unittest" ]
61bae44755Sopenharmony_ci    }
62bae44755Sopenharmony_ci  }
63bae44755Sopenharmony_ci} else {
64bae44755Sopenharmony_ci  import("//build/ohos.gni")
65bae44755Sopenharmony_ci  import("//build/test.gni")
66bae44755Sopenharmony_ci
67bae44755Sopenharmony_ci  module_output_path = "developtools/syscap_codec"
68bae44755Sopenharmony_ci
69bae44755Sopenharmony_ci  ohos_unittest("syscap_codec_test") {
70bae44755Sopenharmony_ci    module_out_path = module_output_path
71bae44755Sopenharmony_ci
72bae44755Sopenharmony_ci    include_dirs = [
73bae44755Sopenharmony_ci      "../../../src",
74bae44755Sopenharmony_ci      "../../../include",
75bae44755Sopenharmony_ci      "../../../interfaces/inner_api",
76bae44755Sopenharmony_ci      "../../../test/unittest/common/include",
77bae44755Sopenharmony_ci    ]
78bae44755Sopenharmony_ci    include_dirs += [ syscap_codec_config_path ]
79bae44755Sopenharmony_ci
80bae44755Sopenharmony_ci    sources = [
81bae44755Sopenharmony_ci      "../../../interfaces/inner_api/syscap_interface.c",
82bae44755Sopenharmony_ci      "../../../src/context_tool.c",
83bae44755Sopenharmony_ci      "../../../src/create_pcid.c",
84bae44755Sopenharmony_ci      "../../../src/endian_internal.c",
85bae44755Sopenharmony_ci      "../../../src/syscap_tool.c",
86bae44755Sopenharmony_ci      "../../../src/common_method.c",
87bae44755Sopenharmony_ci      "syscap_codec_test.cpp",
88bae44755Sopenharmony_ci    ]
89bae44755Sopenharmony_ci
90bae44755Sopenharmony_ci    external_deps = [
91bae44755Sopenharmony_ci      "bounds_checking_function:libsec_static",
92bae44755Sopenharmony_ci      "cJSON:cjson_static",
93bae44755Sopenharmony_ci      "googletest:gtest_main",
94bae44755Sopenharmony_ci    ]
95bae44755Sopenharmony_ci  }
96bae44755Sopenharmony_ci
97bae44755Sopenharmony_ci  group("unittest") {
98bae44755Sopenharmony_ci    testonly = true
99bae44755Sopenharmony_ci    deps = [ ":syscap_codec_test" ]
100bae44755Sopenharmony_ci  }
101bae44755Sopenharmony_ci}
102