• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020 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 <stdio.h>
19 #include <stdlib.h>
20 #include "ohos_errno.h"
21 #include "parameter.h"
22 
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 class ParameterTest : public testing::Test {
27 public:
SetUpTestCase()28     static void SetUpTestCase()
29     {
30         printf("----------test case with parameter start-------------\n");
31     }
TearDownTestCase()32     static void TearDownTestCase()
33     {
34         printf("----------test case with parameter end---------------\n");
35     }
SetUp()36     void SetUp() {}
TearDown()37     void TearDown() {}
38 };
39 
40 HWTEST_F(ParameterTest, parameterTest001, TestSize.Level0)
41 {
42     printf("Device type =%s\n", GetDeviceType());
43     printf("Manufacture =%s\n", GetManufacture());
44     printf("GetBrand =%s\n", GetBrand());
45     printf("MarketName =%s\n", GetMarketName());
46     printf("ProductSeries =%s\n", GetProductSeries());
47     printf("ProductModel =%s\n", GetProductModel());
48     printf("SoftwareModel =%s\n", GetSoftwareModel());
49     printf("HardwareModel =%s\n", GetHardwareModel());
50     printf("Software profile =%s\n", GetHardwareProfile());
51     printf("Serial =%s\n", GetSerial());
52     printf("OS full name =%s\n", GetOSFullName());
53     printf("OS Release type =%s\n", GetOsReleaseType());
54     printf("Display version =%s\n", GetDisplayVersion());
55     printf("bootloader version =%s\n", GetBootloaderVersion());
56     printf("secure patch level =%s\n", GetSecurityPatchTag());
57 }
58 
59 HWTEST_F(ParameterTest, parameterTest001_1, TestSize.Level0)
60 {
61     printf("secure patch level =%s\n", GetSecurityPatchTag());
62     printf("abi list =%s\n", GetAbiList());
63     printf("first api version =%d\n", GetFirstApiVersion());
64     printf("SDK api version =%d\n", GetSdkApiVersion());
65     printf("Incremental version = %s\n", GetIncrementalVersion());
66     printf("formal id =%s\n", GetVersionId());
67     printf("build tyep =%s\n", GetBuildType());
68     printf("build user =%s\n", GetBuildUser());
69     printf("Build host = %s\n", GetBuildHost());
70     printf("build time =%s\n", GetBuildTime());
71     printf("build root later..., %s\n", GetBuildRootHash());
72 }
73 
74 HWTEST_F(ParameterTest, parameterTest002, TestSize.Level0)
75 {
76     char key1[] = "test.const.sys.version";
77     char value1[] = "set read only key";
78     int ret = SetParameter(key1, value1);
79     EXPECT_EQ(ret, EC_SUCCESS);
80 }
81 
82 HWTEST_F(ParameterTest, parameterTest003, TestSize.Level0)
83 {
84     char key2[] = "rw.sys.version*%version";
85     char value2[] = "set value with illegal key";
86     int ret = SetParameter(key2, value2);
87     EXPECT_NE(ret, EC_SUCCESS);
88 }
89 
90 /* key = 32 */
91 HWTEST_F(ParameterTest, parameterTest004, TestSize.Level0)
92 {
93     char key3[] = "rw.sys.version.utilskvparameter0";
94     char value3[] = "set with key = 32";
95     int ret = SetParameter(key3, value3);
96     EXPECT_EQ(ret, EC_SUCCESS);
97 }
98 
99 /* value > 128 */
100 HWTEST_F(ParameterTest, parameterTest005, TestSize.Level0)
101 {
102     char key4[] = "rw.sys.version.version";
103     char value4[] = "rw.sys.version.version.version.version flash_offset = *(hi_u32 *)DT_SetGetU32(&g_Element[0], 0);\
104     size = *(hi_u32 *)DT_SetGetU32(&g_Element[1], 0);";
105     int ret = SetParameter(key4, value4);
106     EXPECT_NE(ret, EC_SUCCESS);
107 }
108 
109 HWTEST_F(ParameterTest, parameterTest006, TestSize.Level0)
110 {
111     char key1[] = "rw.product.not.exist";
112     char value1[64] = {0};
113     char defValue1[] = "value of key not exist...";
114     int ret = GetParameter(key1, defValue1, value1, 64);
115     EXPECT_EQ(ret, strlen(defValue1));
116 }
117 
118 HWTEST_F(ParameterTest, parameterTest007, TestSize.Level0)
119 {
120     char key2[] = "rw.sys.version.version.version.version.sys.version.\
121     version.version.version.sys.version.version.version.version.sys.version.version.version.versioneeeeeeeeeee";
122     char value2[64] = {0};
123     char defValue2[] = "value of key > 32 ...";
124     int ret = GetParameter(key2, defValue2, value2, 64);
125     EXPECT_NE(ret, EC_INVALID);
126 }
127 
128 HWTEST_F(ParameterTest, parameterTest008, TestSize.Level0)
129 {
130     char key4[] = "rw.sys.version";
131     char* value4 = nullptr;
132     char defValue3[] = "value of key > 32 ...";
133     int ret = GetParameter(key4, defValue3, value4, 0);
134     EXPECT_EQ(ret, EC_INVALID);
135 }
136 
137 HWTEST_F(ParameterTest, parameterTest009, TestSize.Level0)
138 {
139     char key5[] = "rw.product.type";
140     char value5[] = "rw.sys.version.version.version.version flash_offset = *(hi_u32 *)DT_SetGetU32(&g_Element[0], 0)";
141     int ret = SetParameter(key5, value5);
142     EXPECT_EQ(ret, 0);
143     char valueGet[2] = {0};
144     char defValue3[] = "value of key > 32 ...";
145     ret = GetParameter(key5, defValue3, valueGet, 2);
146     EXPECT_EQ(ret, EC_INVALID);
147 }
148 
149 HWTEST_F(ParameterTest, parameterTest0010, TestSize.Level0)
150 {
151     char key1[] = "rw.sys.version";
152     char value1[] = "10.1.0";
153     int ret = SetParameter(key1, value1);
154     EXPECT_EQ(ret, 0);
155     char valueGet1[32] = {0};
156     ret = GetParameter(key1, "version=10.1.0", valueGet1, 32);
157     EXPECT_EQ(ret, strlen(valueGet1));
158 
159     char key2[] = "rw.product.type";
160     char value2[] = "wifi_iot";
161     ret = SetParameter(key2, value2);
162     EXPECT_EQ(ret, 0);
163     char valueGet2[32] = {0};
164     ret = GetParameter(key2, "version=10.1.0", valueGet2, 32);
165     EXPECT_EQ(ret, strlen(valueGet2));
166 
167     char key3[] = "rw.product.manufacturer";
168     char value3[] = "TEST MANUFACTURER";
169     ret = SetParameter(key3, value3);
170     EXPECT_EQ(ret, 0);
171     char valueGet3[32] = {0};
172     ret = GetParameter(key3, "version=10.1.0", valueGet3, 32);
173     EXPECT_EQ(ret, strlen(valueGet3));
174 
175     char key4[] = "rw.product.marketname";
176     char value4[] = "TEST MARKETNAME";
177     ret = SetParameter(key4, value4);
178     EXPECT_EQ(ret, 0);
179     char valueGet4[32] = {0};
180     ret = GetParameter(key4, "version=10.1.0", valueGet4, 32);
181     EXPECT_EQ(ret, strlen(valueGet4));
182 }
183 }  // namespace OHOS