17c804472Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
27c804472Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
37c804472Sopenharmony_ci# you may not use this file except in compliance with the License.
47c804472Sopenharmony_ci# You may obtain a copy of the License at
57c804472Sopenharmony_ci#
67c804472Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
77c804472Sopenharmony_ci#
87c804472Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
97c804472Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
107c804472Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
117c804472Sopenharmony_ci# See the License for the specific language governing permissions and
127c804472Sopenharmony_ci# limitations under the License.
137c804472Sopenharmony_ci
147c804472Sopenharmony_ciimport("../../test.gni")
157c804472Sopenharmony_ci
167c804472Sopenharmony_cimodule_output_path = "previewer/cli"
177c804472Sopenharmony_ci
187c804472Sopenharmony_cigroup("command_parse_fuzztest") {
197c804472Sopenharmony_ci  testonly = true
207c804472Sopenharmony_ci  deps = [
217c804472Sopenharmony_ci    ":CommonCommandParseFuzzTest",
227c804472Sopenharmony_ci    ":LiteCommandParseFuzzTest",
237c804472Sopenharmony_ci    ":RichCommandParseFuzzTest",
247c804472Sopenharmony_ci  ]
257c804472Sopenharmony_ci}
267c804472Sopenharmony_ci
277c804472Sopenharmony_ciide_fuzztest("RichCommandParseFuzzTest") {
287c804472Sopenharmony_ci  testonly = true
297c804472Sopenharmony_ci  part_name = "previewer"
307c804472Sopenharmony_ci  subsystem_name = "ide"
317c804472Sopenharmony_ci  module_out_path = module_output_path
327c804472Sopenharmony_ci  output_name = "RichCommandParseFuzzTest"
337c804472Sopenharmony_ci  include_dirs = [
347c804472Sopenharmony_ci    "../",
357c804472Sopenharmony_ci    "$ide_previewer_path/test/mock",
367c804472Sopenharmony_ci    "$ide_previewer_path/cli",
377c804472Sopenharmony_ci    "$ide_previewer_path/util",
387c804472Sopenharmony_ci    "//third_party/libwebsockets/include",
397c804472Sopenharmony_ci    "//third_party/cJSON",
407c804472Sopenharmony_ci    "//third_party/bounds_checking_function/include",
417c804472Sopenharmony_ci  ]
427c804472Sopenharmony_ci  include_dirs += graphic_2d_include_path
437c804472Sopenharmony_ci  include_dirs += window_manager_include_path
447c804472Sopenharmony_ci  include_dirs += ability_runtime_include_path
457c804472Sopenharmony_ci  include_dirs += ace_engine_include_path
467c804472Sopenharmony_ci  include_dirs += [
477c804472Sopenharmony_ci    "$ide_previewer_path/jsapp",
487c804472Sopenharmony_ci    "$ide_previewer_path/jsapp/rich",
497c804472Sopenharmony_ci    "$ide_previewer_path/mock",
507c804472Sopenharmony_ci    "$ide_previewer_path/mock/rich",
517c804472Sopenharmony_ci  ]
527c804472Sopenharmony_ci  sources = [
537c804472Sopenharmony_ci    "$graphic_2d_path/rosen/modules/platform/utils/refbase.cpp",
547c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLine.cpp",
557c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLineFactory.cpp",
567c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLineInterface.cpp",
577c804472Sopenharmony_ci    "$ide_previewer_path/mock/KeyInput.cpp",
587c804472Sopenharmony_ci    "$ide_previewer_path/mock/MouseInput.cpp",
597c804472Sopenharmony_ci    "$ide_previewer_path/mock/MouseWheel.cpp",
607c804472Sopenharmony_ci    "$ide_previewer_path/mock/VirtualMessage.cpp",
617c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/MockGlobalResult.cpp",
627c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/ability/MockSimulator.cpp",
637c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/arkui/MockAceAbility.cpp",
647c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/jsapp/MockJsApp.cpp",
657c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/jsapp/MockJsAppImpl.cpp",
667c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockKeyInputImpl.cpp",
677c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockMouseInputImpl.cpp",
687c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockMouseWheelImpl.cpp",
697c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualMessageImpl.cpp",
707c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualScreen.cpp",
717c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualScreenImpl.cpp",
727c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/util/MockLocalSocket.cpp",
737c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/util/MockWebSocketServer.cpp",
747c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/window/MockWindowDisplay.cpp",
757c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/window/MockWindowModel.cpp",
767c804472Sopenharmony_ci    "$ide_previewer_path/util/CallbackQueue.cpp",
777c804472Sopenharmony_ci    "$ide_previewer_path/util/CommandParser.cpp",
787c804472Sopenharmony_ci    "$ide_previewer_path/util/CppTimer.cpp",
797c804472Sopenharmony_ci    "$ide_previewer_path/util/CppTimerManager.cpp",
807c804472Sopenharmony_ci    "$ide_previewer_path/util/FileSystem.cpp",
817c804472Sopenharmony_ci    "$ide_previewer_path/util/Interrupter.cpp",
827c804472Sopenharmony_ci    "$ide_previewer_path/util/JsonReader.cpp",
837c804472Sopenharmony_ci    "$ide_previewer_path/util/PreviewerEngineLog.cpp",
847c804472Sopenharmony_ci    "$ide_previewer_path/util/SharedDataManager.cpp",
857c804472Sopenharmony_ci    "$ide_previewer_path/util/TimeTool.cpp",
867c804472Sopenharmony_ci    "$ide_previewer_path/util/TraceTool.cpp",
877c804472Sopenharmony_ci    "$ide_previewer_path/util/unix/LocalDate.cpp",
887c804472Sopenharmony_ci    "$ide_previewer_path/util/unix/NativeFileSystem.cpp",
897c804472Sopenharmony_ci  ]
907c804472Sopenharmony_ci  sources += [
917c804472Sopenharmony_ci    "../ChangeJsonUtil.cpp",
927c804472Sopenharmony_ci    "../main.cpp",
937c804472Sopenharmony_ci    "CommandParse.cpp",
947c804472Sopenharmony_ci    "RichCommandParseFuzzer.cpp",
957c804472Sopenharmony_ci  ]
967c804472Sopenharmony_ci  deps = [
977c804472Sopenharmony_ci    "//third_party/bounds_checking_function:libsec_static",
987c804472Sopenharmony_ci    "//third_party/cJSON:cjson_static",
997c804472Sopenharmony_ci  ]
1007c804472Sopenharmony_ci  libs = []
1017c804472Sopenharmony_ci  cflags = [ "-Wno-error=overflow" ]
1027c804472Sopenharmony_ci  cflags_cc = [ "-Wno-error=overflow" ]
1037c804472Sopenharmony_ci  ldflags = [ "-Wno-error=overflow" ]
1047c804472Sopenharmony_ci}
1057c804472Sopenharmony_ci
1067c804472Sopenharmony_ciide_fuzztest("LiteCommandParseFuzzTest") {
1077c804472Sopenharmony_ci  testonly = true
1087c804472Sopenharmony_ci  part_name = "previewer"
1097c804472Sopenharmony_ci  subsystem_name = "ide"
1107c804472Sopenharmony_ci  module_out_path = module_output_path
1117c804472Sopenharmony_ci  output_name = "LiteCommandParseFuzzTest"
1127c804472Sopenharmony_ci  include_dirs = [
1137c804472Sopenharmony_ci    "../",
1147c804472Sopenharmony_ci    "$ide_previewer_path/test/mock",
1157c804472Sopenharmony_ci    "$ide_previewer_path/cli",
1167c804472Sopenharmony_ci    "$ide_previewer_path/util",
1177c804472Sopenharmony_ci    "//third_party/libwebsockets/include",
1187c804472Sopenharmony_ci    "//third_party/cJSON",
1197c804472Sopenharmony_ci    "//third_party/bounds_checking_function/include",
1207c804472Sopenharmony_ci  ]
1217c804472Sopenharmony_ci  include_dirs += graphic_2d_include_path
1227c804472Sopenharmony_ci  include_dirs += window_manager_include_path
1237c804472Sopenharmony_ci  include_dirs += ability_runtime_include_path
1247c804472Sopenharmony_ci  include_dirs += ace_engine_include_path
1257c804472Sopenharmony_ci  include_dirs += [
1267c804472Sopenharmony_ci    "$ide_previewer_path/jsapp",
1277c804472Sopenharmony_ci    "$ide_previewer_path/jsapp/rich",
1287c804472Sopenharmony_ci    "$ide_previewer_path/mock",
1297c804472Sopenharmony_ci    "$ide_previewer_path/mock/rich",
1307c804472Sopenharmony_ci  ]
1317c804472Sopenharmony_ci  sources = [
1327c804472Sopenharmony_ci    "$graphic_2d_path/rosen/modules/platform/utils/refbase.cpp",
1337c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLine.cpp",
1347c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLineFactory.cpp",
1357c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLineInterface.cpp",
1367c804472Sopenharmony_ci    "$ide_previewer_path/mock/KeyInput.cpp",
1377c804472Sopenharmony_ci    "$ide_previewer_path/mock/MouseInput.cpp",
1387c804472Sopenharmony_ci    "$ide_previewer_path/mock/MouseWheel.cpp",
1397c804472Sopenharmony_ci    "$ide_previewer_path/mock/VirtualMessage.cpp",
1407c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/MockGlobalResult.cpp",
1417c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/ability/MockSimulator.cpp",
1427c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/arkui/MockAceAbility.cpp",
1437c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/jsapp/MockJsApp.cpp",
1447c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/jsapp/MockJsAppImpl.cpp",
1457c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockKeyInputImpl.cpp",
1467c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockMouseInputImpl.cpp",
1477c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockMouseWheelImpl.cpp",
1487c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualMessageImpl.cpp",
1497c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualScreen.cpp",
1507c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualScreenImpl.cpp",
1517c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/util/MockLocalSocket.cpp",
1527c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/util/MockWebSocketServer.cpp",
1537c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/window/MockWindowDisplay.cpp",
1547c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/window/MockWindowModel.cpp",
1557c804472Sopenharmony_ci    "$ide_previewer_path/util/CallbackQueue.cpp",
1567c804472Sopenharmony_ci    "$ide_previewer_path/util/CommandParser.cpp",
1577c804472Sopenharmony_ci    "$ide_previewer_path/util/CppTimer.cpp",
1587c804472Sopenharmony_ci    "$ide_previewer_path/util/CppTimerManager.cpp",
1597c804472Sopenharmony_ci    "$ide_previewer_path/util/FileSystem.cpp",
1607c804472Sopenharmony_ci    "$ide_previewer_path/util/Interrupter.cpp",
1617c804472Sopenharmony_ci    "$ide_previewer_path/util/JsonReader.cpp",
1627c804472Sopenharmony_ci    "$ide_previewer_path/util/PreviewerEngineLog.cpp",
1637c804472Sopenharmony_ci    "$ide_previewer_path/util/SharedDataManager.cpp",
1647c804472Sopenharmony_ci    "$ide_previewer_path/util/TimeTool.cpp",
1657c804472Sopenharmony_ci    "$ide_previewer_path/util/TraceTool.cpp",
1667c804472Sopenharmony_ci    "$ide_previewer_path/util/unix/LocalDate.cpp",
1677c804472Sopenharmony_ci    "$ide_previewer_path/util/unix/NativeFileSystem.cpp",
1687c804472Sopenharmony_ci  ]
1697c804472Sopenharmony_ci  sources += [
1707c804472Sopenharmony_ci    "../ChangeJsonUtil.cpp",
1717c804472Sopenharmony_ci    "../main.cpp",
1727c804472Sopenharmony_ci    "CommandParse.cpp",
1737c804472Sopenharmony_ci    "LiteCommandParseFuzzer.cpp",
1747c804472Sopenharmony_ci  ]
1757c804472Sopenharmony_ci  deps = [
1767c804472Sopenharmony_ci    "//third_party/bounds_checking_function:libsec_static",
1777c804472Sopenharmony_ci    "//third_party/cJSON:cjson_static",
1787c804472Sopenharmony_ci  ]
1797c804472Sopenharmony_ci  libs = []
1807c804472Sopenharmony_ci  cflags = [ "-Wno-error=overflow" ]
1817c804472Sopenharmony_ci  cflags_cc = [ "-Wno-error=overflow" ]
1827c804472Sopenharmony_ci  ldflags = [ "-Wno-error=overflow" ]
1837c804472Sopenharmony_ci}
1847c804472Sopenharmony_ci
1857c804472Sopenharmony_ciide_fuzztest("CommonCommandParseFuzzTest") {
1867c804472Sopenharmony_ci  testonly = true
1877c804472Sopenharmony_ci  part_name = "previewer"
1887c804472Sopenharmony_ci  subsystem_name = "ide"
1897c804472Sopenharmony_ci  module_out_path = module_output_path
1907c804472Sopenharmony_ci  output_name = "CommonCommandParseFuzzTest"
1917c804472Sopenharmony_ci  include_dirs = [
1927c804472Sopenharmony_ci    "../",
1937c804472Sopenharmony_ci    "$ide_previewer_path/test/mock",
1947c804472Sopenharmony_ci    "$ide_previewer_path/cli",
1957c804472Sopenharmony_ci    "$ide_previewer_path/util",
1967c804472Sopenharmony_ci    "//third_party/libwebsockets/include",
1977c804472Sopenharmony_ci    "//third_party/cJSON",
1987c804472Sopenharmony_ci    "//third_party/bounds_checking_function/include",
1997c804472Sopenharmony_ci  ]
2007c804472Sopenharmony_ci  include_dirs += graphic_2d_include_path
2017c804472Sopenharmony_ci  include_dirs += window_manager_include_path
2027c804472Sopenharmony_ci  include_dirs += ability_runtime_include_path
2037c804472Sopenharmony_ci  include_dirs += ace_engine_include_path
2047c804472Sopenharmony_ci  include_dirs += [
2057c804472Sopenharmony_ci    "$ide_previewer_path/jsapp",
2067c804472Sopenharmony_ci    "$ide_previewer_path/jsapp/rich",
2077c804472Sopenharmony_ci    "$ide_previewer_path/mock",
2087c804472Sopenharmony_ci    "$ide_previewer_path/mock/rich",
2097c804472Sopenharmony_ci  ]
2107c804472Sopenharmony_ci  sources = [
2117c804472Sopenharmony_ci    "$graphic_2d_path/rosen/modules/platform/utils/refbase.cpp",
2127c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLine.cpp",
2137c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLineFactory.cpp",
2147c804472Sopenharmony_ci    "$ide_previewer_path/cli/CommandLineInterface.cpp",
2157c804472Sopenharmony_ci    "$ide_previewer_path/mock/KeyInput.cpp",
2167c804472Sopenharmony_ci    "$ide_previewer_path/mock/MouseInput.cpp",
2177c804472Sopenharmony_ci    "$ide_previewer_path/mock/MouseWheel.cpp",
2187c804472Sopenharmony_ci    "$ide_previewer_path/mock/VirtualMessage.cpp",
2197c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/MockGlobalResult.cpp",
2207c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/ability/MockSimulator.cpp",
2217c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/arkui/MockAceAbility.cpp",
2227c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/jsapp/MockJsApp.cpp",
2237c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/jsapp/MockJsAppImpl.cpp",
2247c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockKeyInputImpl.cpp",
2257c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockMouseInputImpl.cpp",
2267c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockMouseWheelImpl.cpp",
2277c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualMessageImpl.cpp",
2287c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualScreen.cpp",
2297c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/mock/MockVirtualScreenImpl.cpp",
2307c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/util/MockLocalSocket.cpp",
2317c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/util/MockWebSocketServer.cpp",
2327c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/window/MockWindowDisplay.cpp",
2337c804472Sopenharmony_ci    "$ide_previewer_path/test/mock/window/MockWindowModel.cpp",
2347c804472Sopenharmony_ci    "$ide_previewer_path/util/CallbackQueue.cpp",
2357c804472Sopenharmony_ci    "$ide_previewer_path/util/CommandParser.cpp",
2367c804472Sopenharmony_ci    "$ide_previewer_path/util/CppTimer.cpp",
2377c804472Sopenharmony_ci    "$ide_previewer_path/util/CppTimerManager.cpp",
2387c804472Sopenharmony_ci    "$ide_previewer_path/util/FileSystem.cpp",
2397c804472Sopenharmony_ci    "$ide_previewer_path/util/Interrupter.cpp",
2407c804472Sopenharmony_ci    "$ide_previewer_path/util/JsonReader.cpp",
2417c804472Sopenharmony_ci    "$ide_previewer_path/util/PreviewerEngineLog.cpp",
2427c804472Sopenharmony_ci    "$ide_previewer_path/util/SharedDataManager.cpp",
2437c804472Sopenharmony_ci    "$ide_previewer_path/util/TimeTool.cpp",
2447c804472Sopenharmony_ci    "$ide_previewer_path/util/TraceTool.cpp",
2457c804472Sopenharmony_ci    "$ide_previewer_path/util/unix/LocalDate.cpp",
2467c804472Sopenharmony_ci    "$ide_previewer_path/util/unix/NativeFileSystem.cpp",
2477c804472Sopenharmony_ci  ]
2487c804472Sopenharmony_ci  sources += [
2497c804472Sopenharmony_ci    "../ChangeJsonUtil.cpp",
2507c804472Sopenharmony_ci    "../main.cpp",
2517c804472Sopenharmony_ci    "CommandParse.cpp",
2527c804472Sopenharmony_ci    "CommonCommandParseFuzzer.cpp",
2537c804472Sopenharmony_ci  ]
2547c804472Sopenharmony_ci  deps = [
2557c804472Sopenharmony_ci    "//third_party/bounds_checking_function:libsec_static",
2567c804472Sopenharmony_ci    "//third_party/cJSON:cjson_static",
2577c804472Sopenharmony_ci  ]
2587c804472Sopenharmony_ci  libs = []
2597c804472Sopenharmony_ci  cflags = [ "-Wno-error=overflow" ]
2607c804472Sopenharmony_ci  cflags_cc = [ "-Wno-error=overflow" ]
2617c804472Sopenharmony_ci  ldflags = [ "-Wno-error=overflow" ]
2627c804472Sopenharmony_ci}
263