• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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