diff --git a/tests/vb20_rsa_padding_tests.c b/tests/vb20_rsa_padding_tests.c
index 7c1df6a..6c17c46 100644
--- a/tests/vb20_rsa_padding_tests.c
+++ b/tests/vb20_rsa_padding_tests.c
@@ -66,6 +66,9 @@
 	TEST_SUCC(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
 		  "vb2_rsa_verify_digest() good");
 
+	TEST_EQ(vb2_rsa_verify_digest(key, NULL, test_message_sha1_hash, &wb),
+		VB2_ERROR_RSA_VERIFY_PARAM, "vb2_rsa_verify_digest() bad arg");
+
 	memcpy(sig, signatures[0], sizeof(sig));
 	vb2_workbuf_init(&wb, workbuf, sizeof(sig) * 3 - 1);
 	TEST_EQ(vb2_rsa_verify_digest(key, sig, test_message_sha1_hash, &wb),
diff --git a/tests/vb2_api_tests.c b/tests/vb2_api_tests.c
index 49af6fd..88dfa96 100644
--- a/tests/vb2_api_tests.c
+++ b/tests/vb2_api_tests.c
@@ -242,10 +242,11 @@
 	reset_common_data(FOR_MISC);
 	TEST_SUCC(vb2api_fw_phase2(&cc), "phase2 good");
 	TEST_EQ(cc.flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+	TEST_EQ(cc.flags & VB2_CONTEXT_FW_SLOT_B, 0, "  slot b flag");
 
 	reset_common_data(FOR_MISC);
 	cc.flags |= VB2_CONTEXT_DEVELOPER_MODE;
-	TEST_SUCC(vb2api_fw_phase2(&cc), "phase1 dev");
+	TEST_SUCC(vb2api_fw_phase2(&cc), "phase2 dev");
 	TEST_NEQ(cc.flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
 
 	reset_common_data(FOR_MISC);
@@ -259,6 +260,20 @@
 	TEST_EQ(vb2api_fw_phase2(&cc), VB2_ERROR_MOCK, "phase2 slot");
 	TEST_EQ(vb2_nv_get(&cc, VB2_NV_RECOVERY_REQUEST),
 		VB2_RECOVERY_FW_SLOT, "  recovery reason");
+
+	/* S3 resume exits before clearing RAM */
+	reset_common_data(FOR_MISC);
+	cc.flags |= VB2_CONTEXT_S3_RESUME;
+	cc.flags |= VB2_CONTEXT_DEVELOPER_MODE;
+	TEST_SUCC(vb2api_fw_phase2(&cc), "phase2 s3 dev");
+	TEST_EQ(cc.flags & VB2_CONTEXT_CLEAR_RAM, 0, "  clear ram flag");
+	TEST_EQ(cc.flags & VB2_CONTEXT_FW_SLOT_B, 0, "  slot b flag");
+
+	reset_common_data(FOR_MISC);
+	cc.flags |= VB2_CONTEXT_S3_RESUME;
+	vb2_nv_set(&cc, VB2_NV_FW_TRIED, 1);
+	TEST_SUCC(vb2api_fw_phase2(&cc), "phase2 s3");
+	TEST_NEQ(cc.flags & VB2_CONTEXT_FW_SLOT_B, 0, "  slot b flag");
 }
 
 static void get_pcr_digest_tests(void)
diff --git a/tests/vb2_misc_tests.c b/tests/vb2_misc_tests.c
index 01131b4..4186ed5 100644
--- a/tests/vb2_misc_tests.c
+++ b/tests/vb2_misc_tests.c
@@ -281,6 +281,16 @@
 		"Recovery reason forced");
 	TEST_NEQ(sd->flags & VB2_SD_FLAG_MANUAL_RECOVERY,
 		 0, "SD flag set");
+
+	/* Override at broken screen */
+	reset_common_data();
+	vb2_nv_set(&cc, VB2_NV_RECOVERY_SUBCODE, VB2_RECOVERY_US_TEST);
+	cc.flags |= VB2_CONTEXT_FORCE_RECOVERY_MODE;
+	vb2_check_recovery(&cc);
+	TEST_EQ(sd->recovery_reason, VB2_RECOVERY_US_TEST,
+		"Recovery reason forced from broken");
+	TEST_NEQ(sd->flags & VB2_SD_FLAG_MANUAL_RECOVERY,
+		 0, "SD flag set");
 }
 
 static void dev_switch_tests(void)
