diff options
author | Randall Spangler <rspangler@chromium.org> | 2010-06-23 10:15:38 -0700 |
---|---|---|
committer | Randall Spangler <rspangler@chromium.org> | 2010-06-23 10:15:38 -0700 |
commit | 81d0996901387619cc782ca258fcb4a9f3f591e7 (patch) | |
tree | 47cb5ad05a2a051b2dc0ddecebfc57becfc3102a /tests | |
parent | 361049ce199cf57333d4419262e1b7f6394883ec (diff) | |
download | vboot-81d0996901387619cc782ca258fcb4a9f3f591e7.tar.gz |
Assorted integration fixes.
MSVC does not like bitfields with extra bits in them, so it made the GptEntry struct too big.
Fixed a missing return value in LoadFirmware().
Added some debug output.
Fixed calls to SetupTPM().
Tested with 'make && make runtests'. No errors.
Review URL: http://codereview.chromium.org/2865014
Diffstat (limited to 'tests')
-rw-r--r-- | tests/cgptlib_test.c | 13 | ||||
-rw-r--r-- | tests/vboot_common_tests.c | 18 |
2 files changed, 29 insertions, 2 deletions
diff --git a/tests/cgptlib_test.c b/tests/cgptlib_test.c index a100579d..29f91d87 100644 --- a/tests/cgptlib_test.c +++ b/tests/cgptlib_test.c @@ -171,6 +171,18 @@ static void BuildTestGptData(GptData* gpt) { } +/* Tests if the structures are the expected size; if this fails, + * struct packing is not working properly. */ +static int StructSizeTest() { + + EXPECT(GUID_EXPECTED_SIZE == sizeof(Guid)); + EXPECT(GPTHEADER_EXPECTED_SIZE == sizeof(GptHeader)); + EXPECT(GPTENTRY_EXPECTED_SIZE == sizeof(GptEntry)); + + return TEST_OK; +} + + /* Tests if the default structure returned by BuildTestGptData() is good. */ static int TestBuildTestGptData() { GptData* gpt; @@ -1088,6 +1100,7 @@ int main(int argc, char *argv[]) { test_func fp; int retval; } test_cases[] = { + { TEST_CASE(StructSizeTest), }, { TEST_CASE(TestBuildTestGptData), }, { TEST_CASE(ParameterTests), }, { TEST_CASE(HeaderCrcTest), }, diff --git a/tests/vboot_common_tests.c b/tests/vboot_common_tests.c index e467471e..e707daf1 100644 --- a/tests/vboot_common_tests.c +++ b/tests/vboot_common_tests.c @@ -11,9 +11,23 @@ #include "test_common.h" #include "vboot_common.h" +/* Test struct packing */ +static void StructPackingTest(void) { + TEST_EQ(EXPECTED_VBPUBLICKEY_SIZE, sizeof(VbPublicKey), + "sizeof(VbPublicKey)"); + TEST_EQ(EXPECTED_VBSIGNATURE_SIZE, sizeof(VbSignature), + "sizeof(VbSignature)"); + TEST_EQ(EXPECTED_VBKEYBLOCKHEADER_SIZE, sizeof(VbKeyBlockHeader), + "sizeof(VbKeyBlockHeader)"); + TEST_EQ(EXPECTED_VBFIRMWAREPREAMBLEHEADER_SIZE, + sizeof(VbFirmwarePreambleHeader), "sizeof(VbFirmwarePreambleHeader)"); + TEST_EQ(EXPECTED_VBKERNELPREAMBLEHEADER_SIZE, + sizeof(VbKernelPreambleHeader), "sizeof(VbKernelPreambleHeader)"); +} + /* Helper functions not dependent on specific key sizes */ -void VerifyHelperFunctions(void) { +static void VerifyHelperFunctions(void) { { uint8_t p[1]; @@ -91,7 +105,7 @@ void VerifyHelperFunctions(void) { int main(int argc, char* argv[]) { int error_code = 0; - /* Test helper functions */ + StructPackingTest(); VerifyHelperFunctions(); if (!gTestSuccess) |