summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2010-06-23 10:15:38 -0700
committerRandall Spangler <rspangler@chromium.org>2010-06-23 10:15:38 -0700
commit81d0996901387619cc782ca258fcb4a9f3f591e7 (patch)
tree47cb5ad05a2a051b2dc0ddecebfc57becfc3102a /tests
parent361049ce199cf57333d4419262e1b7f6394883ec (diff)
downloadvboot-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.c13
-rw-r--r--tests/vboot_common_tests.c18
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)