summaryrefslogtreecommitdiff
path: root/tests/vb2_recovery_reasons_tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vb2_recovery_reasons_tests.c')
-rw-r--r--tests/vb2_recovery_reasons_tests.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/vb2_recovery_reasons_tests.c b/tests/vb2_recovery_reasons_tests.c
new file mode 100644
index 00000000..c1cb95b6
--- /dev/null
+++ b/tests/vb2_recovery_reasons_tests.c
@@ -0,0 +1,31 @@
+/* Copyright 2020 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 recovery reasons.
+ */
+
+#include "2recovery_reasons.h"
+#include "test_common.h"
+
+static void get_recovery_reason_string_tests(void)
+{
+ int i;
+
+ /* Recovery string should be non-null for any code */
+ for (i = 0; i < 0x100; i++)
+ TEST_PTR_NEQ(vb2_get_recovery_reason_string(i), NULL,
+ "Non-null reason");
+
+ /* Sanity check on one of the strings */
+ TEST_EQ(strcmp(vb2_get_recovery_reason_string(VB2_RECOVERY_GBB_HEADER),
+ "Error parsing GBB header"), 0,
+ "Recovery reason sanity check");
+}
+
+int main(void)
+{
+ get_recovery_reason_string_tests();
+
+ return gTestSuccess ? 0 : 255;
+}