1 /* 2 * Copyright (C) 2022 Huawei Technologies Co., Ltd. 3 * Licensed under the Mulan PSL v2. 4 * You can use this software according to the terms and conditions of the Mulan PSL v2. 5 * You may obtain a copy of Mulan PSL v2 at: 6 * http://license.coscl.org.cn/MulanPSL2 7 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 8 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 9 * PURPOSE. 10 * See the Mulan PSL v2 for more details. 11 */ 12 13 #ifndef __CRYPTO_COMMON_TEST_H__ 14 #define __CRYPTO_COMMON_TEST_H__ 15 16 #include <public_test.h> 17 #include <session_mgr/client_session_mgr.h> 18 19 #define CRYPTO_API_UUID \ 20 { \ 21 0x05050505, 0x0303, 0x0303, \ 22 { \ 23 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01 \ 24 } \ 25 } 26 27 #define FUN_NAME_LEN 64 28 enum TEST_CRYPTO_API_CMD_ID { 29 CMD_RUN_BY_FUN_SEQ = 0, 30 }; 31 32 class CryptoTest : public TeeBasicTestFram 33 { 34 protected: 35 ClientSessionMgr session; 36 TEEC_Operation operation = { 0 }; 37 uint32_t origin; 38 ClientShareMemMgr testMem; 39 40 public: 41 void SetUp(); 42 void TearDown(); 43 TEEC_Result InvokeTest(const char *casename); 44 }; 45 46 #define CRYPTO_TEST_EQ(casename) \ 47 TEE_TEST(CryptoTest, casename, Function | MediumTest | Level0) \ 48 { \ 49 TEEC_Result ret = InvokeTest(#casename); \ 50 ASSERT_EQ(ret, TEEC_SUCCESS); \ 51 } 52 53 #define CRYPTO_TEST_NE(casename) \ 54 TEE_TEST(CryptoTest, casename, Function | MediumTest | Level0) \ 55 { \ 56 TEEC_Result ret = InvokeTest(#casename); \ 57 ASSERT_NE(ret, TEEC_SUCCESS); \ 58 } 59 #endif 60