1 /*
2 * Copyright (c) 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
16 #include <gtest/gtest.h>
17 #include <iostream>
18
19 #define private public
20 #define protected public
21 #include "sched_policy.h"
22 #undef private
23 #undef protected
24
25 using namespace testing::ext;
26 using namespace OHOS::ResourceSchedule::CgroupSetting;
27
28 namespace OHOS {
29 namespace ResourceSchedule {
30 namespace CgroupSetting {
31 class ProcessGroupSubTest : public testing::Test {
32 public:
33 static void SetUpTestCase(void);
34 static void TearDownTestCase(void);
35 void SetUp();
36 void TearDown();
37 };
38
SetUpTestCase(void)39 void ProcessGroupSubTest::SetUpTestCase(void)
40 {
41 }
42
TearDownTestCase(void)43 void ProcessGroupSubTest::TearDownTestCase(void)
44 {
45 }
46
SetUp(void)47 void ProcessGroupSubTest::SetUp(void)
48 {
49 }
50
TearDown(void)51 void ProcessGroupSubTest::TearDown(void)
52 {
53 }
54
55 /**
56 * @tc.name: ProcessGroupSubTest_SchedPolicyType_001
57 * @tc.desc: Get SchedPolicy Type
58 * @tc.type: FUNC
59 * @tc.require: SR000GGT7N AR000GH37H
60 * @tc.desc:
61 */
62 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_001, Function | MediumTest | Level0)
63 {
64 EXPECT_EQ(SP_BACKGROUND, 1);
65 }
66
67 /*
68 * @tc.number: ProcessGroupSubTest_SchedPolicyType_002
69 * @tc.name: Get SchedPolicy Type
70 * @tc.type: FUNC
71 * @tc.require: SR000GGT7N AR000GH37I
72 * @tc.desc:
73 */
74 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_002, Function | MediumTest | Level0)
75 {
76 EXPECT_EQ(SP_FOREGROUND, 2);
77 }
78
79 /*
80 * @tc.number: ProcessGroupSubTest_SchedPolicyType_003
81 * @tc.name: Get SchedPolicy Full Name
82 * @tc.type: FUNC
83 * @tc.require: SR000GGT7N AR000GH37J
84 * @tc.desc:
85 */
86 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_003, Function | MediumTest | Level0)
87 {
88 const char* policyName = GetSchedPolicyFullName(SP_DEFAULT);
89 EXPECT_TRUE(!strcmp(policyName, "sp_default"));
90 }
91
92 /*
93 * @tc.number: ProcessGroupSubTest_SchedPolicyType_004
94 * @tc.name: Get SchedPolicy Full Name
95 * @tc.type: FUNC
96 * @tc.require: SR000GGT7N AR000GH37K
97 * @tc.desc:
98 */
99 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_004, Function | MediumTest | Level0)
100 {
101 const char* policyName = GetSchedPolicyFullName(SP_BACKGROUND);
102 EXPECT_TRUE(!strcmp(policyName, "sp_background"));
103 }
104
105 /*
106 * @tc.number: ProcessGroupSubTest_SchedPolicyType_005
107 * @tc.name: Get SchedPolicy Full Name
108 * @tc.type: FUNC
109 * @tc.require: SR000GGT7N AR000GH37L
110 * @tc.desc:
111 */
112 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_005, Function | MediumTest | Level0)
113 {
114 const char* policyName = GetSchedPolicyFullName(SP_FOREGROUND);
115 EXPECT_TRUE(!strcmp(policyName, "sp_foreground"));
116 }
117
118 /*
119 * @tc.number: ProcessGroupSubTest_SchedPolicyType_006
120 * @tc.name: Get SchedPolicy Full Name
121 * @tc.type: FUNC
122 * @tc.require: SR000GGT7N AR000GH37M AR000GH37L AR000GH37N AR000GH37Q
123 * @tc.desc:
124 */
125 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_006, Function | MediumTest | Level0)
126 {
127 const char* policyName = GetSchedPolicyFullName(SP_SYSTEM_BACKGROUND);
128 EXPECT_TRUE(!strcmp(policyName, "sp_system_background"));
129 }
130
131 /*
132 * @tc.number: ProcessGroupSubTest_SchedPolicyType_007
133 * @tc.name: Get SchedPolicy Full Name
134 * @tc.type: FUNC
135 * @tc.require: SR000GGT7N AR000GH37N AR000GH37J AR000GH37K AR000GH37R
136 * @tc.desc:
137 */
138 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_007, Function | MediumTest | Level0)
139 {
140 const char* policyName = GetSchedPolicyFullName(SP_TOP_APP);
141 EXPECT_TRUE(!strcmp(policyName, "sp_top_app"));
142 }
143
144 /*
145 * @tc.number: ProcessGroupSubTest_SchedPolicyType_008
146 * @tc.name: Get SchedPolicy Shortened Name
147 * @tc.type: FUNC
148 * @tc.require: SR000GGT7N AR000GH37O AR000GH37I AR000GH37M AR000GH37S
149 * @tc.desc:
150 */
151 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_008, Function | MediumTest | Level0)
152 {
153 const char* policyName = GetSchedPolicyShortenedName(SP_DEFAULT);
154 EXPECT_TRUE(!strcmp(policyName, "df"));
155 }
156
157 /*
158 * @tc.number: ProcessGroupSubTest_SchedPolicyType_009
159 * @tc.name: Get SchedPolicy Shortened Name
160 * @tc.type: FUNC
161 * @tc.require: SR000GGT7N AR000GH37P AR000GH37H AR000GH37N AR000GH37T
162 * @tc.desc:
163 */
164 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_009, Function | MediumTest | Level0)
165 {
166 const char* policyName = GetSchedPolicyShortenedName(SP_FOREGROUND);
167 EXPECT_TRUE(!strcmp(policyName, "fg"));
168 }
169
170 /*
171 * @tc.number: ProcessGroupSubTest_SchedPolicyType_010
172 * @tc.name: Get SchedPolicy Shortened Name
173 * @tc.type: FUNC
174 * @tc.require: SR000GGT7N AR000GH37Q AR000GH37R AR000GH37S AR000GH37T
175 * @tc.desc:
176 */
177 HWTEST_F(ProcessGroupSubTest, ProcessGroupSubTest_SchedPolicyType_010, Function | MediumTest | Level0)
178 {
179 const char* policyName = GetSchedPolicyShortenedName(SP_BACKGROUND);
180 EXPECT_TRUE(!strcmp(policyName, "bg"));
181 }
182 } // namespace CgroupSetting
183 } // namespace ResourceSchedule
184 } // namespace OHOS
185