diff options
Diffstat (limited to 'MdePkg/Test/UnitTest/Library/BaseLib/Base64UnitTest.c')
| -rw-r--r-- | MdePkg/Test/UnitTest/Library/BaseLib/Base64UnitTest.c | 168 |
1 files changed, 87 insertions, 81 deletions
diff --git a/MdePkg/Test/UnitTest/Library/BaseLib/Base64UnitTest.c b/MdePkg/Test/UnitTest/Library/BaseLib/Base64UnitTest.c index c06c859f1d04..847b7743f0e7 100644 --- a/MdePkg/Test/UnitTest/Library/BaseLib/Base64UnitTest.c +++ b/MdePkg/Test/UnitTest/Library/BaseLib/Base64UnitTest.c @@ -31,37 +31,37 @@ */ typedef struct { - CHAR8 *TestInput; - CHAR8 *TestOutput; - EFI_STATUS ExpectedStatus; - VOID *BufferToFree; - UINTN ExpectedSize; + CHAR8 *TestInput; + CHAR8 *TestOutput; + EFI_STATUS ExpectedStatus; + VOID *BufferToFree; + UINTN ExpectedSize; } BASIC_TEST_CONTEXT; -#define B64_TEST_1 "" -#define BIN_TEST_1 "" +#define B64_TEST_1 "" +#define BIN_TEST_1 "" -#define B64_TEST_2 "Zg==" -#define BIN_TEST_2 "f" +#define B64_TEST_2 "Zg==" +#define BIN_TEST_2 "f" -#define B64_TEST_3 "Zm8=" -#define BIN_TEST_3 "fo" +#define B64_TEST_3 "Zm8=" +#define BIN_TEST_3 "fo" -#define B64_TEST_4 "Zm9v" -#define BIN_TEST_4 "foo" +#define B64_TEST_4 "Zm9v" +#define BIN_TEST_4 "foo" -#define B64_TEST_5 "Zm9vYg==" -#define BIN_TEST_5 "foob" +#define B64_TEST_5 "Zm9vYg==" +#define BIN_TEST_5 "foob" -#define B64_TEST_6 "Zm9vYmE=" -#define BIN_TEST_6 "fooba" +#define B64_TEST_6 "Zm9vYmE=" +#define BIN_TEST_6 "fooba" -#define B64_TEST_7 "Zm9vYmFy" -#define BIN_TEST_7 "foobar" +#define B64_TEST_7 "Zm9vYmFy" +#define BIN_TEST_7 "foobar" // Adds all white space - also ends the last quantum with only spaces afterwards -#define B64_TEST_8_IN " \t\v Zm9\r\nvYmFy \f " -#define BIN_TEST_8 "foobar" +#define B64_TEST_8_IN " \t\v Zm9\r\nvYmFy \f " +#define BIN_TEST_8 "foobar" // Not a quantum multiple of 4 #define B64_ERROR_1 "Zm9vymFy=" @@ -70,37 +70,37 @@ typedef struct { #define B64_ERROR_2 "Zm$vymFy" // Too many '=' characters -#define B64_ERROR_3 "Z===" +#define B64_ERROR_3 "Z===" // Poorly placed '=' -#define B64_ERROR_4 "Zm=vYmFy" +#define B64_ERROR_4 "Zm=vYmFy" -#define MAX_TEST_STRING_SIZE (200) +#define MAX_TEST_STRING_SIZE (200) // ------------------------------------------------ Input----------Output-----------Result-------Free--Expected Output Size -static BASIC_TEST_CONTEXT mBasicEncodeTest1 = {BIN_TEST_1, B64_TEST_1, EFI_SUCCESS, NULL, sizeof(B64_TEST_1)}; -static BASIC_TEST_CONTEXT mBasicEncodeTest2 = {BIN_TEST_2, B64_TEST_2, EFI_SUCCESS, NULL, sizeof(B64_TEST_2)}; -static BASIC_TEST_CONTEXT mBasicEncodeTest3 = {BIN_TEST_3, B64_TEST_3, EFI_SUCCESS, NULL, sizeof(B64_TEST_3)}; -static BASIC_TEST_CONTEXT mBasicEncodeTest4 = {BIN_TEST_4, B64_TEST_4, EFI_SUCCESS, NULL, sizeof(B64_TEST_4)}; -static BASIC_TEST_CONTEXT mBasicEncodeTest5 = {BIN_TEST_5, B64_TEST_5, EFI_SUCCESS, NULL, sizeof(B64_TEST_5)}; -static BASIC_TEST_CONTEXT mBasicEncodeTest6 = {BIN_TEST_6, B64_TEST_6, EFI_SUCCESS, NULL, sizeof(B64_TEST_6)}; -static BASIC_TEST_CONTEXT mBasicEncodeTest7 = {BIN_TEST_7, B64_TEST_7, EFI_SUCCESS, NULL, sizeof(B64_TEST_7)}; -static BASIC_TEST_CONTEXT mBasicEncodeError1 = {BIN_TEST_7, B64_TEST_1, EFI_BUFFER_TOO_SMALL, NULL, sizeof(B64_TEST_7)}; +static BASIC_TEST_CONTEXT mBasicEncodeTest1 = { BIN_TEST_1, B64_TEST_1, EFI_SUCCESS, NULL, sizeof (B64_TEST_1) }; +static BASIC_TEST_CONTEXT mBasicEncodeTest2 = { BIN_TEST_2, B64_TEST_2, EFI_SUCCESS, NULL, sizeof (B64_TEST_2) }; +static BASIC_TEST_CONTEXT mBasicEncodeTest3 = { BIN_TEST_3, B64_TEST_3, EFI_SUCCESS, NULL, sizeof (B64_TEST_3) }; +static BASIC_TEST_CONTEXT mBasicEncodeTest4 = { BIN_TEST_4, B64_TEST_4, EFI_SUCCESS, NULL, sizeof (B64_TEST_4) }; +static BASIC_TEST_CONTEXT mBasicEncodeTest5 = { BIN_TEST_5, B64_TEST_5, EFI_SUCCESS, NULL, sizeof (B64_TEST_5) }; +static BASIC_TEST_CONTEXT mBasicEncodeTest6 = { BIN_TEST_6, B64_TEST_6, EFI_SUCCESS, NULL, sizeof (B64_TEST_6) }; +static BASIC_TEST_CONTEXT mBasicEncodeTest7 = { BIN_TEST_7, B64_TEST_7, EFI_SUCCESS, NULL, sizeof (B64_TEST_7) }; +static BASIC_TEST_CONTEXT mBasicEncodeError1 = { BIN_TEST_7, B64_TEST_1, EFI_BUFFER_TOO_SMALL, NULL, sizeof (B64_TEST_7) }; -static BASIC_TEST_CONTEXT mBasicDecodeTest1 = {B64_TEST_1, BIN_TEST_1, EFI_SUCCESS, NULL, sizeof(BIN_TEST_1)-1}; -static BASIC_TEST_CONTEXT mBasicDecodeTest2 = {B64_TEST_2, BIN_TEST_2, EFI_SUCCESS, NULL, sizeof(BIN_TEST_2)-1}; -static BASIC_TEST_CONTEXT mBasicDecodeTest3 = {B64_TEST_3, BIN_TEST_3, EFI_SUCCESS, NULL, sizeof(BIN_TEST_3)-1}; -static BASIC_TEST_CONTEXT mBasicDecodeTest4 = {B64_TEST_4, BIN_TEST_4, EFI_SUCCESS, NULL, sizeof(BIN_TEST_4)-1}; -static BASIC_TEST_CONTEXT mBasicDecodeTest5 = {B64_TEST_5, BIN_TEST_5, EFI_SUCCESS, NULL, sizeof(BIN_TEST_5)-1}; -static BASIC_TEST_CONTEXT mBasicDecodeTest6 = {B64_TEST_6, BIN_TEST_6, EFI_SUCCESS, NULL, sizeof(BIN_TEST_6)-1}; -static BASIC_TEST_CONTEXT mBasicDecodeTest7 = {B64_TEST_7, BIN_TEST_7, EFI_SUCCESS, NULL, sizeof(BIN_TEST_7)-1}; -static BASIC_TEST_CONTEXT mBasicDecodeTest8 = {B64_TEST_8_IN, BIN_TEST_8, EFI_SUCCESS, NULL, sizeof(BIN_TEST_8)-1}; +static BASIC_TEST_CONTEXT mBasicDecodeTest1 = { B64_TEST_1, BIN_TEST_1, EFI_SUCCESS, NULL, sizeof (BIN_TEST_1)-1 }; +static BASIC_TEST_CONTEXT mBasicDecodeTest2 = { B64_TEST_2, BIN_TEST_2, EFI_SUCCESS, NULL, sizeof (BIN_TEST_2)-1 }; +static BASIC_TEST_CONTEXT mBasicDecodeTest3 = { B64_TEST_3, BIN_TEST_3, EFI_SUCCESS, NULL, sizeof (BIN_TEST_3)-1 }; +static BASIC_TEST_CONTEXT mBasicDecodeTest4 = { B64_TEST_4, BIN_TEST_4, EFI_SUCCESS, NULL, sizeof (BIN_TEST_4)-1 }; +static BASIC_TEST_CONTEXT mBasicDecodeTest5 = { B64_TEST_5, BIN_TEST_5, EFI_SUCCESS, NULL, sizeof (BIN_TEST_5)-1 }; +static BASIC_TEST_CONTEXT mBasicDecodeTest6 = { B64_TEST_6, BIN_TEST_6, EFI_SUCCESS, NULL, sizeof (BIN_TEST_6)-1 }; +static BASIC_TEST_CONTEXT mBasicDecodeTest7 = { B64_TEST_7, BIN_TEST_7, EFI_SUCCESS, NULL, sizeof (BIN_TEST_7)-1 }; +static BASIC_TEST_CONTEXT mBasicDecodeTest8 = { B64_TEST_8_IN, BIN_TEST_8, EFI_SUCCESS, NULL, sizeof (BIN_TEST_8)-1 }; -static BASIC_TEST_CONTEXT mBasicDecodeError1 = {B64_ERROR_1, B64_ERROR_1, EFI_INVALID_PARAMETER, NULL, 0}; -static BASIC_TEST_CONTEXT mBasicDecodeError2 = {B64_ERROR_2, B64_ERROR_2, EFI_INVALID_PARAMETER, NULL, 0}; -static BASIC_TEST_CONTEXT mBasicDecodeError3 = {B64_ERROR_3, B64_ERROR_3, EFI_INVALID_PARAMETER, NULL, 0}; -static BASIC_TEST_CONTEXT mBasicDecodeError4 = {B64_ERROR_4, B64_ERROR_4, EFI_INVALID_PARAMETER, NULL, 0}; -static BASIC_TEST_CONTEXT mBasicDecodeError5 = {B64_TEST_7, BIN_TEST_1, EFI_BUFFER_TOO_SMALL, NULL, sizeof(BIN_TEST_7)-1}; +static BASIC_TEST_CONTEXT mBasicDecodeError1 = { B64_ERROR_1, B64_ERROR_1, EFI_INVALID_PARAMETER, NULL, 0 }; +static BASIC_TEST_CONTEXT mBasicDecodeError2 = { B64_ERROR_2, B64_ERROR_2, EFI_INVALID_PARAMETER, NULL, 0 }; +static BASIC_TEST_CONTEXT mBasicDecodeError3 = { B64_ERROR_3, B64_ERROR_3, EFI_INVALID_PARAMETER, NULL, 0 }; +static BASIC_TEST_CONTEXT mBasicDecodeError4 = { B64_ERROR_4, B64_ERROR_4, EFI_INVALID_PARAMETER, NULL, 0 }; +static BASIC_TEST_CONTEXT mBasicDecodeError5 = { B64_TEST_7, BIN_TEST_1, EFI_BUFFER_TOO_SMALL, NULL, sizeof (BIN_TEST_7)-1 }; /** Simple clean up method to make sure tests clean up even if interrupted and fail @@ -117,7 +117,7 @@ CleanUpB64TestContext ( Btc = (BASIC_TEST_CONTEXT *)Context; if (Btc != NULL) { - //free string if set + // free string if set if (Btc->BufferToFree != NULL) { FreePool (Btc->BufferToFree); Btc->BufferToFree = NULL; @@ -159,7 +159,7 @@ RfcEncodeTest ( INTN CompareStatus; UINTN indx; - Btc = (BASIC_TEST_CONTEXT *) Context; + Btc = (BASIC_TEST_CONTEXT *)Context; binString = Btc->TestInput; b64String = Btc->TestOutput; @@ -168,21 +168,21 @@ RfcEncodeTest ( // string buffer. // - b64StringSize = AsciiStrnSizeS(b64String, MAX_TEST_STRING_SIZE); - BinSize = AsciiStrnLenS(binString, MAX_TEST_STRING_SIZE); - BinData = (UINT8 *) binString; + b64StringSize = AsciiStrnSizeS (b64String, MAX_TEST_STRING_SIZE); + BinSize = AsciiStrnLenS (binString, MAX_TEST_STRING_SIZE); + BinData = (UINT8 *)binString; - b64WorkString = (CHAR8 *) AllocatePool(b64StringSize); - UT_ASSERT_NOT_NULL(b64WorkString); + b64WorkString = (CHAR8 *)AllocatePool (b64StringSize); + UT_ASSERT_NOT_NULL (b64WorkString); Btc->BufferToFree = b64WorkString; - ReturnSize = b64StringSize; + ReturnSize = b64StringSize; - Status = Base64Encode(BinData, BinSize, b64WorkString, &ReturnSize); + Status = Base64Encode (BinData, BinSize, b64WorkString, &ReturnSize); - UT_ASSERT_STATUS_EQUAL(Status, Btc->ExpectedStatus); + UT_ASSERT_STATUS_EQUAL (Status, Btc->ExpectedStatus); - UT_ASSERT_EQUAL(ReturnSize, Btc->ExpectedSize); + UT_ASSERT_EQUAL (ReturnSize, Btc->ExpectedSize); if (!EFI_ERROR (Btc->ExpectedStatus)) { if (ReturnSize != 0) { @@ -192,12 +192,15 @@ RfcEncodeTest ( for (indx = 0; indx < ReturnSize; indx++) { UT_LOG_ERROR (" %2.2x", 0xff & b64String[indx]); } + UT_LOG_ERROR ("\n b64 work string:\n"); for (indx = 0; indx < ReturnSize; indx++) { UT_LOG_ERROR (" %2.2x", 0xff & b64WorkString[indx]); } + UT_LOG_ERROR ("\n"); } + UT_ASSERT_EQUAL (CompareStatus, 0); } } @@ -225,22 +228,22 @@ RfcEncodeTest ( STATIC UNIT_TEST_STATUS EFIAPI -RfcDecodeTest( +RfcDecodeTest ( IN UNIT_TEST_CONTEXT Context ) { - BASIC_TEST_CONTEXT *Btc; - CHAR8 *b64String; - CHAR8 *binString; + BASIC_TEST_CONTEXT *Btc; + CHAR8 *b64String; + CHAR8 *binString; EFI_STATUS Status; UINTN b64StringLen; UINTN ReturnSize; - UINT8 *BinData; + UINT8 *BinData; UINTN BinSize; INTN CompareStatus; UINTN indx; - Btc = (BASIC_TEST_CONTEXT *)Context; + Btc = (BASIC_TEST_CONTEXT *)Context; b64String = Btc->TestInput; binString = Btc->TestOutput; @@ -249,13 +252,13 @@ RfcDecodeTest( // b64StringLen = AsciiStrnLenS (b64String, MAX_TEST_STRING_SIZE); - BinSize = AsciiStrnLenS (binString, MAX_TEST_STRING_SIZE); + BinSize = AsciiStrnLenS (binString, MAX_TEST_STRING_SIZE); BinData = AllocatePool (BinSize); - UT_ASSERT_NOT_NULL(BinData); + UT_ASSERT_NOT_NULL (BinData); Btc->BufferToFree = BinData; - ReturnSize = BinSize; + ReturnSize = BinSize; Status = Base64Decode (b64String, b64StringLen, BinData, &ReturnSize); @@ -275,12 +278,15 @@ RfcDecodeTest( for (indx = 0; indx < ReturnSize; indx++) { UT_LOG_ERROR (" %2.2x", 0xff & binString[indx]); } + UT_LOG_ERROR ("\nBinData:\n"); for (indx = 0; indx < ReturnSize; indx++) { UT_LOG_ERROR (" %2.2x", 0xff & BinData[indx]); } + UT_LOG_ERROR ("\n"); } + UT_ASSERT_EQUAL (CompareStatus, 0); } } @@ -384,7 +390,7 @@ SafeStringContraintCheckTest ( } /** - Initialze the unit test framework, suite, and unit tests for the + Initialize the unit test framework, suite, and unit tests for the Base64 conversion APIs of BaseLib and run the unit tests. @retval EFI_SUCCESS All test cases were dispatched. @@ -413,8 +419,8 @@ UnitTestingEntry ( // Status = InitUnitTestFramework (&Fw, UNIT_TEST_APP_NAME, gEfiCallerBaseName, UNIT_TEST_APP_VERSION); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "Failed in InitUnitTestFramework. Status = %r\n", Status)); - goto EXIT; + DEBUG ((DEBUG_ERROR, "Failed in InitUnitTestFramework. Status = %r\n", Status)); + goto EXIT; } // @@ -441,19 +447,19 @@ UnitTestingEntry ( // Status = CreateUnitTestSuite (&b64DecodeTests, Fw, "b64 Decode Ascii string to binary", "BaseLib.b64Decode", NULL, NULL); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "Failed in CreateUnitTestSuite for b64Decode Tests\n")); - Status = EFI_OUT_OF_RESOURCES; - goto EXIT; + DEBUG ((DEBUG_ERROR, "Failed in CreateUnitTestSuite for b64Decode Tests\n")); + Status = EFI_OUT_OF_RESOURCES; + goto EXIT; } - AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - Empty", "Test1", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest1); - AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - f", "Test2", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest2); - AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - fo", "Test3", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest3); - AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - foo", "Test4", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest4); - AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - foob", "Test5", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest5); - AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - fooba", "Test6", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest6); - AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - foobar", "Test7", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest7); - AddTestCase (b64DecodeTests, "Ignore Whitespace test", "Test8", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest8); + AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - Empty", "Test1", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest1); + AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - f", "Test2", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest2); + AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - fo", "Test3", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest3); + AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - foo", "Test4", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest4); + AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - foob", "Test5", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest5); + AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - fooba", "Test6", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest6); + AddTestCase (b64DecodeTests, "RFC 4686 Test Vector - foobar", "Test7", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest7); + AddTestCase (b64DecodeTests, "Ignore Whitespace test", "Test8", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeTest8); AddTestCase (b64DecodeTests, "Not a quantum multiple of 4", "Error1", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeError1); AddTestCase (b64DecodeTests, "Invalid characters in the string", "Error2", RfcDecodeTest, NULL, CleanUpB64TestContext, &mBasicDecodeError2); @@ -505,8 +511,8 @@ BaseLibUnitTestAppEntry ( **/ int main ( - int argc, - char *argv[] + int argc, + char *argv[] ) { return UnitTestingEntry (); |
