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[] = "ro.sys.version"; 77 char value1[] = "set read only key"; 78 int ret = SetParameter(key1, value1); 79 EXPECT_EQ(ret, EC_INVALID); 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_EQ(ret, EC_INVALID); 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_INVALID); 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_EQ(ret, EC_INVALID); 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"; 121 char value2[64] = {0}; 122 char defValue2[] = "value of key > 32 ..."; 123 int ret = GetParameter(key2, defValue2, value2, 64); 124 EXPECT_EQ(ret, EC_INVALID); 125 } 126 127 HWTEST_F(ParameterTest, parameterTest008, TestSize.Level0) 128 { 129 char key4[] = "rw.sys.version"; 130 char* value4 = nullptr; 131 char defValue3[] = "value of key > 32 ..."; 132 int ret = GetParameter(key4, defValue3, value4, 0); 133 EXPECT_EQ(ret, EC_INVALID); 134 } 135 136 HWTEST_F(ParameterTest, parameterTest009, TestSize.Level0) 137 { 138 char key5[] = "rw.product.type"; 139 char value5[] = "rw.sys.version.version.version.version flash_offset = *(hi_u32 *)DT_SetGetU32(&g_Element[0], 0)"; 140 int ret = SetParameter(key5, value5); 141 EXPECT_EQ(ret, 0); 142 char valueGet[2] = {0}; 143 char defValue3[] = "value of key > 32 ..."; 144 ret = GetParameter(key5, defValue3, valueGet, 2); 145 EXPECT_EQ(ret, EC_INVALID); 146 } 147 148 HWTEST_F(ParameterTest, parameterTest0010, TestSize.Level0) 149 { 150 char key1[] = "rw.sys.version"; 151 char value1[] = "10.1.0"; 152 int ret = SetParameter(key1, value1); 153 EXPECT_EQ(ret, 0); 154 char valueGet1[32] = {0}; 155 ret = GetParameter(key1, "version=10.1.0", valueGet1, 32); 156 EXPECT_EQ(ret, strlen(valueGet1)); 157 158 char key2[] = "rw.product.type"; 159 char value2[] = "wifi_iot"; 160 ret = SetParameter(key2, value2); 161 EXPECT_EQ(ret, 0); 162 char valueGet2[32] = {0}; 163 ret = GetParameter(key2, "version=10.1.0", valueGet2, 32); 164 EXPECT_EQ(ret, strlen(valueGet2)); 165 166 char key3[] = "rw.product.manufacturer"; 167 char value3[] = "TEST MANUFACTURER"; 168 ret = SetParameter(key3, value3); 169 EXPECT_EQ(ret, 0); 170 char valueGet3[32] = {0}; 171 ret = GetParameter(key3, "version=10.1.0", valueGet3, 32); 172 EXPECT_EQ(ret, strlen(valueGet3)); 173 174 char key4[] = "rw.product.marketname"; 175 char value4[] = "TEST MARKETNAME"; 176 ret = SetParameter(key4, value4); 177 EXPECT_EQ(ret, 0); 178 char valueGet4[32] = {0}; 179 ret = GetParameter(key4, "version=10.1.0", valueGet4, 32); 180 EXPECT_EQ(ret, strlen(valueGet4)); 181 } 182 } // namespace OHOS