• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//base/update/updater/updater_default_cfg.gni")
15import("//build/test.gni")
16
17module_output_path = "updater/updater_test"
18
19config("utest_config") {
20  visibility = [ ":*" ]
21
22  cflags = [
23    "--coverage",
24    "-fprofile-arcs",
25    "-Wno-implicit-fallthrough",
26    "-Wno-unused-function",
27  ]
28  cflags_cc = [
29    "-Wno-implicit-fallthrough",
30    "-fexceptions",
31  ]
32
33  ldflags = [ "--coverage" ]
34
35  defines = [
36    "UPDATER_UT",
37    "BUILD_OHOS",
38    "HDC_DEBUG",
39    "HDC_SUPPORT_FLASHD",
40    "HARMONY_PROJECT",
41  ]
42}
43
44ohos_unittest("updater_unittest") {
45  testonly = true
46  resource_config_file =
47      "//base/update/updater/test/unittest/test_data/ohos_test.xml"
48  module_out_path = module_output_path
49  sources = [
50    "diffpatch/bzip2_unittest.cpp",
51    "diffpatch/diffpatch_unittest.cpp",
52    "log_test/log_unittest.cpp",
53    "misc_info_test/misc_info_unittest.cpp",
54    "updaterkits_test/updaterkits_unittest.cpp",
55  ]
56
57  sources += [
58    "$root_out_dir/updater/updater/yacc/lexer.cpp",
59    "$root_out_dir/updater/updater/yacc/parser.cpp",
60    "//base/update/updater/interfaces/kits/misc_info/misc_info.cpp",
61    "//base/update/updater/interfaces/kits/packages/package.cpp",
62    "//base/update/updater/interfaces/kits/updaterkits/updaterkits.cpp",
63    "//base/update/updater/services/diffpatch/bzip2/bzip2_adapter.cpp",
64    "//base/update/updater/services/diffpatch/bzip2/lz4_adapter.cpp",
65    "//base/update/updater/services/diffpatch/bzip2/zip_adapter.cpp",
66    "//base/update/updater/services/diffpatch/diff/blocks_diff.cpp",
67    "//base/update/updater/services/diffpatch/diff/image_diff.cpp",
68    "//base/update/updater/services/diffpatch/diff/update_diff.cpp",
69    "//base/update/updater/services/diffpatch/diffpatch.cpp",
70    "//base/update/updater/services/diffpatch/patch/blocks_patch.cpp",
71    "//base/update/updater/services/diffpatch/patch/image_patch.cpp",
72    "//base/update/updater/services/diffpatch/patch/update_patch.cpp",
73    "//base/update/updater/services/log/log.cpp",
74    "//base/update/updater/services/package/pkg_algorithm/pkg_algo_deflate.cpp",
75    "//base/update/updater/services/package/pkg_algorithm/pkg_algo_digest.cpp",
76    "//base/update/updater/services/package/pkg_algorithm/pkg_algo_lz4.cpp",
77    "//base/update/updater/services/package/pkg_algorithm/pkg_algo_sign.cpp",
78    "//base/update/updater/services/package/pkg_algorithm/pkg_algorithm.cpp",
79    "//base/update/updater/services/package/pkg_manager/pkg_managerImpl.cpp",
80    "//base/update/updater/services/package/pkg_manager/pkg_stream.cpp",
81    "//base/update/updater/services/package/pkg_manager/pkg_utils.cpp",
82    "//base/update/updater/services/package/pkg_package/pkg_gzipfile.cpp",
83    "//base/update/updater/services/package/pkg_package/pkg_lz4file.cpp",
84    "//base/update/updater/services/package/pkg_package/pkg_pkgfile.cpp",
85    "//base/update/updater/services/package/pkg_package/pkg_upgradefile.cpp",
86    "//base/update/updater/services/package/pkg_package/pkg_zipfile.cpp",
87    "//base/update/updater/services/script/script_instruction/script_basicinstruction.cpp",
88    "//base/update/updater/services/script/script_instruction/script_instructionhelper.cpp",
89    "//base/update/updater/services/script/script_instruction/script_loadscript.cpp",
90    "//base/update/updater/services/script/script_instruction/script_registercmd.cpp",
91    "//base/update/updater/services/script/script_instruction/script_updateprocesser.cpp",
92    "//base/update/updater/services/script/script_interpreter/script_context.cpp",
93    "//base/update/updater/services/script/script_interpreter/script_expression.cpp",
94    "//base/update/updater/services/script/script_interpreter/script_function.cpp",
95    "//base/update/updater/services/script/script_interpreter/script_interpreter.cpp",
96    "//base/update/updater/services/script/script_interpreter/script_param.cpp",
97    "//base/update/updater/services/script/script_interpreter/script_scanner.cpp",
98    "//base/update/updater/services/script/script_interpreter/script_statement.cpp",
99    "//base/update/updater/services/script/script_manager/script_managerImpl.cpp",
100    "//base/update/updater/services/script/script_manager/script_utils.cpp",
101    "//base/update/updater/services/script/threadpool/threadpool.cpp",
102    "//base/update/updater/services/updater_utils.cpp",
103    "//base/update/updater/utils/utils.cpp",
104  ]
105
106  include_dirs = [
107    "//base/update/updater/interfaces/kits/include/",
108    "//base/update/updater/interfaces/kits/include/package",
109    "//base/update/updater/services/include/",
110    "//base/update/updater/utils/include/",
111    "//base/update/updater/utils/json/",
112    "//base/update/updater/services/",
113    "//base/update/updater/services/include/package",
114    "//base/update/updater/services/include/script",
115    "//base/update/updater/services/include/log",
116    "//base/update/updater/services/include/patch",
117    "//base/update/updater/services/include/updater",
118    "//base/update/updater/services/script/script_instruction",
119    "//base/update/updater/services/script/script_interpreter",
120    "//base/update/updater/services/script/script_manager",
121    "//base/update/updater/services/script/threadpool",
122    "$root_out_dir/updater/updater/yacc",
123    "//base/update/updater/services/package/pkg_algorithm",
124    "//base/update/updater/services/package/pkg_manager",
125    "//base/update/updater/services/package/pkg_package",
126    "//base/update/updater/services/package/pkg_verify",
127    "//base/update/updater/services/include/fs_manager",
128    "//base/update/updater/services/fs_manager",
129    "//base/update/updater/services/applypatch",
130    "//base/update/updater/services/diffpatch",
131    "//base/update/updater/services/diffpatch/diff",
132    "//base/update/updater/services/diffpatch/patch",
133    "//base/update/updater/services/diffpatch/bzip2",
134    "//base/update/updater/services/ui",
135    "//base/update/updater/test/unittest",
136    "//developtools/hdc/src/common",
137    "//developtools/hdc/src/host",
138    "//developtools/hdc/src/daemon",
139    "//third_party/zlib",
140    "//third_party/lz4/lib",
141    "//third_party/bounds_checking_function/include",
142    "//foundation/arkui/napi/interfaces/kits",
143    "//third_party/cJSON",
144    "//third_party/curl/include",
145    "//third_party/openssl/include",
146    "//third_party/bzip2",
147    "//third_party/libdrm/include/drm",
148    "//third_party/libdrm",
149    "//third_party/googletest/googletest/include",
150    "//drivers/framework/ability/sbuf/include",
151    "//drivers/framework/include/platform",
152    "//drivers/framework/include/core",
153    "//drivers/framework/include/osal",
154    "//drivers/framework/include/utils",
155    "//drivers/framework/include/config",
156    "//drivers/framework/include",
157    "//drivers/peripheral/input/hal/include",
158    "//drivers/peripheral/input/interfaces/include",
159    "//drivers/peripheral/partitionslot/hal/include",
160    "//third_party/bounds_checking_function/include",
161  ]
162  deps = [
163    "//base/update/updater/interfaces/kits/misc_info:libmiscinfo",
164    "//base/update/updater/services/applypatch:libapplypatch",
165    "//base/update/updater/services/diffpatch/diff:libdiff",
166    "//base/update/updater/services/diffpatch/patch:libpatch",
167    "//base/update/updater/services/fs_manager:libfsmanager",
168    "//base/update/updater/services/log:libupdaterlog",
169    "//base/update/updater/services/package:libupdaterpackage",
170    "//base/update/updater/services/ui:libui",
171    "//base/update/updater/utils:libutils",
172    "//third_party/bounds_checking_function:libsec_static",
173    "//third_party/bzip2:libbz2",
174    "//third_party/cJSON:cjson",
175    "//third_party/googletest:gmock_main",
176    "//third_party/googletest:gtest_main",
177    "//third_party/libuv:uv",
178    "//third_party/lz4:liblz4_static",
179    "//third_party/openssl:libcrypto_static",
180    "//third_party/openssl:ssl_source",
181    "//third_party/zlib:libz",
182  ]
183
184  deps += [
185    "//base/update/updater/services/script:gen_yacc",
186    "//base/update/updater/test/unittest:test_update_binary",
187    "//base/update/updater/test/unittest:test_update_binary_abnormal",
188  ]
189
190  external_deps += [ "init:libbegetutil" ]
191
192  public_configs = [ ":utest_config" ]
193  install_enable = true
194  part_name = "updater"
195}
196
197ohos_executable("test_update_binary") {
198  sources = [ "updater_test/test_update_binary.cpp" ]
199  install_enable = true
200  part_name = "updater"
201  subsystem_name = "updater"
202}
203
204ohos_executable("test_update_binary_abnormal") {
205  sources = [ "updater_test/test_update_binary_abnormal.cpp" ]
206  install_enable = true
207  part_name = "updater"
208  subsystem_name = "updater"
209}
210