@@ -293,6 +303,7 @@
 	TEST_EQ(sd->flags & VB2_SD_DEV_MODE_ENABLED, 0, "  sd not in dev");
 	TEST_EQ(cc.flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx not in dev");
 	TEST_EQ(mock_tpm_clear_called, 0, "  no tpm clear");
+	TEST_EQ(vb2_nv_get(&cc, VB2_NV_REQ_WIPEOUT), 0, "  no nv wipeout");
 
 	/* Dev mode */
 	reset_common_data();
@@ -376,6 +387,15 @@
 		"  doesn't set dev on in secdata but does set last boot dev");
 	TEST_EQ(mock_tpm_clear_called, 1, "  tpm clear");
 
+	/* Request disable by ctx flag */
+	reset_common_data();
+	vb2_secdata_set(&cc, VB2_SECDATA_FLAGS,
+			(VB2_SECDATA_FLAG_DEV_MODE |
+			 VB2_SECDATA_FLAG_LAST_BOOT_DEVELOPER));
+	cc.flags |= VB2_DISABLE_DEVELOPER_MODE;
+	TEST_SUCC(vb2_check_dev_switch(&cc), "disable dev on ctx request");
+	TEST_EQ(sd->flags & VB2_SD_DEV_MODE_ENABLED, 0, "  sd not in dev");
+
 	/* Simulate clear owner failure */
 	reset_common_data();
 	vb2_secdata_set(&cc, VB2_SECDATA_FLAGS,
@@ -442,6 +462,12 @@
 	TEST_NEQ(sd->flags & VB2_SD_DEV_MODE_ENABLED, 0, "  sd in dev");
 	TEST_NEQ(cc.flags & VB2_CONTEXT_DEVELOPER_MODE, 0, "  ctx in dev");
 	TEST_EQ(mock_tpm_clear_called, 1, "  tpm clear");
+
+	/* Force wipeout by ctx flag */
+	reset_common_data();
+	cc.flags |= VB2_CONTEXT_FORCE_WIPEOUT_MODE;
+	TEST_SUCC(vb2_check_dev_switch(&cc), "wipeout on ctx flag");
+	TEST_EQ(vb2_nv_get(&cc, VB2_NV_REQ_WIPEOUT), 1, "  nv wipeout");
 }
 
 static void tpm_clear_tests(void)
diff --git a/tests/vb2_nvstorage_tests.c b/tests/vb2_nvstorage_tests.c
index fe31a5e..f509b0a 100644
--- a/tests/vb2_nvstorage_tests.c
+++ b/tests/vb2_nvstorage_tests.c
@@ -51,11 +51,13 @@
 	{VB2_NV_CLEAR_TPM_OWNER_REQUEST, 0, 1, 0, "clear tpm owner request"},
 	{VB2_NV_CLEAR_TPM_OWNER_DONE, 0, 1, 0, "clear tpm owner done"},
 	{VB2_NV_TPM_REQUESTED_REBOOT, 0, 1, 0, "tpm requested reboot"},
+	{VB2_NV_REQ_WIPEOUT, 0, 1, 0, "request wipeout"},
 	{VB2_NV_OPROM_NEEDED, 0, 1, 0, "oprom needed"},
 	{VB2_NV_BACKUP_NVRAM_REQUEST, 0, 1, 0, "backup nvram request"},
 	{VB2_NV_FASTBOOT_UNLOCK_IN_FW, 0, 1, 0, "fastboot unlock in fw"},
 	{VB2_NV_BOOT_ON_AC_DETECT, 0, 1, 0, "boot on ac detect"},
 	{VB2_NV_TRY_RO_SYNC, 0, 1, 0, "try read only software sync"},
