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
diff --git a/tests/cgptlib_test.c b/tests/cgptlib_test.c
index a100579..29f91d8 100644
--- a/tests/cgptlib_test.c
+++ b/tests/cgptlib_test.c
@@ -171,6 +171,18 @@
}
+/* 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 @@
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 e467471..e707daf 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 @@
int main(int argc, char* argv[]) {
int error_code = 0;
- /* Test helper functions */
+ StructPackingTest();
VerifyHelperFunctions();
if (!gTestSuccess)