]> git.proxmox.com Git - mirror_edk2.git/blame - CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h
CryptoPkg: BaseCryptLib: Add unit tests (Host and Shell based)
[mirror_edk2.git] / CryptoPkg / Test / UnitTest / Library / BaseCryptLib / TestBaseCryptLib.h
CommitLineData
694bfd6f
MC
1/** @file\r
2 Application for Cryptographic Primitives Validation.\r
3\r
4Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
5SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
7**/\r
8\r
9#ifndef __CRYPTEST_H__\r
10#define __CRYPTEST_H__\r
11\r
12#include <PiPei.h>\r
13#include <Uefi.h>\r
14#include <Library/UefiLib.h>\r
15#include <Library/DebugLib.h>\r
16#include <Library/UnitTestLib.h>\r
17#include <Library/PrintLib.h>\r
18#include <Library/BaseCryptLib.h>\r
19#include <Library/BaseLib.h>\r
20#include <Library/BaseMemoryLib.h>\r
21#include <Library/MemoryAllocationLib.h>\r
22//#include <UnitTestTypes.h>\r
23#include <Library/UnitTestLib.h>\r
24//#include <Library/UnitTestAssertLib.h>\r
25\r
26#define UNIT_TEST_NAME "BaseCryptLib Unit Test"\r
27#define UNIT_TEST_VERSION "1.0"\r
28\r
29typedef struct {\r
30 CHAR8 *Description;\r
31 CHAR8 *ClassName;\r
32 UNIT_TEST_FUNCTION Func;\r
33 UNIT_TEST_PREREQUISITE PreReq;\r
34 UNIT_TEST_CLEANUP CleanUp;\r
35 UNIT_TEST_CONTEXT Context;\r
36} TEST_DESC;\r
37\r
38typedef struct {\r
39 CHAR8 *Title;\r
40 CHAR8 *Package;\r
41 UNIT_TEST_SUITE_SETUP Sup;\r
42 UNIT_TEST_SUITE_TEARDOWN Tdn;\r
43 UINTN *TestNum;\r
44 TEST_DESC *TestDesc;\r
45} SUITE_DESC;\r
46\r
47extern UINTN mPkcs7EkuTestNum;\r
48extern TEST_DESC mPkcs7EkuTest[];\r
49\r
50extern UINTN mHashTestNum;\r
51extern TEST_DESC mHashTest[];\r
52\r
53extern UINTN mHmacTestNum;\r
54extern TEST_DESC mHmacTest[];\r
55\r
56extern UINTN mBlockCipherTestNum;\r
57extern TEST_DESC mBlockCipherTest[];\r
58\r
59extern UINTN mRsaTestNum;\r
60extern TEST_DESC mRsaTest[];\r
61\r
62extern UINTN mRsaCertTestNum;\r
63extern TEST_DESC mRsaCertTest[];\r
64\r
65extern UINTN mPkcs7TestNum;\r
66extern TEST_DESC mPkcs7Test[];\r
67\r
68extern UINTN mPkcs5TestNum;\r
69extern TEST_DESC mPkcs5Test[];\r
70\r
71extern UINTN mAuthenticodeTestNum;\r
72extern TEST_DESC mAuthenticodeTest[];\r
73\r
74extern UINTN mImageTimestampTestNum;\r
75extern TEST_DESC mImageTimestampTest[];\r
76\r
77extern UINTN mDhTestNum;\r
78extern TEST_DESC mDhTest[];\r
79\r
80extern UINTN mPrngTestNum;\r
81extern TEST_DESC mPrngTest[];\r
82\r
83extern UINTN mOaepTestNum;\r
84extern TEST_DESC mOaepTest[];\r
85\r
86/** Creates a framework you can use */\r
87EFI_STATUS\r
88EFIAPI\r
89CreateUnitTest (\r
90 IN CHAR8* UnitTestName,\r
91 IN CHAR8* UnitTestVersion,\r
92 IN OUT UNIT_TEST_FRAMEWORK_HANDLE* Framework\r
93);\r
94\r
95/**\r
96 Validate UEFI-OpenSSL DH Interfaces.\r
97\r
98 @retval EFI_SUCCESS Validation succeeded.\r
99 @retval EFI_ABORTED Validation failed.\r
100\r
101**/\r
102EFI_STATUS\r
103ValidateCryptDh (\r
104 VOID\r
105 );\r
106\r
107/**\r
108 Validate UEFI-OpenSSL pseudorandom number generator interfaces.\r
109\r
110 @retval EFI_SUCCESS Validation succeeded.\r
111 @retval EFI_ABORTED Validation failed.\r
112\r
113**/\r
114EFI_STATUS\r
115ValidateCryptPrng (\r
116 VOID\r
117 );\r
118\r
119\r
120\r
121#endif\r