+	{VB2_NV_BATTERY_CUTOFF_REQUEST, 0, 1, 0, "battery cutoff request"},
 	{VB2_NV_KERNEL_MAX_ROLLFORWARD, 0, 0x12345678, 0xFEDCBA98,
 	 "kernel max rollforward"},
 	{0, 0, 0, 0, NULL}
@@ -197,12 +199,16 @@
 	TEST_EQ(vb2_nv_get(&c, VB2_NV_LOCALIZATION_INDEX),
 		0, "Localization index out of range");
 
-	vb2_nv_set(&c, VB2_NV_FW_RESULT, VB2_FW_RESULT_UNKNOWN + 1);
-	vb2_nv_set(&c, VB2_NV_FW_RESULT, VB2_FW_RESULT_UNKNOWN + 100);
+	vb2_nv_set(&c, VB2_NV_FW_RESULT, 100);
 	TEST_EQ(vb2_nv_get(&c, VB2_NV_FW_RESULT),
 		VB2_FW_RESULT_UNKNOWN, "Firmware result out of range");
 
-	vb2_nv_set(&c, VB2_NV_DEV_DEFAULT_BOOT, VB2_DEV_DEFAULT_BOOT_DISK + 100);
+	vb2_nv_set(&c, VB2_NV_FW_PREV_RESULT, 100);
+	TEST_EQ(vb2_nv_get(&c, VB2_NV_FW_PREV_RESULT),
+		VB2_FW_RESULT_UNKNOWN, "Fw prev result out of range");
+
+	vb2_nv_set(&c, VB2_NV_DEV_DEFAULT_BOOT,
+		   VB2_DEV_DEFAULT_BOOT_DISK + 100);
 	TEST_EQ(vb2_nv_get(&c, VB2_NV_DEV_DEFAULT_BOOT),
 		VB2_DEV_DEFAULT_BOOT_DISK, "default to booting from disk");
 }
diff --git a/tests/vb2_sha_tests.c b/tests/vb2_sha_tests.c
index 9423635..54bca66 100644
--- a/tests/vb2_sha_tests.c
+++ b/tests/vb2_sha_tests.c
@@ -181,6 +181,9 @@
 		TEST_STR_NEQ(vb2_get_hash_algorithm_name(alg),
 			     VB2_INVALID_ALG_NAME, test_name);
 	}
+
+	TEST_STR_EQ(vb2_get_hash_algorithm_name(VB2_HASH_INVALID),
+		    VB2_INVALID_ALG_NAME, "hash alg name invalid");
 }
 
 int main(int argc, char *argv[])
diff --git a/tests/vboot_common_tests.c b/tests/vboot_common_tests.c
index 8ca49a6..225d0bb 100644
--- a/tests/vboot_common_tests.c
+++ b/tests/vboot_common_tests.c
@@ -220,8 +220,10 @@
 	TEST_EQ(d->kernel_version_lowest, 0,
 		"VbSharedDataInit kernel_version_lowest");
 
-	TEST_NEQ(VBOOT_SUCCESS, VbSharedDataSetKernelKey(NULL, NULL),
-		 "VbSharedDataSetKernelKey null");
+	TEST_EQ(VBOOT_SHARED_DATA_INVALID, VbSharedDataSetKernelKey(NULL, NULL),
+		"VbSharedDataSetKernelKey sd null");
+	TEST_EQ(VBOOT_PUBLIC_KEY_INVALID, VbSharedDataSetKernelKey(d, NULL),
+		"VbSharedDataSetKernelKey pubkey null");
 }
 
 int main(int argc, char* argv[])
