1#
2# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15
16import("//base/security/huks/build/config.gni")
17import("//base/security/huks/huks.gni")
18import("//build/lite/config/component/lite_component.gni")
19import("//build/lite/config/test.gni")
20
21unittest("huks_3.0_test") {
22  output_extension = "bin"
23
24  if (!hks_enable_test) {
25    output_dir = "$root_out_dir/test/unittest/security/"
26  }
27
28  defines = [ "_HUKS_LOG_ENABLE_" ]
29
30  sources = [
31    "//base/security/huks/test/unittest/huks_common_test/src/hks_modify_key_test_func.cpp",
32    "//base/security/huks/test/unittest/huks_common_test/src/hks_test_adapt_for_de.c",
33    "hks_aes_test.cpp",
34    "hks_agreement_test.cpp",
35    "hks_bn_exp_mod_test.cpp",
36    "hks_cipher_test.cpp",
37    "hks_curve25519_test.cpp",
38    "hks_delete_test.cpp",
39    "hks_derive_test.cpp",
40    "hks_exist_test.cpp",
41    "hks_generate_key_test.cpp",
42    "hks_generate_random_test.cpp",
43    "hks_hash_test.cpp",
44    "hks_mac_test.cpp",
45    "hks_others_test.cpp",
46  ]
47  if (hks_enable_test) {
48    if (huks_enable_upgrade_small_to_service) {
49      sources += [ "//base/security/huks/test/unittest/huks_lite_test/liteos_a_adapter/upgrade_test/version_one/hks_compatibility_test.cpp" ]
50    }
51    if (huks_enable_upgrade_rkc_v1tov2) {
52      sources += [ "//base/security/huks/test/unittest/huks_lite_test/liteos_a_adapter/upgrade_test/version_two/hks_upgrade_rkc_test.cpp" ]
53    }
54  }
55
56  sources += [
57    "//base/security/huks/frameworks/huks_standard/main/os_dependency/posix/hks_mem.c",
58    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_ed25519_sign_verify_test.cpp",
59    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_cipher_part2_test.cpp",
60    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_cipher_part3_test.cpp",
61    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_cipher_part4_test.cpp",
62    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_cipher_part5_test.cpp",
63    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_cipher_test_common.cpp",
64    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_sign_verify_part3_test.cpp",
65    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_sign_verify_part4_test.cpp",
66    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_sign_verify_part5_test.cpp",
67    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_sign_verify_part6_test.cpp",
68    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_sign_verify_part7_test.cpp",
69    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_sign_verify_part8_test.cpp",
70    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/asymmetric_alg_test/hks_rsa_sign_verify_test_common.cpp",
71    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_agree_test_common.cpp",
72    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_hkdf_derive_part1_test.cpp",
73    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_hkdf_derive_part2_test.cpp",
74    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_hkdf_derive_test_common.cpp",
75    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_hmac_test.cpp",
76    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_pbkdf2_derive_part1_test.cpp",
77    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_pbkdf2_derive_part2_test.cpp",
78    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_pbkdf2_derive_test_common.cpp",
79    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_three_stage_test_common.c",
80    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/hks_x25519_agree_test.cpp",
81    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/symmetric_alg_test/hks_aes_cipher_part1_test.cpp",
82    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/symmetric_alg_test/hks_aes_cipher_part2_test.cpp",
83    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/symmetric_alg_test/hks_aes_cipher_part3_test.cpp",
84    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/symmetric_alg_test/hks_aes_cipher_part4_test.cpp",
85    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/src/symmetric_alg_test/hks_aes_cipher_test_common.cpp",
86  ]
87
88  include_dirs = [
89    "//base/security/huks/interfaces/inner_api/huks_lite",
90    "//base/security/huks/huawei_property/include",
91    "../common/include",
92    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/include",
93    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/include/asymmetric_alg_test",
94    "//base/security/huks/test/unittest/huks_standard_test/three_stage_test/include/symmetric_alg_test",
95    "//base/security/huks/frameworks/huks_standard/main/common/include",
96    "//base/security/huks/interfaces/inner_api/huks_standard/main/include",
97    "//base/security/huks/test/unittest/huks_common_test/include",
98  ]
99
100  include_dirs += [ "./include" ]
101
102  if (huks_enable_upgrade_rkc_v1tov2) {
103    include_dirs += [
104      "../../../../frameworks/huks_standard/main/os_dependency/sysinfo/include",
105      "../../../../frameworks/huks_standard/main/crypto_engine/mbedtls/include",
106      "../../../../frameworks/huks_standard/main/crypto_engine/mbedtls/src",
107    ]
108  }
109
110  deps = [
111    "../../../../frameworks/huks_standard/main/crypto_engine/mbedtls:libhuks_mbedtls_small_static",
112    "//base/security/huks/frameworks/huks_standard/main/crypto_engine:libhuks_crypto_engine_small_static",
113    "//base/security/huks/interfaces/inner_api/huks_lite:huks_3.0_sdk",
114    "//base/security/huks/test/unittest/huks_lite_test/common:huks_3.0_test_common",
115  ]
116
117  deps += [ "//third_party/mbedtls:mbedtls_shared" ]
118
119  deps += [ "//base/security/huks/test/unittest/modify_old_version_key_test_util:huks_modify_old_version_key_util" ]
120
121  external_deps = [ "hilog_lite:hilog_shared" ]
122
123  cflags = [
124    "-Wall",
125    "-Werror",
126  ]
127
128  if (huks_config_file != "") {
129    print(huks_config_file)
130    cflags += [ "-DHKS_CONFIG_FILE=\"${huks_config_file}\"" ]
131  }
132
133  if (disable_authenticate == true) {
134    defines += [ "_CUT_AUTHENTICATE_" ]
135  }
136}
137
138group("unittest") {
139  deps = [ ":huks_3.0_test" ]
140}
141