14e56987cSopenharmony_ci# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
24e56987cSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
34e56987cSopenharmony_ci# you may not use this file except in compliance with the License.
44e56987cSopenharmony_ci# You may obtain a copy of the License at
54e56987cSopenharmony_ci#
64e56987cSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
74e56987cSopenharmony_ci#
84e56987cSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
94e56987cSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
104e56987cSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
114e56987cSopenharmony_ci# See the License for the specific language governing permissions and
124e56987cSopenharmony_ci# limitations under the License.
134e56987cSopenharmony_ci
144e56987cSopenharmony_ciimport("//build/test.gni")
154e56987cSopenharmony_ciimport("../cert_manager.gni")
164e56987cSopenharmony_ci
174e56987cSopenharmony_cimodule_output_path = "cert_manager_standard/cert_manager_standard_test"
184e56987cSopenharmony_ci
194e56987cSopenharmony_ciohos_unittest("cm_sdk_test") {
204e56987cSopenharmony_ci  module_out_path = module_output_path
214e56987cSopenharmony_ci  sources = [
224e56987cSopenharmony_ci    "unittest/src/cm_abort_test.cpp",
234e56987cSopenharmony_ci    "unittest/src/cm_app_cert_test.cpp",
244e56987cSopenharmony_ci    "unittest/src/cm_finish_test.cpp",
254e56987cSopenharmony_ci    "unittest/src/cm_get_auth_list_test.cpp",
264e56987cSopenharmony_ci    "unittest/src/cm_get_certinfo_test.cpp",
274e56987cSopenharmony_ci    "unittest/src/cm_get_certlist_test.cpp",
284e56987cSopenharmony_ci    "unittest/src/cm_grant_test.cpp",
294e56987cSopenharmony_ci    "unittest/src/cm_init_test.cpp",
304e56987cSopenharmony_ci    "unittest/src/cm_is_authed_test.cpp",
314e56987cSopenharmony_ci    "unittest/src/cm_remove_grant_test.cpp",
324e56987cSopenharmony_ci    "unittest/src/cm_set_status_test.cpp",
334e56987cSopenharmony_ci    "unittest/src/cm_sys_app_cert_test.cpp",
344e56987cSopenharmony_ci    "unittest/src/cm_test_common.cpp",
354e56987cSopenharmony_ci    "unittest/src/cm_update_test.cpp",
364e56987cSopenharmony_ci    "unittest/src/cm_user_cert_test.cpp",
374e56987cSopenharmony_ci  ]
384e56987cSopenharmony_ci
394e56987cSopenharmony_ci  include_dirs = [ "unittest/include" ]
404e56987cSopenharmony_ci  cflags_cc = [
414e56987cSopenharmony_ci    "-Wall",
424e56987cSopenharmony_ci    "-Werror",
434e56987cSopenharmony_ci  ]
444e56987cSopenharmony_ci  cflags = cflags_cc
454e56987cSopenharmony_ci  branch_protector_ret = "pac_ret"
464e56987cSopenharmony_ci  sanitize = {
474e56987cSopenharmony_ci    cfi = true
484e56987cSopenharmony_ci    cfi_cross_dso = true
494e56987cSopenharmony_ci    boundary_sanitize = true
504e56987cSopenharmony_ci    debug = false
514e56987cSopenharmony_ci    integer_overflow = true
524e56987cSopenharmony_ci    ubsan = true
534e56987cSopenharmony_ci  }
544e56987cSopenharmony_ci
554e56987cSopenharmony_ci  deps = [
564e56987cSopenharmony_ci    "../frameworks/cert_manager_standard/main:cert_manager_standard_frameworks",
574e56987cSopenharmony_ci    "../interfaces/innerkits/cert_manager_standard/main:cert_manager_sdk",
584e56987cSopenharmony_ci  ]
594e56987cSopenharmony_ci  external_deps = [
604e56987cSopenharmony_ci    "access_token:libaccesstoken_sdk",
614e56987cSopenharmony_ci    "access_token:libnativetoken",
624e56987cSopenharmony_ci    "access_token:libtoken_setproc",
634e56987cSopenharmony_ci    "bounds_checking_function:libsec_static",
644e56987cSopenharmony_ci    "c_utils:utils",
654e56987cSopenharmony_ci    "googletest:gtest",
664e56987cSopenharmony_ci    "openssl:libcrypto_shared",
674e56987cSopenharmony_ci  ]
684e56987cSopenharmony_ci  resource_config_file = "./resource/certificate_manager/ohos_test.xml"
694e56987cSopenharmony_ci
704e56987cSopenharmony_ci  defines = []
714e56987cSopenharmony_ci  if (certificate_manager_deps_huks_enabled == "software") {
724e56987cSopenharmony_ci    defines += [ "DEPS_HKS_UNTRUSTED_RUNNING_ENV" ]
734e56987cSopenharmony_ci  }
744e56987cSopenharmony_ci}
754e56987cSopenharmony_ci
764e56987cSopenharmony_cigroup("unittest") {
774e56987cSopenharmony_ci  testonly = true
784e56987cSopenharmony_ci  deps = [ ":cm_sdk_test" ]
794e56987cSopenharmony_ci}
804e56987cSopenharmony_ci
814e56987cSopenharmony_cigroup("module_test") {
824e56987cSopenharmony_ci  testonly = true
834e56987cSopenharmony_ci  deps = [ "./unittest/module_test:cm_module_test" ]
844e56987cSopenharmony_ci}
854e56987cSopenharmony_ci
864e56987cSopenharmony_cigroup("permission_test") {
874e56987cSopenharmony_ci  testonly = true
884e56987cSopenharmony_ci  deps = [
894e56987cSopenharmony_ci    "./unittest/common_permission_test:cm_common_permission_test",
904e56987cSopenharmony_ci    "./unittest/inner_permission_test:cm_inner_permission_test",
914e56987cSopenharmony_ci  ]
924e56987cSopenharmony_ci}
934e56987cSopenharmony_ci
944e56987cSopenharmony_cigroup("multi_thread_test") {
954e56987cSopenharmony_ci  testonly = true
964e56987cSopenharmony_ci  deps = [ "./unittest/multi_thread_test:cm_multi_thread_test" ]
974e56987cSopenharmony_ci}
98