summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2016-10-27 11:20:34 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-12-20 21:56:56 -0800
commit2603675460d75e3941070c44cfe90ba09a40d0ce (patch)
tree716e1a10aca4242cfa17ab27a60459c341ffcc7f /tests
parente5500a319bd34abfd8b13851a4e758fad154f5d4 (diff)
downloadvboot-2603675460d75e3941070c44cfe90ba09a40d0ce.tar.gz
vboot: Split ec software sync to its own file
This was previously done inside vboot_api_kernel. But it has nothing to do with kernel verification; that's just the only place where we could easily put it given that vboot (currently) owns the firmware UI. No outwardly-visible functionality changes. BUG=chromium:611535 BRANCH=none TEST=make runtests; emerge-kevin coreboot depthcharge Change-Id: I8a434eb4449a5a86b129ecac61ad81d0ad55549c Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/404920
Diffstat (limited to 'tests')
-rw-r--r--tests/ec_sync_tests.c (renamed from tests/vboot_api_kernel3_tests.c)23
-rw-r--r--tests/vboot_api_kernel4_tests.c3
2 files changed, 12 insertions, 14 deletions
diff --git a/tests/vboot_api_kernel3_tests.c b/tests/ec_sync_tests.c
index 3eddb739..28a6a143 100644
--- a/tests/vboot_api_kernel3_tests.c
+++ b/tests/ec_sync_tests.c
@@ -47,6 +47,7 @@ static int mock_ec_rw_hash_size;
static uint8_t want_ec_hash[32];
static uint8_t update_hash;
static int want_ec_hash_size;
+static VbNvContext mock_vnc;
static uint32_t screens_displayed[8];
static uint32_t screens_count = 0;
@@ -64,13 +65,9 @@ static void ResetMocks(void)
gbb.minor_version = GBB_MINOR_VER;
gbb.flags = 0;
- /*
- * Only the outermost vboot_api_kernel call sets vboot_api_kernel's
- * vnc. So clear it here too.
- */
- memset(VbApiKernelGetVnc(), 0, sizeof(VbNvContext));
- VbNvSetup(VbApiKernelGetVnc());
- VbNvTeardown(VbApiKernelGetVnc()); /* So CRC gets generated */
+ memset(&mock_vnc, 0, sizeof(VbNvContext));
+ VbNvSetup(&mock_vnc);
+ VbNvTeardown(&mock_vnc); /* So CRC gets generated */
memset(&shared_data, 0, sizeof(shared_data));
VbSharedDataInit(shared, sizeof(shared_data));
@@ -207,8 +204,8 @@ static void test_ssync(VbError_t retval, int recovery_reason, const char *desc)
{
uint32_t u;
- TEST_EQ(VbEcSoftwareSync(0, &cparams), retval, desc);
- VbNvGet(VbApiKernelGetVnc(), VBNV_RECOVERY_REQUEST, &u);
+ TEST_EQ(VbEcSoftwareSync(0, &cparams, &mock_vnc), retval, desc);
+ VbNvGet(&mock_vnc, VBNV_RECOVERY_REQUEST, &u);
TEST_EQ(u, recovery_reason, " recovery reason");
}
@@ -300,7 +297,7 @@ static void VbSoftwareSyncTest(void)
ResetMocks();
mock_ec_rw_hash[0]++;
- VbNvSet(VbApiKernelGetVnc(), VBNV_TRY_RO_SYNC, 1);
+ VbNvSet(&mock_vnc, VBNV_TRY_RO_SYNC, 1);
test_ssync(0, 0, "Update rw without reboot");
TEST_EQ(ec_rw_protected, 1, " ec rw protected");
TEST_EQ(ec_run_image, 1, " ec run image");
@@ -311,7 +308,7 @@ static void VbSoftwareSyncTest(void)
ResetMocks();
mock_ec_rw_hash[0]++;
mock_ec_ro_hash[0]++;
- VbNvSet(VbApiKernelGetVnc(), VBNV_TRY_RO_SYNC, 1);
+ VbNvSet(&mock_vnc, VBNV_TRY_RO_SYNC, 1);
test_ssync(0, 0, "Update rw and ro images without reboot");
TEST_EQ(ec_rw_protected, 1, " ec rw protected");
TEST_EQ(ec_run_image, 1, " ec run image");
@@ -321,7 +318,7 @@ static void VbSoftwareSyncTest(void)
ResetMocks();
shared->flags |= VBSD_BOOT_FIRMWARE_WP_ENABLED;
- VbNvSet(VbApiKernelGetVnc(), VBNV_TRY_RO_SYNC, 1);
+ VbNvSet(&mock_vnc, VBNV_TRY_RO_SYNC, 1);
mock_ec_rw_hash[0]++;
mock_ec_ro_hash[0]++;
test_ssync(0, 0, "WP enabled");
@@ -332,7 +329,7 @@ static void VbSoftwareSyncTest(void)
TEST_EQ(ec_ro_updated, 0, " ec ro updated");
ResetMocks();
- VbNvSet(VbApiKernelGetVnc(), VBNV_TRY_RO_SYNC, 1);
+ VbNvSet(&mock_vnc, VBNV_TRY_RO_SYNC, 1);
mock_ec_ro_hash[0]++;
test_ssync(0, 0, "rw update not needed");
TEST_EQ(ec_rw_protected, 1, " ec rw protected");
diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c
index 401c61d5..7e4b47dd 100644
--- a/tests/vboot_api_kernel4_tests.c
+++ b/tests/vboot_api_kernel4_tests.c
@@ -81,7 +81,8 @@ VbError_t VbExNvStorageWrite(const uint8_t *buf)
return VBERROR_SUCCESS;
}
-VbError_t VbEcSoftwareSync(int devidx, VbCommonParams *cparams)
+VbError_t VbEcSoftwareSync(int devidx, VbCommonParams *cparams,
+ VbNvContext *vnc)
{
return ecsync_retval;
}