1c29fa5a6Sopenharmony_ci# Copyright (c) 2023-2024 Huawei Device Co., Ltd.
2c29fa5a6Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c29fa5a6Sopenharmony_ci# you may not use this file except in compliance with the License.
4c29fa5a6Sopenharmony_ci# You may obtain a copy of the License at
5c29fa5a6Sopenharmony_ci#
6c29fa5a6Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c29fa5a6Sopenharmony_ci#
8c29fa5a6Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c29fa5a6Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c29fa5a6Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c29fa5a6Sopenharmony_ci# See the License for the specific language governing permissions and
12c29fa5a6Sopenharmony_ci# limitations under the License.
13c29fa5a6Sopenharmony_ci
14c29fa5a6Sopenharmony_ciimport("//build/test.gni")
15c29fa5a6Sopenharmony_ciimport("../../../device_status.gni")
16c29fa5a6Sopenharmony_ci
17c29fa5a6Sopenharmony_ciconfig("intention_channel_public_config") {
18c29fa5a6Sopenharmony_ci  include_dirs = [ "include" ]
19c29fa5a6Sopenharmony_ci}
20c29fa5a6Sopenharmony_ci
21c29fa5a6Sopenharmony_ciohos_source_set("intention_channel") {
22c29fa5a6Sopenharmony_ci  sanitize = {
23c29fa5a6Sopenharmony_ci    integer_overflow = true
24c29fa5a6Sopenharmony_ci    ubsan = true
25c29fa5a6Sopenharmony_ci    boundary_sanitize = true
26c29fa5a6Sopenharmony_ci    cfi = true
27c29fa5a6Sopenharmony_ci    cfi_cross_dso = true
28c29fa5a6Sopenharmony_ci    debug = false
29c29fa5a6Sopenharmony_ci  }
30c29fa5a6Sopenharmony_ci
31c29fa5a6Sopenharmony_ci  branch_protector_ret = "pac_ret"
32c29fa5a6Sopenharmony_ci
33c29fa5a6Sopenharmony_ci  include_dirs = [ "include" ]
34c29fa5a6Sopenharmony_ci
35c29fa5a6Sopenharmony_ci  sources = []
36c29fa5a6Sopenharmony_ci
37c29fa5a6Sopenharmony_ci  public_configs = [ ":intention_channel_public_config" ]
38c29fa5a6Sopenharmony_ci
39c29fa5a6Sopenharmony_ci  subsystem_name = "${device_status_subsystem_name}"
40c29fa5a6Sopenharmony_ci  part_name = "${device_status_part_name}"
41c29fa5a6Sopenharmony_ci}
42c29fa5a6Sopenharmony_ci
43c29fa5a6Sopenharmony_ciohos_unittest("intention_channel_test") {
44c29fa5a6Sopenharmony_ci  module_out_path = "${device_status_part_name}/devicestatussrv"
45c29fa5a6Sopenharmony_ci
46c29fa5a6Sopenharmony_ci  sources = [ "test/channel_test.cpp" ]
47c29fa5a6Sopenharmony_ci
48c29fa5a6Sopenharmony_ci  cflags = [ "-Dprivate=public" ]
49c29fa5a6Sopenharmony_ci
50c29fa5a6Sopenharmony_ci  deps = [
51c29fa5a6Sopenharmony_ci    ":intention_channel",
52c29fa5a6Sopenharmony_ci    "${device_status_utils_path}:devicestatus_util",
53c29fa5a6Sopenharmony_ci  ]
54c29fa5a6Sopenharmony_ci
55c29fa5a6Sopenharmony_ci  external_deps = [
56c29fa5a6Sopenharmony_ci    "c_utils:utils",
57c29fa5a6Sopenharmony_ci    "hilog:libhilog",
58c29fa5a6Sopenharmony_ci  ]
59c29fa5a6Sopenharmony_ci}
60