1 /*
2 * Copyright (c) 2021-2022 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 #include "../include/getparam.h"
16 #include <functional>
17 #include <random>
18 #include <climits>
19 #include <cfloat>
20 #include <chrono>
21 #include "abs_shared_result_set.h"
22 #include "data_ability_predicates.h"
23 #include "values_bucket.h"
24 using namespace std;
25 using namespace OHOS::AppExecFwk;
26 using Uri = OHOS::Uri;
27 namespace OHOS {
28 namespace EventFwk {
GetBoolParam()29 bool GetBoolParam()
30 {
31 bool param;
32 if (GetIntParam() % 2 == 0) {
33 param = true;
34 } else {
35 param = false;
36 }
37 return param;
38 }
39
GenRandom(size_t min,size_t max)40 size_t GenRandom(size_t min, size_t max)
41 {
42 std::random_device rd;
43 static uniform_int_distribution<size_t> u(min, max);
44 static default_random_engine e(rd());
45 size_t param = u(e);
46 return param;
47 }
48
GetS8Param()49 int8_t GetS8Param()
50 {
51 std::random_device rd;
52 static uniform_int_distribution<int8_t> u(INT8_MIN, INT8_MAX);
53 static default_random_engine e(rd());
54 int8_t param = u(e);
55 return param;
56 }
GetS16Param()57 int16_t GetS16Param()
58 {
59 std::random_device rd;
60 static uniform_int_distribution<int16_t> u(INT16_MIN, INT16_MAX);
61 static default_random_engine e(rd());
62 int16_t param = u(e);
63 return param;
64 }
GetS32Param()65 int32_t GetS32Param()
66 {
67 std::random_device rd;
68 static uniform_int_distribution<int32_t> u(INT32_MIN, INT32_MAX);
69 static default_random_engine e(rd());
70 int32_t param = u(e);
71 return param;
72 }
73
GetS64Param()74 int64_t GetS64Param()
75 {
76 std::random_device rd;
77 static uniform_int_distribution<int64_t> u(INT64_MIN, INT64_MAX);
78 static default_random_engine e(rd());
79 int64_t param = u(e);
80 return param;
81 }
82
83 template <class T>
GetUnsignParam()84 T GetUnsignParam()
85 {
86 std::random_device rd;
87 static uniform_int_distribution<T> u;
88 static default_random_engine e(rd());
89 T param = u(e);
90 return param;
91 }
92
GetSizeTParam()93 size_t GetSizeTParam()
94 {
95 size_t param = GetUnsignParam<size_t>();
96 return param;
97 }
98
GetU8Param()99 uint8_t GetU8Param()
100 {
101 uint8_t param = GetUnsignParam<uint8_t>();
102 return param;
103 }
104
GetUIntParam()105 unsigned int GetUIntParam()
106 {
107 unsigned int param = GetUnsignParam<unsigned int>();
108 return param;
109 }
110
GetU16Param()111 uint16_t GetU16Param()
112 {
113 uint16_t param = GetUnsignParam<uint16_t>();
114 return param;
115 }
116
GetU32Param()117 uint32_t GetU32Param()
118 {
119 uint32_t param = GetUnsignParam<uint32_t>();
120 return param;
121 }
122
GetU64Param()123 uint64_t GetU64Param()
124 {
125 uint64_t param = GetUnsignParam<uint64_t>();
126 return param;
127 }
128
GetShortParam()129 short GetShortParam()
130 {
131 std::random_device rd;
132 static uniform_int_distribution<short> u(SHRT_MIN, SHRT_MAX);
133 static default_random_engine e(rd());
134 short param = u(e);
135 return param;
136 }
137
GetLongParam()138 long GetLongParam()
139 {
140 std::random_device rd;
141 static uniform_int_distribution<long> u(LONG_MIN, LONG_MAX);
142 static default_random_engine e(rd());
143 long param = u(e);
144 return param;
145 }
146
GetIntParam()147 int GetIntParam()
148 {
149 std::random_device rd;
150 static uniform_int_distribution<> u(INT_MIN, INT_MAX);
151 static default_random_engine e(rd());
152 int param = u(e);
153 return param;
154 }
155
GetDoubleParam()156 double GetDoubleParam()
157 {
158 double param = 0;
159 std::random_device rd;
160 static uniform_real_distribution<double> u(DBL_MIN, DBL_MAX);
161 static default_random_engine e(rd());
162 param = u(e);
163 return param;
164 }
165
GetFloatParam()166 float GetFloatParam()
167 {
168 float param = 0;
169 std::random_device rd;
170 static uniform_real_distribution<float> u(FLT_MIN, FLT_MAX);
171 static default_random_engine e(rd());
172 param = u(e);
173 return param;
174 }
175
GetCharParam()176 char GetCharParam()
177 {
178 std::random_device rd;
179 static uniform_int_distribution<> u(-128, 127);
180 static default_random_engine e(rd());
181 char param = u(e);
182 return param;
183 }
184
GetChar32Param()185 char32_t GetChar32Param()
186 {
187 char32_t param = ' ';
188 std::random_device rd;
189 static uniform_int_distribution<char32_t> u;
190 static default_random_engine e(rd());
191 param = u(e);
192 return param;
193 }
194
GetCharArryParam()195 char *GetCharArryParam()
196 {
197 static char param[256];
198 size_t len = 0;
199 string strparam = GetStringParam();
200 if (!strparam.empty()) {
201 len = strparam.size() + 1;
202 if (len > sizeof(param)) {
203 len = sizeof(param) - 1;
204 }
205
206 int ret = strcpy_s(param, len, strparam.c_str());
207 if(ret == 0){
208 return param;
209 } else {
210 return nullptr;
211 }
212 } else {
213 return nullptr;
214 }
215 }
216
GetStringParam()217 string GetStringParam()
218 {
219 string param = "";
220 char ch = GetCharParam();
221 size_t len = GenRandom(0, 255);
222 while (len--) {
223 ch = GetCharParam();
224 param += ch;
225 }
226 return param;
227 }
228
229 template <class T>
GetUnsignVectorParam()230 vector<T> GetUnsignVectorParam()
231 {
232 vector<T> param;
233 size_t len = GenRandom(0, 255);
234 while (len--) {
235 T t = GetUnsignParam<T>();
236 param.push_back(t);
237 }
238 return param;
239 }
240
241 template <class T>
GetClassParam()242 T GetClassParam()
243 {
244 T param;
245 return param;
246 }
247
GetBoolVectorParam()248 std::vector<bool> GetBoolVectorParam()
249 {
250 vector<bool> param;
251 size_t len = GenRandom(0, 255);
252 while (len--) {
253 int t = GetBoolParam();
254 param.push_back(t);
255 }
256 return param;
257 }
258
GetShortVectorParam()259 std::vector<short> GetShortVectorParam()
260 {
261 vector<short> param;
262 size_t len = GenRandom(0, 255);
263 while (len--) {
264 short t = GetShortParam();
265 param.push_back(t);
266 }
267 return param;
268 }
269
GetLongVectorParam()270 std::vector<long> GetLongVectorParam()
271 {
272 vector<long> param;
273 size_t len = GenRandom(0, 255);
274 while (len--) {
275 long t = GetLongParam();
276 param.push_back(t);
277 }
278 return param;
279 }
280
GetIntVectorParam()281 vector<int> GetIntVectorParam()
282 {
283 vector<int> param;
284 size_t len = GenRandom(0, 255);
285 while (len--) {
286 int t = GetIntParam();
287 param.push_back(t);
288 }
289 return param;
290 }
291
GetFloatVectorParam()292 std::vector<float> GetFloatVectorParam()
293 {
294 vector<float> param;
295 size_t len = GenRandom(0, 255);
296 while (len--) {
297 float t = GetIntParam();
298 param.push_back(t);
299 }
300 return param;
301 }
302
GetDoubleVectorParam()303 std::vector<double> GetDoubleVectorParam()
304 {
305 vector<double> param;
306 size_t len = GenRandom(0, 255);
307 while (len--) {
308 double t = GetIntParam();
309 param.push_back(t);
310 }
311 return param;
312 }
313
GetCharVectorParam()314 vector<char> GetCharVectorParam()
315 {
316 vector<char> param;
317 size_t len = GenRandom(0, 255);
318 while (len--) {
319 char t = GetCharParam();
320 param.push_back(t);
321 }
322 return param;
323 }
324
GetChar32VectorParam()325 vector<char32_t> GetChar32VectorParam()
326 {
327 vector<char32_t> param;
328 size_t len = GenRandom(0, 255);
329 while (len--) {
330 char32_t t = GetChar32Param();
331 param.push_back(t);
332 }
333 return param;
334 }
335
GetStringVectorParam()336 vector<string> GetStringVectorParam()
337 {
338 vector<string> param;
339 size_t len = GenRandom(0, 255);
340 while (len--) {
341 string t = GetStringParam();
342 param.push_back(t);
343 }
344 return param;
345 }
346
GetS8VectorParam()347 vector<int8_t> GetS8VectorParam()
348 {
349 vector<int8_t> param;
350 size_t len = GenRandom(0, 255);
351 while (len--) {
352 int8_t temp = GetS8Param();
353 param.push_back(temp);
354 }
355 return param;
356 }
357
GetS16VectorParam()358 vector<int16_t> GetS16VectorParam()
359 {
360 vector<int16_t> param;
361 size_t len = GenRandom(0, 255);
362 while (len--) {
363 int16_t temp = GetS16Param();
364 param.push_back(temp);
365 }
366 return param;
367 }
368
GetS32VectorParam()369 vector<int32_t> GetS32VectorParam()
370 {
371 vector<int32_t> param;
372 size_t len = GenRandom(0, 255);
373 while (len--) {
374 int32_t temp = GetS32Param();
375 param.push_back(temp);
376 }
377 return param;
378 }
379
GetS64VectorParam()380 vector<int64_t> GetS64VectorParam()
381 {
382 vector<int64_t> param;
383 size_t len = GenRandom(0, 255);
384 while (len--) {
385 int64_t temp = GetS64Param();
386 param.push_back(temp);
387 }
388 return param;
389 }
390
GetParamParcel()391 std::shared_ptr<Parcel> GetParamParcel()
392 {
393 return make_shared<Parcel>();
394 }
GetParamWant()395 std::shared_ptr<Want> GetParamWant()
396 {
397 return make_shared<Want>();
398 }
399
GetParamOperation()400 OHOS::AAFwk::Operation GetParamOperation()
401 {
402 return OHOS::AAFwk::Operation();
403 }
404
GetParamAsyncCommonEventResult()405 std::shared_ptr<AsyncCommonEventResult> GetParamAsyncCommonEventResult()
406 {
407 return make_shared<AsyncCommonEventResult>(
408 GetIntParam(), GetStringParam(), GetBoolParam(), GetBoolParam(), GetParamSptrRemote());
409 }
410
GetParamCommonEventData()411 std::shared_ptr<CommonEventData> GetParamCommonEventData()
412 {
413 return make_shared<CommonEventData>();
414 }
415
GetParamCommonEventManager()416 std::shared_ptr<CommonEventManager> GetParamCommonEventManager()
417 {
418 return make_shared<CommonEventManager>();
419 }
420
GetParamCommonEventPublishInfo()421 std::shared_ptr<CommonEventPublishInfo> GetParamCommonEventPublishInfo()
422 {
423 return make_shared<CommonEventPublishInfo>();
424 }
425
GetParamCommonEventSubscribeInfo()426 std::shared_ptr<CommonEventSubscribeInfo> GetParamCommonEventSubscribeInfo()
427 {
428 return make_shared<CommonEventSubscribeInfo>();
429 }
430
GetParamCommonEventSubscriber()431 std::shared_ptr<CommonEventSubscriber> GetParamCommonEventSubscriber()
432 {
433 return make_shared<TestCommonEventSubscriber>();
434 }
435
GetParamCommonEventSupport()436 std::shared_ptr<CommonEventSupport> GetParamCommonEventSupport()
437 {
438 return make_shared<CommonEventSupport>();
439 }
440
GetParamMatchingSkills()441 std::shared_ptr<MatchingSkills> GetParamMatchingSkills()
442 {
443 return make_shared<MatchingSkills>();
444 }
445
GetParamSptrRemote()446 sptr<IRemoteObject> GetParamSptrRemote()
447 {
448 return sptr<TestRemoteObject>();
449 }
450
GetParamEventRunner()451 std::shared_ptr<EventRunner> GetParamEventRunner()
452 {
453 return EventRunner::Create(GetCharArryParam());
454 }
455
GetParamEventHandler()456 std::shared_ptr<EventHandler> GetParamEventHandler()
457 {
458 return make_shared<EventHandler>(GetParamEventRunner());
459 }
460
GetParamEventQueue()461 std::shared_ptr<OHOS::AppExecFwk::EventQueue> GetParamEventQueue()
462 {
463 return make_shared<OHOS::AppExecFwk::EventQueue>();
464 }
465
GetParamEventRunnerNativeImplement()466 std::shared_ptr<EventRunnerNativeImplement> GetParamEventRunnerNativeImplement()
467 {
468 return make_shared<EventRunnerNativeImplement>(GetBoolParam());
469 }
470
GetParamFileDescriptorListener()471 std::shared_ptr<OHOS::AppExecFwk::FileDescriptorListener> GetParamFileDescriptorListener()
472 {
473 return make_shared<TestFileDescriptorListener>();
474 }
475
GetParamDumper()476 TestDumper GetParamDumper()
477 {
478 return GetClassParam<TestDumper>();
479 }
480
GetParamInnerEvent()481 InnerEvent::Pointer GetParamInnerEvent()
482 {
483 return InnerEvent::Get(GetU32Param(), GetS64Param());
484 }
485
GetParamThreadMode()486 CommonEventSubscribeInfo::ThreadMode GetParamThreadMode()
487 {
488 switch (GetIntParam() % 4) {
489 case 0:
490 return CommonEventSubscribeInfo::ThreadMode::HANDLER;
491 break;
492 case 1:
493 return CommonEventSubscribeInfo::ThreadMode::POST;
494 break;
495 case 2:
496 return CommonEventSubscribeInfo::ThreadMode::ASYNC;
497 break;
498 case 3:
499 return CommonEventSubscribeInfo::ThreadMode::BACKGROUND;
500 break;
501 default:
502 return CommonEventSubscribeInfo::ThreadMode::HANDLER;
503 break;
504 }
505 }
506
GetParamPriority()507 EventQueue::Priority GetParamPriority()
508 {
509 switch (GetIntParam() % 4) {
510 case 0:
511 return EventQueue::Priority::IMMEDIATE;
512 break;
513 case 1:
514 return EventQueue::Priority::HIGH;
515 break;
516 case 2:
517 return EventQueue::Priority::LOW;
518 break;
519 case 3:
520 return EventQueue::Priority::IDLE;
521 break;
522 default:
523 return EventQueue::Priority::LOW;
524 break;
525 }
526 }
527
GetParamLogger()528 std::shared_ptr<Logger> GetParamLogger()
529 {
530 return make_shared<TestLogger>();
531 }
532
GetParamCallback()533 InnerEvent::Callback GetParamCallback()
534 {
535 auto callback = []() { printf("Fuzz Test Inner Event Callback."); };
536 return callback;
537 }
538
GetParamTimePoint()539 OHOS::AppExecFwk::InnerEvent::TimePoint GetParamTimePoint()
540 {
541 std::chrono::steady_clock::time_point param = std::chrono::steady_clock::now();
542 return param;
543 }
544
GetParamAbilityStartSetting()545 std::shared_ptr<AbilityStartSetting> GetParamAbilityStartSetting()
546 {
547 return AbilityStartSetting::GetEmptySetting();
548 }
549
GetParamIAbilityConnection()550 sptr<OHOS::AAFwk::IAbilityConnection> GetParamIAbilityConnection()
551 {
552 return sptr<OHOS::AAFwk::IAbilityConnection>();
553 }
554
GetParamAbilityContext()555 std::shared_ptr<OHOS::AppExecFwk::AbilityContext> GetParamAbilityContext()
556 {
557 return make_shared<OHOS::AppExecFwk::AbilityContext>();
558 }
GetParamIAbilityEvent()559 std::shared_ptr<OHOS::AppExecFwk::IAbilityEvent> GetParamIAbilityEvent()
560 {
561 return make_shared<TestAbilityEvent>();
562 }
563
GetParamAbilityHandler()564 std::shared_ptr<OHOS::AppExecFwk::AbilityHandler> GetParamAbilityHandler()
565 {
566 return make_shared<OHOS::AppExecFwk::AbilityHandler>(GetParamEventRunner());
567 }
568
GetParamAbility()569 std::shared_ptr<OHOS::AppExecFwk::Ability> GetParamAbility()
570 {
571 return make_shared<OHOS::AppExecFwk::Ability>();
572 }
573
GetParamComponentContainer()574 std::shared_ptr<OHOS::AppExecFwk::ComponentContainer> GetParamComponentContainer()
575 {
576 return make_shared<OHOS::AppExecFwk::ComponentContainer>();
577 }
578
579 // std::shared_ptr<OHOS::AppExecFwk::AbilityInfo> GetParamAbilityInfo()
580 // {
581 // }
582
GetParamOHOSApplication()583 std::shared_ptr<OHOS::AppExecFwk::OHOSApplication> GetParamOHOSApplication()
584 {
585 return make_shared<OHOS::AppExecFwk::OHOSApplication>();
586 }
587
GetParamUri()588 OHOS::Uri GetParamUri()
589 {
590 return OHOS::Uri(GetStringParam());
591 }
592
GetParamValuesBucket()593 NativeRdb::ValuesBucket GetParamValuesBucket()
594 {
595 if (GetBoolParam()) {
596 NativeRdb::ValuesBucket val;
597 val.PutNull(GetStringParam());
598 return val;
599 } else {
600 return NativeRdb::ValuesBucket();
601 }
602 }
603
GetParamConfiguration()604 OHOS::AppExecFwk::Configuration GetParamConfiguration()
605 {
606 if (GetBoolParam()) {
607 OHOS::AppExecFwk::Configuration config;
608 config.AddItem(GlobalConfigurationKey::SYSTEM_LANGUAGE, GetStringParam());
609 return config;
610 } else {
611 return OHOS::AppExecFwk::Configuration();
612 }
613 }
614
GetParamDataAbilityPredicates()615 NativeRdb::DataAbilityPredicates GetParamDataAbilityPredicates()
616 {
617 if (GetBoolParam()) {
618 return NativeRdb::DataAbilityPredicates(GetStringParam());
619 } else {
620 return NativeRdb::DataAbilityPredicates();
621 }
622 }
623
GetParamPacMap()624 OHOS::AppExecFwk::PacMap GetParamPacMap()
625 {
626 return OHOS::AppExecFwk::PacMap();
627 }
628
GetParamNotificationRequest()629 OHOS::AppExecFwk::NotificationRequest GetParamNotificationRequest()
630 {
631 return OHOS::AppExecFwk::NotificationRequest();
632 }
633
GetParamProcessInfo()634 std::shared_ptr<OHOS::AppExecFwk::ProcessInfo> GetParamProcessInfo()
635 {
636 pid_t id = GetIntParam();
637 if (GetBoolParam()) {
638 return make_shared<OHOS::AppExecFwk::ProcessInfo>(GetStringParam(), id);
639 } else {
640 return make_shared<OHOS::AppExecFwk::ProcessInfo>();
641 }
642 }
643
GetParamDataUriUtils()644 std::shared_ptr<OHOS::AppExecFwk::DataUriUtils> GetParamDataUriUtils()
645 {
646 return make_shared<OHOS::AppExecFwk::DataUriUtils>();
647 }
648
GetParamContext()649 std::shared_ptr<OHOS::AppExecFwk::Context> GetParamContext()
650 {
651 return make_shared<OHOS::AppExecFwk::Ability>();
652 }
653
GetParamLifeCycle()654 std::shared_ptr<OHOS::AppExecFwk::LifeCycle> GetParamLifeCycle()
655 {
656 return make_shared<OHOS::AppExecFwk::LifeCycle>();
657 }
658
GetParamLifeCycleEvent()659 OHOS::AppExecFwk::LifeCycle::Event GetParamLifeCycleEvent()
660 {
661 switch (GetIntParam() % 7) {
662 case 0:
663 return OHOS::AppExecFwk::LifeCycle::Event::ON_ACTIVE;
664 break;
665 case 1:
666 return OHOS::AppExecFwk::LifeCycle::Event::ON_BACKGROUND;
667 break;
668 case 2:
669 return OHOS::AppExecFwk::LifeCycle::Event::ON_FOREGROUND;
670 break;
671 case 3:
672 return OHOS::AppExecFwk::LifeCycle::Event::ON_INACTIVE;
673 break;
674 case 4:
675 return OHOS::AppExecFwk::LifeCycle::Event::ON_START;
676 break;
677 case 5:
678 return OHOS::AppExecFwk::LifeCycle::Event::ON_STOP;
679 break;
680 case 6:
681 return OHOS::AppExecFwk::LifeCycle::Event::UNDEFINED;
682 break;
683 default:
684 return OHOS::AppExecFwk::LifeCycle::Event::ON_ACTIVE;
685 break;
686 }
687 }
688
GetParamElementName()689 std::shared_ptr<OHOS::AppExecFwk::ElementName> GetParamElementName()
690 {
691 if (GetBoolParam()) {
692 return make_shared<OHOS::AppExecFwk::ElementName>(GetStringParam(), GetStringParam(), GetStringParam());
693 } else {
694 return make_shared<OHOS::AppExecFwk::ElementName>();
695 }
696 }
697
GetParamWantParams()698 std::shared_ptr<OHOS::AAFwk::WantParams> GetParamWantParams()
699 {
700 return make_shared<OHOS::AAFwk::WantParams>();
701 }
702
GetParamAbilityManager()703 std::shared_ptr<OHOS::AppExecFwk::AbilityManager> GetParamAbilityManager()
704 {
705 return make_shared<OHOS::AppExecFwk::AbilityManager>();
706 }
707
GetParamPatternsMatcher()708 OHOS::AAFwk::PatternsMatcher GetParamPatternsMatcher()
709 {
710 return OHOS::AAFwk::PatternsMatcher();
711 }
712
GetParamMatchType()713 OHOS::AAFwk::MatchType GetParamMatchType()
714 {
715 switch (GetIntParam() % 4) {
716 case 0:
717 return OHOS::AAFwk::MatchType::DEFAULT;
718 break;
719 case 1:
720 return OHOS::AAFwk::MatchType::PREFIX;
721 break;
722 case 2:
723 return OHOS::AAFwk::MatchType::PATTERN;
724 break;
725 case 3:
726 return OHOS::AAFwk::MatchType::GLOBAL;
727 break;
728 default:
729 return OHOS::AAFwk::MatchType::DEFAULT;
730 break;
731 }
732 }
733
GetParamBundleMgrProxy()734 std::shared_ptr<OHOS::AppExecFwk::BundleMgrProxy> GetParamBundleMgrProxy()
735 {
736 return make_shared<OHOS::AppExecFwk::BundleMgrProxy>(GetParamSptrRemote());
737 }
738
GetParamApplicationFlag()739 OHOS::AppExecFwk::ApplicationFlag GetParamApplicationFlag()
740 {
741 if (GetBoolParam()) {
742 return OHOS::AppExecFwk::ApplicationFlag::GET_BASIC_APPLICATION_INFO;
743 } else {
744 return OHOS::AppExecFwk::ApplicationFlag::GET_APPLICATION_INFO_WITH_PERMISSION;
745 }
746 }
747
GetParamApplicationInfo()748 OHOS::AppExecFwk::ApplicationInfo GetParamApplicationInfo()
749 {
750 return OHOS::AppExecFwk::ApplicationInfo();
751 }
752
GetParamApplicationInfoVector()753 std::vector<OHOS::AppExecFwk::ApplicationInfo> GetParamApplicationInfoVector()
754 {
755 vector<OHOS::AppExecFwk::ApplicationInfo> param;
756 size_t len = GenRandom(0, 255);
757 while (len--) {
758 OHOS::AppExecFwk::ApplicationInfo t = GetParamApplicationInfo();
759 param.push_back(t);
760 }
761 return param;
762 }
763
GetParamBundleFlag()764 OHOS::AppExecFwk::BundleFlag GetParamBundleFlag()
765 {
766 if (GetBoolParam()) {
767 return OHOS::AppExecFwk::BundleFlag::GET_BUNDLE_DEFAULT;
768 } else {
769 return OHOS::AppExecFwk::BundleFlag::GET_BUNDLE_WITH_ABILITIES;
770 }
771 }
772
GetParamBundleInfo()773 OHOS::AppExecFwk::BundleInfo GetParamBundleInfo()
774 {
775 return OHOS::AppExecFwk::BundleInfo();
776 }
777
GetParamHapModuleInfo()778 OHOS::AppExecFwk::HapModuleInfo GetParamHapModuleInfo()
779 {
780 return OHOS::AppExecFwk::HapModuleInfo();
781 }
782
GetParamPermissionDef()783 OHOS::AppExecFwk::PermissionDef GetParamPermissionDef()
784 {
785 return OHOS::AppExecFwk::PermissionDef();
786 }
787
GetParamPermissionDefVector()788 std::vector<OHOS::AppExecFwk::PermissionDef> GetParamPermissionDefVector()
789 {
790 vector<OHOS::AppExecFwk::PermissionDef> param;
791 size_t len = GenRandom(0, 255);
792 while (len--) {
793 OHOS::AppExecFwk::PermissionDef t = GetParamPermissionDef();
794 param.push_back(t);
795 }
796 return param;
797 }
798
GetParamIBundleMgrMessage()799 OHOS::AppExecFwk::IBundleMgr::Message GetParamIBundleMgrMessage()
800 {
801 return (OHOS::AppExecFwk::IBundleMgr::Message)(GetIntParam() % 36);
802 }
803
GetParamMessageParcel()804 OHOS::MessageParcel GetParamMessageParcel()
805 {
806 return OHOS::MessageParcel();
807 }
808
GetParamDumpFlag()809 OHOS::AppExecFwk::DumpFlag GetParamDumpFlag()
810 {
811 switch (GetIntParam() % 3) {
812 case 0:
813 return OHOS::AppExecFwk::DumpFlag::DUMP_BUNDLE_LIST;
814 break;
815 case 2:
816 return OHOS::AppExecFwk::DumpFlag::DUMP_BUNDLE_INFO;
817 break;
818 default:
819 return OHOS::AppExecFwk::DumpFlag::DUMP_BUNDLE_LIST;
820 break;
821 }
822 }
823
GetParamICleanCacheCallback()824 sptr<OHOS::AppExecFwk::ICleanCacheCallback> GetParamICleanCacheCallback()
825 {
826 return sptr<TestICleanCacheCallback>();
827 }
828
GetParamIBundleStatusCallback()829 sptr<OHOS::AppExecFwk::IBundleStatusCallback> GetParamIBundleStatusCallback()
830 {
831 return sptr<TestIBundleStatusCallback>();
832 }
833
GetParamDataAbilityHelper()834 std::shared_ptr<OHOS::AppExecFwk::DataAbilityHelper>GetParamDataAbilityHelper()
835 {
836 return OHOS::AppExecFwk::DataAbilityHelper::Creator(std::make_shared<OHOS::AppExecFwk::Ability>());
837 }
838
839 } // namespace EventFwk
840 } // namespace OHOS
841