1# Copyright (c) 2023-2024 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("../../../dlp_permission_service.gni")
15
16group("fuzztest") {
17  testonly = true
18  deps = []
19
20  deps += [
21    "fuzzer/cancelretentionstate_fuzzer:CancelRetentionStateFuzzTest",
22    "fuzzer/cleansandboxconfig_fuzzer:CleanSandboxConfigFuzzTest",
23    "fuzzer/clearunreservedsandbox_fuzzer:ClearUnreservedSandboxFuzzTest",
24    "fuzzer/dlpfile_fuzzer:DlpFileFuzzTest",
25    "fuzzer/generatecert_fuzzer:GenerateCertFuzzTest",
26    "fuzzer/getdlpfilevisitrecord_fuzzer:GetDlpFileVisitRecordFuzzTest",
27    "fuzzer/getdlpgatheringpolicy_fuzzer:GetDlpGatheringPolicyFuzzTest",
28    "fuzzer/getdlpsupportfiletype_fuzzer:GetDlpSupportFileTypeFuzzTest",
29    "fuzzer/getmdmpolicy_fuzzer:GetMDMPolicyFuzzTest",
30    "fuzzer/getretentionsandboxlist_fuzzer:GetRetentionSandboxListFuzzTest",
31    "fuzzer/getsandboxconfig_fuzzer:GetSandboxConfigFuzzTest",
32    "fuzzer/getsandboxexternalauthorization_fuzzer:GetSandboxExternalAuthorizationFuzzTest",
33    "fuzzer/installdlpsandbox_fuzzer:InstallDlpSandboxFuzzTest",
34    "fuzzer/isdlpfeatureprovided_fuzzer:IsDlpFeatureProvidedFuzzTest",
35    "fuzzer/isindlpsandbox_fuzzer:IsInDlpSandboxFuzzTest",
36    "fuzzer/parsecert_fuzzer:ParseCertFuzzTest",
37    "fuzzer/parsedlpheader_fuzzer:ParseDlpHeaderFuzzTest",
38    "fuzzer/querydlpfileaccess_fuzzer:QueryDlpFileAccessFuzzTest",
39    "fuzzer/querydlpfilecopyablebytokenid_fuzzer:QueryDlpFileCopyableByTokenIdFuzzTest",
40    "fuzzer/registerdlpsandboxchangecallback_fuzzer:RegisterDlpSandboxChangeCallbackFuzzTest",
41    "fuzzer/registeropendlpfilecallback_fuzzer:RegisterOpenDlpFileCallbackFuzzTest",
42    "fuzzer/removemdmpolicy_fuzzer:RemoveMDMPolicyFuzzTest",
43    "fuzzer/setmdmpolicy_fuzzer:SetMDMPolicyFuzzTest",
44    "fuzzer/setreadflag_fuzzer:SetReadFlagFuzzTest",
45    "fuzzer/setretentionstate_fuzzer:SetRetentionStateFuzzTest",
46    "fuzzer/setsandboxconfig_fuzzer:SetSandboxConfigFuzzTest",
47    "fuzzer/uninstalldlpsandbox_fuzzer:UninstallDlpSandboxFuzzTest",
48    "fuzzer/unregisterdlpsandboxchangecallback_fuzzer:UnRegisterDlpSandboxChangeCallbackFuzzTest",
49    "fuzzer/unregisteropendlpfilecallback_fuzzer:UnRegisterOpenDlpFileCallbackFuzzTest",
50    "stub_fuzzer/cancelretentionstatestub_fuzzer:CancelRetentionStateStubFuzzTest",
51    "stub_fuzzer/cleansandboxconfigstub_fuzzer:CleanSandboxConfigStubFuzzTest",
52    "stub_fuzzer/clearunreservedsandboxstub_fuzzer:ClearUnreservedSandboxStubFuzzTest",
53    "stub_fuzzer/generatecertstub_fuzzer:GenerateCertStubFuzzTest",
54    "stub_fuzzer/getdlpfilevisitrecordstub_fuzzer:GetDlpFileVisitRecordStubFuzzTest",
55    "stub_fuzzer/getdlpgatheringpolicystub_fuzzer:GetDlpGatheringPolicyStubFuzzTest",
56    "stub_fuzzer/getdlpsupportfiletypestub_fuzzer:GetDlpSupportFileTypeStubFuzzTest",
57    "stub_fuzzer/getmdmpolicystub_fuzzer:GetMDMPolicyStubFuzzTest",
58    "stub_fuzzer/getretentionsandboxliststub_fuzzer:GetRetentionSandboxListStubFuzzTest",
59    "stub_fuzzer/getsandboxconfigstub_fuzzer:GetSandboxConfigStubFuzzTest",
60    "stub_fuzzer/getsandboxexternalauthorizationstub_fuzzer:GetSandboxExternalAuthorizationStubFuzzTest",
61    "stub_fuzzer/installdlpsandboxstub_fuzzer:InstallDlpSandboxStubFuzzTest",
62    "stub_fuzzer/isdlpfeatureprovidedstub_fuzzer:IsDlpFeatureProvidedStubFuzzTest",
63    "stub_fuzzer/isindlpsandboxstub_fuzzer:IsInDlpSandboxStubFuzzTest",
64    "stub_fuzzer/parsecertstub_fuzzer:ParseCertStubFuzzTest",
65    "stub_fuzzer/querydlpfileaccessstub_fuzzer:QueryDlpFileAccessStubFuzzTest",
66    "stub_fuzzer/querydlpfilecopyablebytokenidstub_fuzzer:QueryDlpFileCopyableByTokenIdStubFuzzTest",
67    "stub_fuzzer/registerdlpsandboxchangecallbackstub_fuzzer:RegisterDlpSandboxChangeCallbackStubFuzzTest",
68    "stub_fuzzer/registeropendlpfilecallbackstub_fuzzer:RegisterOpenDlpFileCallbackStubFuzzTest",
69    "stub_fuzzer/removemdmpolicystub_fuzzer:RemoveMDMPolicyStubFuzzTest",
70    "stub_fuzzer/setmdmpolicystub_fuzzer:SetMDMPolicyStubFuzzTest",
71    "stub_fuzzer/setreadflagstub_fuzzer:SetReadFlagStubFuzzTest",
72    "stub_fuzzer/setretentionstatestub_fuzzer:SetRetentionStateStubFuzzTest",
73    "stub_fuzzer/setsandboxconfigstub_fuzzer:SetSandboxConfigStubFuzzTest",
74    "stub_fuzzer/uninstalldlpsandboxstub_fuzzer:UninstallDlpSandboxStubFuzzTest",
75    "stub_fuzzer/unregisterdlpsandboxchangecallbackstub_fuzzer:UnRegisterDlpSandboxChangeCallbackStubFuzzTest",
76    "stub_fuzzer/unregisteropendlpfilecallbackstub_fuzzer:UnRegisterOpenDlpFileCallbackStubFuzzTest",
77  ]
78}
79
80config("napi_fuzz_config") {
81  include_dirs = [
82    "${dlp_root_dir}/services/dlp_permission/sa/sa_common",
83    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include",
84    "${dlp_root_dir}/test/fuzztest/dlp_permission/fuzzer",
85  ]
86  cflags = [
87    "-g",
88    "-O0",
89    "-Wno-unused-variable",
90    "-fno-omit-frame-pointer",
91  ]
92  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
93  cflags_cc = [ "-DHILOG_ENABLE" ]
94}
95
96config("stub_fuzz_config") {
97  include_dirs = []
98  configs = [ ":napi_fuzz_config" ]
99  include_dirs += [
100    "${dlp_root_dir}/frameworks/common/include",
101    "${dlp_root_dir}/frameworks/dlp_permission/include",
102    "${dlp_root_dir}/services/dlp_permission/sa/adapt",
103    "${dlp_root_dir}/services/dlp_permission/sa/callback/dlp_sandbox_change_callback/",
104    "${dlp_root_dir}/services/dlp_permission/sa/callback/open_dlp_file_callback/",
105    "${dlp_root_dir}/services/dlp_permission/sa/mock",
106    "${dlp_root_dir}/services/dlp_permission/sa/sa_main",
107    "${dlp_root_dir}/services/dlp_permission/sa/storage/include",
108  ]
109}
110
111config("stub_fuzz_need_skip_timer_config") {
112  cflags_cc = []
113  configs = [ ":stub_fuzz_config" ]
114  cflags_cc += [ "-DDLP_FUZZ_TEST" ]
115}
116