| OLD | NEW |
| 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 /* Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
| 3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
| 4 * | 4 * |
| 5 * Tests for firmware image library. | 5 * Tests for firmware image library. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include <stdio.h> | 8 #include <stdio.h> |
| 9 #include <stdlib.h> | 9 #include <stdlib.h> |
| 10 | 10 |
| 11 #include "test_common.h" | 11 #include "test_common.h" |
| 12 #include "vboot_common.h" | 12 #include "vboot_common.h" |
| 13 | 13 |
| 14 /* Test struct packing */ |
| 15 static void StructPackingTest(void) { |
| 16 TEST_EQ(EXPECTED_VBPUBLICKEY_SIZE, sizeof(VbPublicKey), |
| 17 "sizeof(VbPublicKey)"); |
| 18 TEST_EQ(EXPECTED_VBSIGNATURE_SIZE, sizeof(VbSignature), |
| 19 "sizeof(VbSignature)"); |
| 20 TEST_EQ(EXPECTED_VBKEYBLOCKHEADER_SIZE, sizeof(VbKeyBlockHeader), |
| 21 "sizeof(VbKeyBlockHeader)"); |
| 22 TEST_EQ(EXPECTED_VBFIRMWAREPREAMBLEHEADER_SIZE, |
| 23 sizeof(VbFirmwarePreambleHeader), "sizeof(VbFirmwarePreambleHeader)"); |
| 24 TEST_EQ(EXPECTED_VBKERNELPREAMBLEHEADER_SIZE, |
| 25 sizeof(VbKernelPreambleHeader), "sizeof(VbKernelPreambleHeader)"); |
| 26 } |
| 27 |
| 14 | 28 |
| 15 /* Helper functions not dependent on specific key sizes */ | 29 /* Helper functions not dependent on specific key sizes */ |
| 16 void VerifyHelperFunctions(void) { | 30 static void VerifyHelperFunctions(void) { |
| 17 | 31 |
| 18 { | 32 { |
| 19 uint8_t p[1]; | 33 uint8_t p[1]; |
| 20 TEST_EQ(OffsetOf(p, p), 0, "OffsetOf() equal"); | 34 TEST_EQ(OffsetOf(p, p), 0, "OffsetOf() equal"); |
| 21 TEST_EQ(OffsetOf(p, p+10), 10, "OffsetOf() positive"); | 35 TEST_EQ(OffsetOf(p, p+10), 10, "OffsetOf() positive"); |
| 22 TEST_EQ(OffsetOf(p, p+0x12345678), 0x12345678, "OffsetOf() large"); | 36 TEST_EQ(OffsetOf(p, p+0x12345678), 0x12345678, "OffsetOf() large"); |
| 23 } | 37 } |
| 24 | 38 |
| 25 { | 39 { |
| 26 VbPublicKey k = {sizeof(k), 2, 3, 4}; | 40 VbPublicKey k = {sizeof(k), 2, 3, 4}; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 TEST_EQ(VerifySignatureInside(&s, 99, &s), 1, | 98 TEST_EQ(VerifySignatureInside(&s, 99, &s), 1, |
| 85 "SignatureInside offset too big"); | 99 "SignatureInside offset too big"); |
| 86 } | 100 } |
| 87 | 101 |
| 88 } | 102 } |
| 89 | 103 |
| 90 | 104 |
| 91 int main(int argc, char* argv[]) { | 105 int main(int argc, char* argv[]) { |
| 92 int error_code = 0; | 106 int error_code = 0; |
| 93 | 107 |
| 94 /* Test helper functions */ | 108 StructPackingTest(); |
| 95 VerifyHelperFunctions(); | 109 VerifyHelperFunctions(); |
| 96 | 110 |
| 97 if (!gTestSuccess) | 111 if (!gTestSuccess) |
| 98 error_code = 255; | 112 error_code = 255; |
| 99 | 113 |
| 100 return error_code; | 114 return error_code; |
| 101 } | 115 } |
| OLD | NEW |