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