!17 添加 syscap 编解码 napi 接口测试用例

Merge pull request !17 from chenyude/unittest
This commit is contained in:
openharmony_ci
2022-04-20 09:12:58 +00:00
committed by Gitee
4 changed files with 236 additions and 1 deletions
+1 -1
View File
@@ -27,7 +27,7 @@
"//developtools/syscap_codec:syscap_codec"
],
"inner_kits": [],
"test": []
"test": [ "//developtools/syscap_codec/test/unittest/common:unittest" ]
}
}
}
+90
View File
@@ -0,0 +1,90 @@
# Copyright (c) 2022 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.
if (defined(ohos_lite)) {
import("//build/lite/config/component/lite_component.gni")
import("//build/lite/config/test.gni")
test_output_root = "$root_out_dir/test/unittest/syscap_codec"
executable("test_syscap_napi_unittest") {
output_extension = "bin"
output_dir = test_output_root
include_dirs = [
"//utils/native/base/include",
"//third_party/node/src",
"//third_party/googletest/include",
"//developtools/syscap_codec/src/",
"//developtools/syscap_codec/include/",
"//developtools/syscap_codec/interfaces/inner_api/",
"//developtools/syscap_codec/test/unittest/common/include/",
]
cflags = [ "-g3" ]
sources = [
"//developtools/syscap_codec/interfaces/inner_api/syscap_interface.c",
"//developtools/syscap_codec/src/create_pcid.c",
"syscap_codec_test.cpp",
]
defines = [ "NAPI_TEST" ]
deps = [
"//base//hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
"//test/developertest/third_party/lib/cpp:gtest_main",
"//third_party/bounds_checking_function:libsec_static",
]
deps += [ "//build/lite/config/component/cJSON:cjson_static" ]
}
group("unittest") {
deps = [ ":test_syscap_napi_unittest" ]
}
} else {
import("//build/lite/config/component/lite_component.gni")
import("//build/ohos.gni")
import("//build/test.gni")
module_output_path = "developtools/syscap_codec"
ohos_unittest("syscap_codec_test") {
module_out_path = module_output_path
include_dirs = [
"//developtools/syscap_codec/src/",
"//developtools/syscap_codec/include/",
"//developtools/syscap_codec/interfaces/inner_api/",
"//developtools/syscap_codec/test/unittest/common/include/",
]
sources = [
"//developtools/syscap_codec/interfaces/inner_api/syscap_interface.c",
"//developtools/syscap_codec/src/create_pcid.c",
"syscap_codec_test.cpp",
]
deps = [
"//third_party/bounds_checking_function:libsec_static",
"//third_party/googletest:gtest_main",
]
deps += [ "//third_party/cJSON:cjson_static" ]
}
group("unittest") {
testonly = true
deps = [ ":syscap_codec_test" ]
}
}
@@ -0,0 +1,47 @@
/*
* Copyright (C) 2022 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.
*/
#ifndef _SYSCAP_CODEC_TEST_H
#define _SYSCAP_CODEC_TEST_H
#include <gtest/gtest.h>
#include "syscap_interface.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif /* __cplusplus */
#endif /* __cplusplus */
namespace Syscap {
int osSyscap[32] = {1, 3, 3};
char priSyscap[] = "Device.syscap1GEDR,Device.syscap2WREGW,Vendor.syscap3RGD,Vendor.syscap4RWEG,Vendor.syscap5REWGWE,";
class SyscapCodecTest : public testing::Test {
public:
static void SetUpTestCase(void);
static void TearDownTestCase(void);
void SetUp();
void TearDown();
};
} // namespace Syscap
#ifdef __cplusplus
#if __cplusplus
}
#endif /* __cplusplus */
#endif /* __cplusplus */
#endif /* _SYSCAP_CODEC_TEST_H */
@@ -0,0 +1,98 @@
/*
* Copyright (C) 2022 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"syscap_codec_test.h"
using namespace testing::ext;
using namespace std;
namespace Syscap {
void SyscapCodecTest::SetUpTestCase() {}
void SyscapCodecTest::TearDownTestCase() {}
void SyscapCodecTest::SetUp() {}
void SyscapCodecTest::TearDown() {}
/*
* @tc.name: EncodeOsSyscap
* @tc.desc: Check the OsSyscap Coding.
* @tc.type: FUNC
*/
HWTEST_F(SyscapCodecTest, EncodeOsSyscap, TestSize.Level1)
{
int *intOsInput = NULL;
EXPECT_TRUE(EncodeOsSyscap(&intOsInput));
free(intOsInput);
}
/*
* @tc.name: EncodePrivateSyscap
* @tc.desc: Check the PrivateSyscap Coding.
* @tc.type: FUNC
*/
HWTEST_F(SyscapCodecTest, EncodePrivateSyscap, TestSize.Level1)
{
char *charPriInput = NULL;
int priOutLen;
EXPECT_TRUE(EncodePrivateSyscap(&charPriInput, &priOutLen));
free(charPriInput);
}
/*
* @tc.name: DecodeOsSyscap
* @tc.desc: Check the OsSyscap Decoding.
* @tc.type: FUNC
*/
HWTEST_F(SyscapCodecTest, DecodeOsSyscap, TestSize.Level1)
{
char (*osOutput)[128] = NULL;
int decodeOsCnt;
char expectOsOutput001[] = "SystemCapability.Account.AppAccount";
char expectOsOutput002[] = "SystemCapability.Account.OsAccount";
EXPECT_TRUE(DecodeOsSyscap(osSyscap, &osOutput, &decodeOsCnt));
char (*tmpOsOutput)[128] = osOutput;
EXPECT_STREQ(*tmpOsOutput, expectOsOutput001);
EXPECT_STREQ(*(tmpOsOutput + 1), expectOsOutput002);
EXPECT_EQ(decodeOsCnt, 2);
free(osOutput);
}
/*
* @tc.name: DecodePrivateSyscap
* @tc.desc: Check the PrivateSyscap Decoding.
* @tc.type: FUNC
*/
HWTEST_F(SyscapCodecTest, DecodePrivateSyscap, TestSize.Level1)
{
char (*priOutput)[128] = NULL;
int decodePriCnt;
char expectPriOutput001[] = "SystemCapability.Device.syscap1GEDR";
char expectPriOutput002[] = "SystemCapability.Device.syscap2WREGW";
char expectPriOutput003[] = "SystemCapability.Vendor.syscap3RGD";
char expectPriOutput004[] = "SystemCapability.Vendor.syscap4RWEG";
char expectPriOutput005[] = "SystemCapability.Vendor.syscap5REWGWE";
EXPECT_TRUE(DecodePrivateSyscap(priSyscap, &priOutput, &decodePriCnt));
char (*tmpPtiOutput)[128] = priOutput;
EXPECT_STREQ(*tmpPtiOutput++, expectPriOutput001);
EXPECT_STREQ(*tmpPtiOutput++, expectPriOutput002);
EXPECT_STREQ(*tmpPtiOutput++, expectPriOutput003);
EXPECT_STREQ(*tmpPtiOutput++, expectPriOutput004);
EXPECT_STREQ(*tmpPtiOutput, expectPriOutput005);
EXPECT_EQ(decodePriCnt, 5);
free(priOutput);
}
} // namespace Syscap