• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 
18 #include "parameter.h"
19 #include "sysparam_errno.h"
20 
21 using namespace testing::ext;
22 
23 namespace OHOS {
24 class SystemParameterNativeTest : public testing::Test {
25 public:
SetUpTestCase()26     static void SetUpTestCase() {}
TearDownTestCase()27     static void TearDownTestCase() {}
SetUp()28     void SetUp() {}
TearDown()29     void TearDown() {}
30 };
31 
32 HWTEST_F(SystemParameterNativeTest, parameterTest001, TestSize.Level0)
33 {
34     EXPECT_STRNE(GetDeviceType(), nullptr);
35     EXPECT_STRNE(GetManufacture(), nullptr);
36     EXPECT_STRNE(GetBrand(), nullptr);
37     EXPECT_STRNE(GetMarketName(), nullptr);
38     EXPECT_STRNE(GetProductSeries(), nullptr);
39     EXPECT_STRNE(GetProductModel(), nullptr);
40     EXPECT_STRNE(GetSoftwareModel(), nullptr);
41     EXPECT_STRNE(GetHardwareModel(), nullptr);
42     EXPECT_STRNE(GetHardwareProfile(), nullptr);
43     EXPECT_STRNE(GetSerial(), nullptr);
44     EXPECT_STRNE(GetOSFullName(), nullptr);
45     EXPECT_STRNE(GetOsReleaseType(), nullptr);
46     EXPECT_STRNE(GetDisplayVersion(), nullptr);
47     EXPECT_STRNE(GetBootloaderVersion(), nullptr);
48     EXPECT_STRNE(GetSecurityPatchTag(), nullptr);
49 }
50 
51 HWTEST_F(SystemParameterNativeTest, parameterTest001_1, TestSize.Level0)
52 {
53     EXPECT_STRNE(GetSecurityPatchTag(), nullptr);
54     EXPECT_STRNE(GetAbiList(), nullptr);
55     EXPECT_GT(GetFirstApiVersion(), 0);
56     EXPECT_GT(GetSdkApiVersion(), 0);
57     EXPECT_STRNE(GetIncrementalVersion(), nullptr);
58     EXPECT_STRNE(GetVersionId(), nullptr);
59     EXPECT_STRNE(GetBuildType(), nullptr);
60     EXPECT_STRNE(GetBuildUser(), nullptr);
61     EXPECT_STRNE(GetBuildHost(), nullptr);
62     EXPECT_STRNE(GetBuildTime(), nullptr);
63     EXPECT_STRNE(GetBuildRootHash(), nullptr);
64 }
65 
66 HWTEST_F(SystemParameterNativeTest, parameterTest002, TestSize.Level0)
67 {
68     char key1[] = "test.ro.sys.version";
69     char value1[] = "set read only key";
70     int ret = SetParameter(key1, value1);
71     EXPECT_EQ(ret, EC_SUCCESS);
72 }
73 
74 HWTEST_F(SystemParameterNativeTest, parameterTest003, TestSize.Level0)
75 {
76     char key2[] = "rw.sys.version*%version";
77     char value2[] = "set value with illegal key";
78     int ret = SetParameter(key2, value2);
79     EXPECT_EQ(ret, EC_INVALID);
80 }
81 
82 /* key = 32 */
83 HWTEST_F(SystemParameterNativeTest, parameterTest004, TestSize.Level0)
84 {
85     char key3[] = "rw.sys.version.utilskvparameter0";
86     char value3[] = "set with key = 32";
87     int ret = SetParameter(key3, value3);
88     EXPECT_EQ(ret, EC_SUCCESS);
89 }
90 
91 /* value > 128 */
92 HWTEST_F(SystemParameterNativeTest, parameterTest005, TestSize.Level0)
93 {
94     char key4[] = "rw.sys.version.version";
95     char value4[] = "rw.sys.version.version.version.version flash_offset = *(hi_u32 *)DT_SetGetU32(&g_Element[0], 0)a\
96     size = *(hi_u32 *)DT_SetGetU32(&g_Element[1], 0)a";
97     int ret = SetParameter(key4, value4);
98     EXPECT_EQ(ret, EC_INVALID);
99 }
100 
101 HWTEST_F(SystemParameterNativeTest, parameterTest006, TestSize.Level0)
102 {
103     char key1[] = "rw.product.not.exist";
104     char value1[64] = {0};
105     char defValue1[] = "value of key not exist...";
106     int ret = GetParameter(key1, defValue1, value1, 64);
107     EXPECT_EQ(ret, static_cast<int>(strlen(defValue1)));
108 }
109 
110 HWTEST_F(SystemParameterNativeTest, parameterTest007, TestSize.Level0)
111 {
112     char key2[] = "rw.sys.version.version.version.version";
113     char value2[64] = {0};
114     char defValue2[] = "value of key > 32 ...";
115     int ret = GetParameter(key2, defValue2, value2, 64);
116     EXPECT_EQ(ret, static_cast<int>(strlen(defValue2)));
117 }
118 
119 HWTEST_F(SystemParameterNativeTest, parameterTest008, TestSize.Level0)
120 {
121     char key4[] = "test.rw.sys.version";
122     char* value4 = nullptr;
123     char defValue3[] = "value of key > 32 ...";
124     int ret = GetParameter(key4, defValue3, value4, 0);
125     EXPECT_EQ(ret, EC_INVALID);
126 }
127 
128 HWTEST_F(SystemParameterNativeTest, parameterTest009, TestSize.Level0)
129 {
130     char key5[] = "test.rw.product.type";
131     char value5[] = "rw.sys.version.version.version.version     \
132     flash_offset = *(hi_u32 *)DT_SetGetU32(&g_Element[0], 0)";
133     int ret = SetParameter(key5, value5);
134     EXPECT_EQ(ret, EC_INVALID);
135     char valueGet[2] = {0};
136     char defValue3[] = "value of key > 32 ...";
137     ret = GetParameter(key5, defValue3, valueGet, 2);
138     EXPECT_EQ(ret, EC_INVALID);
139 }
140 
141 HWTEST_F(SystemParameterNativeTest, parameterTest0010, TestSize.Level0)
142 {
143     char key1[] = "test.rw.sys.version";
144     char value1[] = "10.1.0";
145     int ret = SetParameter(key1, value1);
146     EXPECT_EQ(ret, 0);
147     char valueGet1[32] = {0};
148     ret = GetParameter(key1, "version=10.1.0", valueGet1, 32);
149     EXPECT_EQ(ret, static_cast<int>(strlen(valueGet1)));
150 
151     char key2[] = "test.rw.product.type";
152     char value2[] = "wifi_iot";
153     ret = SetParameter(key2, value2);
154     EXPECT_EQ(ret, 0);
155     char valueGet2[32] = {0};
156     ret = GetParameter(key2, "version=10.1.0", valueGet2, 32);
157     EXPECT_EQ(ret, static_cast<int>(strlen(valueGet2)));
158 
159     char key3[] = "test.rw.product.manufacturer";
160     char value3[] = "TEST MANUFACTURER";
161     ret = SetParameter(key3, value3);
162     EXPECT_EQ(ret, 0);
163     char valueGet3[32] = {0};
164     ret = GetParameter(key3, "version=10.1.0", valueGet3, 32);
165     EXPECT_EQ(ret, static_cast<int>(strlen(valueGet3)));
166 
167     char key4[] = "test.rw.product.marketname";
168     char value4[] = "TEST MARKETNAME";
169     ret = SetParameter(key4, value4);
170     EXPECT_EQ(ret, 0);
171     char valueGet4[32] = {0};
172     ret = GetParameter(key4, "version=10.1.0", valueGet4, 32);
173     EXPECT_EQ(ret, static_cast<int>(strlen(valueGet4)));
174 }
175 
176 HWTEST_F(SystemParameterNativeTest, parameterTest0011, TestSize.Level0)
177 {
178     char key1[] = "test.rw.sys.version.wait1";
179     char value1[] = "10.1.0";
180     int ret = SetParameter(key1, value1);
181     EXPECT_EQ(ret, 0);
182     ret = WaitParameter(key1, value1, 10);
183     EXPECT_EQ(ret, 0);
184     ret = WaitParameter(key1, "*", 10);
185     EXPECT_EQ(ret, 0);
186     char key2[] = "test.rw.sys.version.wait2";
187     ret = WaitParameter(key2, "*", 1);
188     EXPECT_EQ(ret, 105);
189 }
190 
191 HWTEST_F(SystemParameterNativeTest, parameterTest0012, TestSize.Level0)
192 {
193     char key1[] = "test.rw.sys.version.version1";
194     char value1[] = "10.1.0";
195     int ret = SetParameter(key1, value1);
196     EXPECT_EQ(ret, 0);
197 
198     // success
199     unsigned int handle = FindParameter(key1);
200     EXPECT_NE(handle, static_cast<unsigned int>(-1));
201     char valueGet1[32] = {0};
202     ret = GetParameterValue(handle, valueGet1, 32);
203     EXPECT_EQ(ret, static_cast<int>(strlen(valueGet1)));
204     char nameGet1[32] = {0};
205     ret = GetParameterName(handle, nameGet1, 32);
206     EXPECT_EQ(ret, static_cast<int>(strlen(nameGet1)));
207 
208     // fail
209     char key2[] = "test.rw.sys.version.version2";
210     handle = FindParameter(key2);
211     EXPECT_EQ(handle, static_cast<unsigned int>(-1));
212     ret = GetParameterValue(handle, valueGet1, 32);
213     EXPECT_EQ(ret, -1);
214     ret = GetParameterName(handle, nameGet1, 32);
215     EXPECT_EQ(ret, -1);
216 }
217 }  // namespace OHOS
218