1d9f0492fSopenharmony_ci/* 2d9f0492fSopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd. 3d9f0492fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4d9f0492fSopenharmony_ci * you may not use this file except in compliance with the License. 5d9f0492fSopenharmony_ci * You may obtain a copy of the License at 6d9f0492fSopenharmony_ci * 7d9f0492fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8d9f0492fSopenharmony_ci * 9d9f0492fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10d9f0492fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11d9f0492fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d9f0492fSopenharmony_ci * See the License for the specific language governing permissions and 13d9f0492fSopenharmony_ci * limitations under the License. 14d9f0492fSopenharmony_ci */ 15d9f0492fSopenharmony_ci 16d9f0492fSopenharmony_ci#include "gtest/gtest.h" 17d9f0492fSopenharmony_ci 18d9f0492fSopenharmony_ci#include "init_param.h" 19d9f0492fSopenharmony_ci#include "init_utils.h" 20d9f0492fSopenharmony_ci#include "parameter.h" 21d9f0492fSopenharmony_ci#include "param_comm.h" 22d9f0492fSopenharmony_ci#include "param_stub.h" 23d9f0492fSopenharmony_ci#ifndef OHOS_LITE 24d9f0492fSopenharmony_ci#include "param_wrapper.h" 25d9f0492fSopenharmony_ci#include "parameters.h" 26d9f0492fSopenharmony_ci#endif 27d9f0492fSopenharmony_ci#include "sysversion.h" 28d9f0492fSopenharmony_ci#include "sysparam_errno.h" 29d9f0492fSopenharmony_ci 30d9f0492fSopenharmony_ciusing namespace testing::ext; 31d9f0492fSopenharmony_ci 32d9f0492fSopenharmony_cinamespace OHOS { 33d9f0492fSopenharmony_ciconstexpr int TEST_VALUE = 101; 34d9f0492fSopenharmony_ciclass SysparaUnitTest : public testing::Test { 35d9f0492fSopenharmony_cipublic: 36d9f0492fSopenharmony_ci static void SetUpTestCase() {} 37d9f0492fSopenharmony_ci static void TearDownTestCase() {} 38d9f0492fSopenharmony_ci void SetUp() 39d9f0492fSopenharmony_ci { 40d9f0492fSopenharmony_ci SetTestPermissionResult(0); 41d9f0492fSopenharmony_ci } 42d9f0492fSopenharmony_ci void TearDown() {} 43d9f0492fSopenharmony_ci}; 44d9f0492fSopenharmony_ci 45d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest001, TestSize.Level0) 46d9f0492fSopenharmony_ci{ 47d9f0492fSopenharmony_ci printf("Device type =%s\n", GetDeviceType()); 48d9f0492fSopenharmony_ci printf("Manufacture =%s\n", GetManufacture()); 49d9f0492fSopenharmony_ci printf("GetBrand =%s\n", GetBrand()); 50d9f0492fSopenharmony_ci printf("MarketName =%s\n", GetMarketName()); 51d9f0492fSopenharmony_ci printf("ProductSeries =%s\n", GetProductSeries()); 52d9f0492fSopenharmony_ci printf("ProductModel =%s\n", GetProductModel()); 53d9f0492fSopenharmony_ci printf("SoftwareModel =%s\n", GetSoftwareModel()); 54d9f0492fSopenharmony_ci printf("HardwareModel =%s\n", GetHardwareModel()); 55d9f0492fSopenharmony_ci printf("Software profile =%s\n", GetHardwareProfile()); 56d9f0492fSopenharmony_ci printf("Serial =%s\n", GetSerial()); 57d9f0492fSopenharmony_ci printf("OS full name =%s\n", GetOSFullName()); 58d9f0492fSopenharmony_ci printf("OS Release type =%s\n", GetOsReleaseType()); 59d9f0492fSopenharmony_ci printf("Display version =%s\n", GetDisplayVersion()); 60d9f0492fSopenharmony_ci printf("bootloader version =%s\n", GetBootloaderVersion()); 61d9f0492fSopenharmony_ci printf("secure patch level =%s\n", GetSecurityPatchTag()); 62d9f0492fSopenharmony_ci} 63d9f0492fSopenharmony_ci 64d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest001_1, TestSize.Level0) 65d9f0492fSopenharmony_ci{ 66d9f0492fSopenharmony_ci printf("secure patch level =%s\n", GetSecurityPatchTag()); 67d9f0492fSopenharmony_ci printf("abi list =%s\n", GetAbiList()); 68d9f0492fSopenharmony_ci printf("first api version =%d\n", GetFirstApiVersion()); 69d9f0492fSopenharmony_ci printf("SDK api version =%d\n", GetSdkApiVersion()); 70d9f0492fSopenharmony_ci printf("Incremental version = %s\n", GetIncrementalVersion()); 71d9f0492fSopenharmony_ci printf("formal id =%s\n", GetVersionId()); 72d9f0492fSopenharmony_ci printf("build type =%s\n", GetBuildType()); 73d9f0492fSopenharmony_ci printf("build user =%s\n", GetBuildUser()); 74d9f0492fSopenharmony_ci printf("Build host = %s\n", GetBuildHost()); 75d9f0492fSopenharmony_ci printf("build time =%s\n", GetBuildTime()); 76d9f0492fSopenharmony_ci printf("build root later..., %s\n", GetBuildRootHash()); 77d9f0492fSopenharmony_ci} 78d9f0492fSopenharmony_ci 79d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest001_2, TestSize.Level0) 80d9f0492fSopenharmony_ci{ 81d9f0492fSopenharmony_ci EXPECT_STRNE(GetDeviceType(), nullptr); 82d9f0492fSopenharmony_ci EXPECT_STRNE(GetManufacture(), nullptr); 83d9f0492fSopenharmony_ci EXPECT_STRNE(GetBrand(), nullptr); 84d9f0492fSopenharmony_ci EXPECT_STRNE(GetMarketName(), nullptr); 85d9f0492fSopenharmony_ci EXPECT_STRNE(GetProductSeries(), nullptr); 86d9f0492fSopenharmony_ci EXPECT_STRNE(GetProductModel(), nullptr); 87d9f0492fSopenharmony_ci EXPECT_STRNE(GetSoftwareModel(), nullptr); 88d9f0492fSopenharmony_ci EXPECT_STRNE(GetHardwareModel(), nullptr); 89d9f0492fSopenharmony_ci EXPECT_STRNE(GetHardwareProfile(), nullptr); 90d9f0492fSopenharmony_ci EXPECT_STRNE(GetOSFullName(), nullptr); 91d9f0492fSopenharmony_ci EXPECT_STRNE(GetOsReleaseType(), nullptr); 92d9f0492fSopenharmony_ci EXPECT_STRNE(GetDisplayVersion(), nullptr); 93d9f0492fSopenharmony_ci EXPECT_STRNE(GetBootloaderVersion(), nullptr); 94d9f0492fSopenharmony_ci EXPECT_STRNE(GetSecurityPatchTag(), nullptr); 95d9f0492fSopenharmony_ci} 96d9f0492fSopenharmony_ci 97d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest001_3, TestSize.Level0) 98d9f0492fSopenharmony_ci{ 99d9f0492fSopenharmony_ci EXPECT_STRNE(GetSecurityPatchTag(), nullptr); 100d9f0492fSopenharmony_ci EXPECT_STRNE(GetAbiList(), nullptr); 101d9f0492fSopenharmony_ci EXPECT_GT(GetFirstApiVersion(), 0); 102d9f0492fSopenharmony_ci EXPECT_GT(GetSdkApiVersion(), 0); 103d9f0492fSopenharmony_ci EXPECT_STRNE(GetIncrementalVersion(), nullptr); 104d9f0492fSopenharmony_ci EXPECT_STRNE(GetVersionId(), nullptr); 105d9f0492fSopenharmony_ci EXPECT_STRNE(GetBuildType(), nullptr); 106d9f0492fSopenharmony_ci EXPECT_STRNE(GetBuildUser(), nullptr); 107d9f0492fSopenharmony_ci EXPECT_STRNE(GetBuildHost(), nullptr); 108d9f0492fSopenharmony_ci EXPECT_STRNE(GetBuildTime(), nullptr); 109d9f0492fSopenharmony_ci EXPECT_STRNE(GetBuildRootHash(), nullptr); 110d9f0492fSopenharmony_ci} 111d9f0492fSopenharmony_ci 112d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest002, TestSize.Level0) 113d9f0492fSopenharmony_ci{ 114d9f0492fSopenharmony_ci char key1[] = "test.ro.sys.version"; 115d9f0492fSopenharmony_ci char value1[] = "set read only key"; 116d9f0492fSopenharmony_ci int ret = SetParameter(key1, value1); 117d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_SUCCESS); 118d9f0492fSopenharmony_ci ret = SetParameter(nullptr, nullptr); 119d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_INVALID); 120d9f0492fSopenharmony_ci} 121d9f0492fSopenharmony_ci 122d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest003, TestSize.Level0) 123d9f0492fSopenharmony_ci{ 124d9f0492fSopenharmony_ci char key2[] = "rw.sys.version*%version"; 125d9f0492fSopenharmony_ci char value2[] = "set value with illegal key"; 126d9f0492fSopenharmony_ci int ret = SetParameter(key2, value2); 127d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_INVALID); 128d9f0492fSopenharmony_ci} 129d9f0492fSopenharmony_ci 130d9f0492fSopenharmony_ci/* key = 32 */ 131d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest004, TestSize.Level0) 132d9f0492fSopenharmony_ci{ 133d9f0492fSopenharmony_ci char key3[] = "rw.sys.version.utilskvparameter0"; 134d9f0492fSopenharmony_ci char value3[] = "set with key = 32"; 135d9f0492fSopenharmony_ci int ret = SetParameter(key3, value3); 136d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_SUCCESS); 137d9f0492fSopenharmony_ci} 138d9f0492fSopenharmony_ci 139d9f0492fSopenharmony_ci/* value > 128 */ 140d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest005, TestSize.Level0) 141d9f0492fSopenharmony_ci{ 142d9f0492fSopenharmony_ci char key4[] = "rw.sys.version.version"; 143d9f0492fSopenharmony_ci char value4[] = "rw.sys.version.version.version.version flash_offset = *(hi_u32 *)DT_SetGetU32(&g_Element[0], 0)a\ 144d9f0492fSopenharmony_ci size = *(hi_u32 *)DT_SetGetU32(&g_Element[1], 0)a"; 145d9f0492fSopenharmony_ci int ret = SetParameter(key4, value4); 146d9f0492fSopenharmony_ci EXPECT_EQ(ret, SYSPARAM_INVALID_VALUE); 147d9f0492fSopenharmony_ci} 148d9f0492fSopenharmony_ci 149d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest006, TestSize.Level0) 150d9f0492fSopenharmony_ci{ 151d9f0492fSopenharmony_ci char key1[] = "rw.product.not.exist"; 152d9f0492fSopenharmony_ci char value1[64] = {0}; 153d9f0492fSopenharmony_ci char defValue1[] = "value of key not exist..."; 154d9f0492fSopenharmony_ci int ret = GetParameter(key1, defValue1, value1, 64); 155d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(defValue1))); 156d9f0492fSopenharmony_ci} 157d9f0492fSopenharmony_ci 158d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest007, TestSize.Level0) 159d9f0492fSopenharmony_ci{ 160d9f0492fSopenharmony_ci char key2[] = "rw.sys.version.version.version.version"; 161d9f0492fSopenharmony_ci char value2[64] = {0}; 162d9f0492fSopenharmony_ci char defValue2[] = "value of key > 32 ..."; 163d9f0492fSopenharmony_ci int ret = GetParameter(key2, defValue2, value2, 64); 164d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(defValue2))); 165d9f0492fSopenharmony_ci} 166d9f0492fSopenharmony_ci 167d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest008, TestSize.Level0) 168d9f0492fSopenharmony_ci{ 169d9f0492fSopenharmony_ci char key4[] = "test.rw.sys.version"; 170d9f0492fSopenharmony_ci char* value4 = nullptr; 171d9f0492fSopenharmony_ci char defValue3[] = "value of key > 32 ..."; 172d9f0492fSopenharmony_ci int ret = GetParameter(key4, defValue3, value4, 0); 173d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_INVALID); 174d9f0492fSopenharmony_ci} 175d9f0492fSopenharmony_ci 176d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest009, TestSize.Level0) 177d9f0492fSopenharmony_ci{ 178d9f0492fSopenharmony_ci char key5[] = "test.rw.product.type.2222222"; 179d9f0492fSopenharmony_ci char value5[] = "rw.sys.version.version.version.version \ 180d9f0492fSopenharmony_ci flash_offset = *(hi_u32 *)DT_SetGetU32(&g_Element[0], 0)"; 181d9f0492fSopenharmony_ci int ret = SetParameter(key5, value5); 182d9f0492fSopenharmony_ci EXPECT_EQ(ret, SYSPARAM_INVALID_VALUE); 183d9f0492fSopenharmony_ci char valueGet[2] = {0}; 184d9f0492fSopenharmony_ci char defValue3[] = "value of key > 32 ..."; 185d9f0492fSopenharmony_ci ret = GetParameter(key5, defValue3, valueGet, 2); 186d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_INVALID); 187d9f0492fSopenharmony_ci} 188d9f0492fSopenharmony_ci 189d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0010, TestSize.Level0) 190d9f0492fSopenharmony_ci{ 191d9f0492fSopenharmony_ci char key1[] = "test.rw.sys.version"; 192d9f0492fSopenharmony_ci char value1[] = "10.1.0"; 193d9f0492fSopenharmony_ci int ret = SetParameter(key1, value1); 194d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 195d9f0492fSopenharmony_ci ret = SystemWriteParam(key1, value1); 196d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 197d9f0492fSopenharmony_ci char valueGet1[32] = {0}; 198d9f0492fSopenharmony_ci ret = GetParameter(key1, "version=10.1.0", valueGet1, 32); 199d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(valueGet1))); 200d9f0492fSopenharmony_ci 201d9f0492fSopenharmony_ci char key2[] = "test.rw.product.type"; 202d9f0492fSopenharmony_ci char value2[] = "wifi_iot"; 203d9f0492fSopenharmony_ci ret = SetParameter(key2, value2); 204d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 205d9f0492fSopenharmony_ci ret = SystemWriteParam(key2, value2); 206d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 207d9f0492fSopenharmony_ci char valueGet2[32] = {0}; 208d9f0492fSopenharmony_ci ret = GetParameter(key2, "version=10.1.0", valueGet2, 32); 209d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(valueGet2))); 210d9f0492fSopenharmony_ci 211d9f0492fSopenharmony_ci char key3[] = "test.rw.product.manufacturer"; 212d9f0492fSopenharmony_ci char value3[] = "TEST MANUFACTURER"; 213d9f0492fSopenharmony_ci ret = SetParameter(key3, value3); 214d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 215d9f0492fSopenharmony_ci ret = SystemWriteParam(key3, value3); 216d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 217d9f0492fSopenharmony_ci char valueGet3[32] = {0}; 218d9f0492fSopenharmony_ci ret = GetParameter(key3, "version=10.1.0", valueGet3, 32); 219d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(valueGet3))); 220d9f0492fSopenharmony_ci 221d9f0492fSopenharmony_ci char key4[] = "test.rw.product.marketname"; 222d9f0492fSopenharmony_ci char value4[] = "TEST MARKETNAME"; 223d9f0492fSopenharmony_ci ret = SetParameter(key4, value4); 224d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 225d9f0492fSopenharmony_ci ret = SystemWriteParam(key4, value4); 226d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 227d9f0492fSopenharmony_ci char valueGet4[32] = {0}; 228d9f0492fSopenharmony_ci ret = GetParameter(key4, "version=10.1.0", valueGet4, 32); 229d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(valueGet4))); 230d9f0492fSopenharmony_ci} 231d9f0492fSopenharmony_ci 232d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0011, TestSize.Level0) 233d9f0492fSopenharmony_ci{ 234d9f0492fSopenharmony_ci char key1[] = "test.rw.sys.version.wait1"; 235d9f0492fSopenharmony_ci char value1[] = "10.1.0"; 236d9f0492fSopenharmony_ci int ret = SetParameter(key1, value1); 237d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 238d9f0492fSopenharmony_ci ret = SystemWriteParam(key1, value1); 239d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 240d9f0492fSopenharmony_ci ret = WaitParameter(key1, value1, 10); 241d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 242d9f0492fSopenharmony_ci ret = WaitParameter(key1, "*", 10); 243d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 244d9f0492fSopenharmony_ci char key2[] = "test.rw.sys.version.wait2"; 245d9f0492fSopenharmony_ci ret = WaitParameter(key2, "*", 1); 246d9f0492fSopenharmony_ci EXPECT_EQ(ret, SYSPARAM_WAIT_TIMEOUT); 247d9f0492fSopenharmony_ci} 248d9f0492fSopenharmony_ci 249d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0012, TestSize.Level0) 250d9f0492fSopenharmony_ci{ 251d9f0492fSopenharmony_ci char key1[] = "test.rw.sys.version.version1"; 252d9f0492fSopenharmony_ci char value1[] = "10.1.0"; 253d9f0492fSopenharmony_ci int ret = SetParameter(key1, value1); 254d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 255d9f0492fSopenharmony_ci 256d9f0492fSopenharmony_ci ret = SystemWriteParam(key1, value1); 257d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 258d9f0492fSopenharmony_ci // success 259d9f0492fSopenharmony_ci unsigned int handle = FindParameter(key1); 260d9f0492fSopenharmony_ci EXPECT_NE(handle, static_cast<unsigned int>(-1)); 261d9f0492fSopenharmony_ci char valueGet1[32] = {0}; 262d9f0492fSopenharmony_ci ret = GetParameterValue(handle, valueGet1, 32); 263d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(valueGet1))); 264d9f0492fSopenharmony_ci char nameGet1[32] = {0}; 265d9f0492fSopenharmony_ci ret = GetParameterName(handle, nameGet1, 32); 266d9f0492fSopenharmony_ci EXPECT_EQ(ret, static_cast<int>(strlen(nameGet1))); 267d9f0492fSopenharmony_ci 268d9f0492fSopenharmony_ci // fail 269d9f0492fSopenharmony_ci char key2[] = "test.rw.sys.version.version2"; 270d9f0492fSopenharmony_ci handle = FindParameter(key2); 271d9f0492fSopenharmony_ci EXPECT_EQ(handle, static_cast<unsigned int>(-1)); 272d9f0492fSopenharmony_ci ret = GetParameterValue(handle, valueGet1, 32); 273d9f0492fSopenharmony_ci EXPECT_EQ(ret, SYSPARAM_NOT_FOUND); 274d9f0492fSopenharmony_ci ret = GetParameterName(handle, nameGet1, 32); 275d9f0492fSopenharmony_ci EXPECT_EQ(ret, SYSPARAM_NOT_FOUND); 276d9f0492fSopenharmony_ci ret = GetParameterValue(handle, nullptr, 32); 277d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_INVALID); 278d9f0492fSopenharmony_ci ret = GetParameterCommitId(handle); 279d9f0492fSopenharmony_ci EXPECT_EQ(ret, -1); 280d9f0492fSopenharmony_ci} 281d9f0492fSopenharmony_ci 282d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0013, TestSize.Level0) 283d9f0492fSopenharmony_ci{ 284d9f0492fSopenharmony_ci long long int out = 0; 285d9f0492fSopenharmony_ci unsigned long long int uout = 0; 286d9f0492fSopenharmony_ci GetParameter_(nullptr, nullptr, nullptr, 0); 287d9f0492fSopenharmony_ci EXPECT_EQ(GetIntParameter("test.int.get", 0) == -TEST_VALUE, 1); 288d9f0492fSopenharmony_ci EXPECT_EQ(GetUintParameter("test.int.get", 0), 0); 289d9f0492fSopenharmony_ci EXPECT_EQ(GetIntParameter("test.uint.get", 0), TEST_VALUE); 290d9f0492fSopenharmony_ci EXPECT_EQ(GetUintParameter("test.uint.get", 0), TEST_VALUE); 291d9f0492fSopenharmony_ci EXPECT_EQ(GetIntParameter("test.int.default", 10), 10); // key not find,value = default 292d9f0492fSopenharmony_ci EXPECT_EQ(GetUintParameter("test.uint.default", 10), 10); // key not find,value = default 293d9f0492fSopenharmony_ci EXPECT_EQ(IsValidParamValue(nullptr, 0), 0); 294d9f0492fSopenharmony_ci EXPECT_EQ(IsValidParamValue("testvalue", strlen("testvalue") + 1), 1); 295d9f0492fSopenharmony_ci EXPECT_EQ(StringToLL("0x11", &out), 0); 296d9f0492fSopenharmony_ci EXPECT_EQ(StringToULL("0x11", &uout), 0); 297d9f0492fSopenharmony_ci EXPECT_EQ(StringToLL("not vailed", &out), -1); 298d9f0492fSopenharmony_ci EXPECT_EQ(StringToULL("not vailed", &uout), -1); 299d9f0492fSopenharmony_ci char udid[UDID_LEN] = {0}; 300d9f0492fSopenharmony_ci GetDevUdid(udid, UDID_LEN); 301d9f0492fSopenharmony_ci EXPECT_NE(GetMajorVersion(), 0); 302d9f0492fSopenharmony_ci int ret = GetDevUdid(nullptr, UDID_LEN); 303d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_FAILURE); 304d9f0492fSopenharmony_ci GetSeniorVersion(); 305d9f0492fSopenharmony_ci GetFeatureVersion(); 306d9f0492fSopenharmony_ci GetBuildVersion(); 307d9f0492fSopenharmony_ci} 308d9f0492fSopenharmony_ci 309d9f0492fSopenharmony_ci#ifndef OHOS_LITE 310d9f0492fSopenharmony_ci// for test param_wrapper.cpp 311d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0014, TestSize.Level0) 312d9f0492fSopenharmony_ci{ 313d9f0492fSopenharmony_ci const std::string key1 = "test.int.get"; 314d9f0492fSopenharmony_ci OHOS::system::SetParameter(std::string("testKey"), std::string("testValue")); 315d9f0492fSopenharmony_ci int v = OHOS::system::GetIntParameter(key1, 0); 316d9f0492fSopenharmony_ci EXPECT_EQ(v, -TEST_VALUE); 317d9f0492fSopenharmony_ci int8_t v1 = OHOS::system::GetIntParameter(key1, 0, -127, 128); // -127, 128 range 318d9f0492fSopenharmony_ci EXPECT_EQ(v1, -TEST_VALUE); 319d9f0492fSopenharmony_ci int16_t v2 = OHOS::system::GetIntParameter(key1, 0, -127, 128); // -127, 128 range 320d9f0492fSopenharmony_ci EXPECT_EQ(v2, -TEST_VALUE); 321d9f0492fSopenharmony_ci int32_t v3 = OHOS::system::GetIntParameter(key1, 0, -127, 128); // -127, 128 range 322d9f0492fSopenharmony_ci EXPECT_EQ(v3, -TEST_VALUE); 323d9f0492fSopenharmony_ci int64_t v4 = OHOS::system::GetIntParameter(key1, 0, -127, 128); // -127, 128 range 324d9f0492fSopenharmony_ci EXPECT_EQ(v4, -TEST_VALUE); 325d9f0492fSopenharmony_ci 326d9f0492fSopenharmony_ci int8_t v5 = OHOS::system::GetIntParameter(key1, 0, -10, 10); // -10, 10 range 327d9f0492fSopenharmony_ci EXPECT_EQ(v5, 0); 328d9f0492fSopenharmony_ci 329d9f0492fSopenharmony_ci const std::string key2 = "test.uint.get"; 330d9f0492fSopenharmony_ci uint8_t u1 = OHOS::system::GetUintParameter<uint8_t>(key2, 0, (uint8_t)255); // 255 max value 331d9f0492fSopenharmony_ci EXPECT_EQ(u1, TEST_VALUE); 332d9f0492fSopenharmony_ci uint16_t u2 = OHOS::system::GetUintParameter<uint16_t>(key2, 0, (uint16_t)255); // 255 max value 333d9f0492fSopenharmony_ci EXPECT_EQ(u2, TEST_VALUE); 334d9f0492fSopenharmony_ci uint32_t u3 = OHOS::system::GetUintParameter<uint32_t>(key2, 0, (uint32_t)255); // 255 max value 335d9f0492fSopenharmony_ci EXPECT_EQ(u3, TEST_VALUE); 336d9f0492fSopenharmony_ci uint64_t u4 = OHOS::system::GetUintParameter<uint64_t>(key2, 0, (uint64_t)255); // 255 max value 337d9f0492fSopenharmony_ci EXPECT_EQ(u4 == TEST_VALUE, 1); 338d9f0492fSopenharmony_ci const std::string key3 = "test.uint.get3"; 339d9f0492fSopenharmony_ci u1 = OHOS::system::GetUintParameter<uint8_t>(key3, 0, (uint8_t)255); // 255 max value 340d9f0492fSopenharmony_ci EXPECT_EQ(u1, 0); 341d9f0492fSopenharmony_ci u1 = OHOS::system::GetUintParameter<uint8_t>(key2, 0, (uint8_t)10); // 10 max value 342d9f0492fSopenharmony_ci EXPECT_EQ(u1, 0); 343d9f0492fSopenharmony_ci} 344d9f0492fSopenharmony_ci 345d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0015, TestSize.Level0) 346d9f0492fSopenharmony_ci{ 347d9f0492fSopenharmony_ci std::string type = OHOS::system::GetDeviceType(); 348d9f0492fSopenharmony_ci printf("device type %s \n", type.c_str()); 349d9f0492fSopenharmony_ci 350d9f0492fSopenharmony_ci const std::string key1 = "test.string.get"; 351d9f0492fSopenharmony_ci std::string v1 = OHOS::system::GetParameter(key1, ""); 352d9f0492fSopenharmony_ci EXPECT_EQ(strcmp(v1.c_str(), "101"), 0); 353d9f0492fSopenharmony_ci 354d9f0492fSopenharmony_ci const std::string key2 = "test.string.get2"; 355d9f0492fSopenharmony_ci v1 = OHOS::system::GetParameter(key2, "test2"); 356d9f0492fSopenharmony_ci EXPECT_EQ(strcmp(v1.c_str(), "test2"), 0); 357d9f0492fSopenharmony_ci 358d9f0492fSopenharmony_ci int ret = OHOS::system::GetStringParameter(key1, v1, ""); 359d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 360d9f0492fSopenharmony_ci EXPECT_EQ(strcmp(v1.c_str(), "101"), 0); 361d9f0492fSopenharmony_ci ret = OHOS::system::GetStringParameter(key2, v1, "test2"); 362d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 363d9f0492fSopenharmony_ci EXPECT_EQ(strcmp(v1.c_str(), "test2"), 0); 364d9f0492fSopenharmony_ci} 365d9f0492fSopenharmony_ci 366d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0016, TestSize.Level0) 367d9f0492fSopenharmony_ci{ 368d9f0492fSopenharmony_ci const std::string key1 = "test.bool.get.true"; 369d9f0492fSopenharmony_ci bool ret = OHOS::system::GetBoolParameter(key1, false); 370d9f0492fSopenharmony_ci EXPECT_EQ(ret, true); 371d9f0492fSopenharmony_ci const std::string key2 = "test.bool.get.false"; 372d9f0492fSopenharmony_ci ret = OHOS::system::GetBoolParameter(key2, true); 373d9f0492fSopenharmony_ci EXPECT_EQ(ret, false); 374d9f0492fSopenharmony_ci const std::string key3 = "test.bool.get3"; 375d9f0492fSopenharmony_ci ret = OHOS::system::GetBoolParameter(key3, false); 376d9f0492fSopenharmony_ci EXPECT_EQ(ret, false); 377d9f0492fSopenharmony_ci} 378d9f0492fSopenharmony_ci 379d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0017, TestSize.Level0) 380d9f0492fSopenharmony_ci{ 381d9f0492fSopenharmony_ci printf("distributionOS name =%s\n", GetDistributionOSName()); 382d9f0492fSopenharmony_ci EXPECT_STRNE(GetDistributionOSName(), nullptr); 383d9f0492fSopenharmony_ci printf("distributionOS version =%s\n", GetDistributionOSVersion()); 384d9f0492fSopenharmony_ci EXPECT_STRNE(GetDistributionOSVersion(), nullptr); 385d9f0492fSopenharmony_ci printf("distributionOS api version =%d\n", GetDistributionOSApiVersion()); 386d9f0492fSopenharmony_ci EXPECT_GT(GetDistributionOSApiVersion(), 0); 387d9f0492fSopenharmony_ci printf("distributionOS name =%s\n", GetDistributionOSReleaseType()); 388d9f0492fSopenharmony_ci EXPECT_STRNE(GetDistributionOSReleaseType(), nullptr); 389d9f0492fSopenharmony_ci printf("distributionOS name =%s\n", GetDistributionOSApiName()); 390d9f0492fSopenharmony_ci} 391d9f0492fSopenharmony_ci#endif 392d9f0492fSopenharmony_ci 393d9f0492fSopenharmony_ciHWTEST_F(SysparaUnitTest, parameterTest0018, TestSize.Level0) 394d9f0492fSopenharmony_ci{ 395d9f0492fSopenharmony_ci char key1[] = "test.ro.sys.version"; 396d9f0492fSopenharmony_ci char value1[] = "set read only key"; 397d9f0492fSopenharmony_ci int ret = SetParameter(key1, value1); 398d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_SUCCESS); 399d9f0492fSopenharmony_ci char key2[] = "persist.test.ro.sys.version"; 400d9f0492fSopenharmony_ci char value2[] = "set persist read only key"; 401d9f0492fSopenharmony_ci ret = SetParameter(key2, value2); 402d9f0492fSopenharmony_ci EXPECT_EQ(ret, EC_SUCCESS); 403d9f0492fSopenharmony_ci ret = SaveParameters(); 404d9f0492fSopenharmony_ci EXPECT_EQ(ret, 0); 405d9f0492fSopenharmony_ci} 406d9f0492fSopenharmony_ci} // namespace OHOS 407