123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- * Tests for vboot_api_kernel.c
- */
- #include <stdint.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "test_common.h"
- #include "vboot_api.h"
- #include "vboot_nvstorage.h"
- /* Mock data */
- static uint32_t virtual_dev_mode_fail;
- /**
- * Reset mock data (for use before each test)
- */
- static void ResetMocks(void)
- {
- virtual_dev_mode_fail = 0;
- }
- /* Mocks */
- uint32_t SetVirtualDevMode(int val)
- {
- if (virtual_dev_mode_fail)
- return VBERROR_SIMULATED;
- return VBERROR_SUCCESS;
- }
- static void VbUnlockDeviceTest(void)
- {
- ResetMocks();
- TEST_EQ(VbUnlockDevice(), 0, "unlock success");
- ResetMocks();
- virtual_dev_mode_fail = 1;
- TEST_EQ(VbUnlockDevice(), VBERROR_TPM_SET_BOOT_MODE_STATE,
- "set dev fail");
- }
- static void VbLockDeviceTest(void)
- {
- ResetMocks();
- TEST_EQ(VbLockDevice(), 0, "lock success");
- }
- int main(void)
- {
- VbUnlockDeviceTest();
- VbLockDeviceTest();
- return gTestSuccess ? 0 : 255;
- }
|