From fcecd0a9d489eb7153a1e5d6b2ac11fa626bd137 Mon Sep 17 00:00:00 2001 From: stesen Date: Mon, 28 Jun 2021 21:50:20 +0800 Subject: [PATCH] Description:[feature] Add hievent hal test Test: start in debug build Change-Id: I2348a4874b40a1858b582870e214ce611b930ff5 Signed-off-by: stesen --- build_lite/BUILD.gn | 1 + hiviewdfx_lite/hievent_hal/BUILD.gn | 27 ++++ hiviewdfx_lite/hievent_hal/Test.tmpl | 19 +++ .../hievent_hal/src/hievent_lite_test.c | 126 ++++++++++++++++++ 4 files changed, 173 insertions(+) create mode 100755 hiviewdfx_lite/hievent_hal/BUILD.gn create mode 100755 hiviewdfx_lite/hievent_hal/Test.tmpl create mode 100755 hiviewdfx_lite/hievent_hal/src/hievent_lite_test.c diff --git a/build_lite/BUILD.gn b/build_lite/BUILD.gn index 0a05957e2..8d1390f85 100644 --- a/build_lite/BUILD.gn +++ b/build_lite/BUILD.gn @@ -42,6 +42,7 @@ lite_component("acts_component") { "//test/xts/acts/utils_lite/kv_store_hal:ActsKvStoreTest", "//test/xts/acts/security_lite/huks_hal:ActsSecurityDataTest", "//test/xts/acts/hiviewdfx_lite/hilog_hal:ActsDfxFuncTest", + "//test/xts/acts/hiviewdfx_lite/hievent_hal:ActsHieventLiteTest", "//test/xts/acts/distributed_schedule_lite/system_ability_manager_hal:ActsSamgrTest", "//test/xts/acts/update_lite/dupdate_hal:ActsUpdaterFuncTest", diff --git a/hiviewdfx_lite/hievent_hal/BUILD.gn b/hiviewdfx_lite/hievent_hal/BUILD.gn new file mode 100755 index 000000000..ba00f0393 --- /dev/null +++ b/hiviewdfx_lite/hievent_hal/BUILD.gn @@ -0,0 +1,27 @@ + # Copyright (c) 2020 Huawei Device Co., Ltd. + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + +import("//test/xts/tools/lite/build/suite_lite.gni") +hctest_suite("ActsHieventLiteTest") { + suite_name = "acts" + sources = [ + "src/hievent_lite_test.c", + ] + + include_dirs = [ + "src", + "//base/hiviewdfx/hievent_lite/interfaces/native/innerkits", + ] + + cflags = [ "-Wno-error" ] +} diff --git a/hiviewdfx_lite/hievent_hal/Test.tmpl b/hiviewdfx_lite/hievent_hal/Test.tmpl new file mode 100755 index 000000000..be8407e12 --- /dev/null +++ b/hiviewdfx_lite/hievent_hal/Test.tmpl @@ -0,0 +1,19 @@ +{ + "description": "Config for $module test cases", + "environment": [ + { + "type": "device", + "label": "wifiiot" + } + ], + "kits": [ + { + "type": "DeployKit", + "timeout": "20000", + "burn_file": "$subsystem/$module.bin" + } + ], + "driver": { + "type": "CTestLite" + } +} \ No newline at end of file diff --git a/hiviewdfx_lite/hievent_hal/src/hievent_lite_test.c b/hiviewdfx_lite/hievent_hal/src/hievent_lite_test.c new file mode 100755 index 000000000..480e8644a --- /dev/null +++ b/hiviewdfx_lite/hievent_hal/src/hievent_lite_test.c @@ -0,0 +1,126 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "event.h" +#include "hctest.h" + +#define HIEVENT_TEST_ID 0x1234 + +/** + * @tc.desc : register a test suite, this suite is used to test basic flow and interface dependency + * @param : subsystem name is hiviewdfx + * @param : module name is hievet_lite + * @param : test suit name is HieventLiteTest + */ +LITE_TEST_SUIT(hiviewdfx, hievent_lite, HieventLiteTest); + +/** + * @tc.setup : setup for all testcases + * @return : setup result, TRUE is success, FALSE is fail + */ +static BOOL HieventLiteTestSuiteSetUp(void) +{ + return TRUE; +} + +/** + * @tc.teardown : teardown for all testcases + * @return : teardown result, TRUE is success, FALSE is fail + */ +static BOOL HieventLiteTestSuiteTearDown(void) +{ + printf("+-------------------------------------------+\n"); + return TRUE; +} + +/** + * @tc.desc : register a test suite, this suite is used to test basic flow and interface dependency + * @param : subsystem name is hiviewdfx + * @param : module name is hievet_lite + * @param : test suit name is HieventLiteTest + */ +static HieventProc HieventLiteTestOutputFunc(uint8 *data) +{ + HiEvent *e = (HiEvent *)data; + + TEST_ASSERT_EQUAL_INT(HIEVENT_TEST_ID, e->common.eventId); +} + +/** + * @tc.name : HieventLiteFuncTest001 + * @tc.desc : Test HiEventCreate + * @tc.level : Level 1 + */ +LITE_TEST_CASE(HieventLiteTestSuite, HieventLiteFuncTest001, Level1) +{ + HiEvent *e = HiEventCreate(HIEVENT_FAULT, 0, 3); + + TEST_ASSERT_NOT_NULL(e); + + HiEventReport(e); +}; + +/** + * @tc.name : HieventLiteFuncTest002 + * @tc.desc : Test HiEventPutInteger 3 items whth async flush + * @tc.level : Level 1 + */ +LITE_TEST_CASE(HieventLiteTestSuite, HieventLiteFuncTest002, Level1) +{ + HiEvent *e = HiEventCreate(HIEVENT_FAULT, 1, 3); + + TEST_ASSERT_NOT_NULL(e); + + HiEventPutInteger(e, 1, 0); + + HiEventReport(e); + + HiEventFlush(FALSE); +}; + +/** + * @tc.name : HieventLiteFuncTest003 + * @tc.desc : Test HiEventCreate + * @tc.level : Level 1 + */ +LITE_TEST_CASE(HieventLiteTestSuite, HieventLiteFuncTest003, Level1) +{ + HiEvent *e = HiEventCreate(HIEVENT_FAULT, HIEVENT_TEST_ID, 3); + + HiEventRegisterProc(HieventLiteTestOutputFunc); + + TEST_ASSERT_NOT_NULL(e); + + HiEventPutInteger(e, 1, 0); + HiEventPutInteger(e, 2, 10); + HiEventPutInteger(e, 3, 20); + + HiEventReport(e); + HiEventFlush(TRUE); + HiEventUnRegisterProc(HieventLiteTestOutputFunc); +}; + +/** + * @tc.name : HieventLiteFuncTest004 + * @tc.desc : Test HiEventCreate + * @tc.level : Level 1 + */ +LITE_TEST_CASE(HieventLiteTestSuite, HieventLiteFuncTest004, Level1) +{ + HIEVENT_FAULT_REPORT(8, 1, 2); +}; + -- GitLab