Index: tests/run_vboot_common_tests.sh |
diff --git a/tests/run_vboot_common_tests.sh b/tests/run_vboot_common_tests.sh |
new file mode 100755 |
index 0000000000000000000000000000000000000000..6295f4045c1ed1d633e21168e93c38053ff20c88 |
--- /dev/null |
+++ b/tests/run_vboot_common_tests.sh |
@@ -0,0 +1,91 @@ |
+#!/bin/bash |
+ |
+# Copyright (c) 2010 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. |
+ |
+# Run verified boot firmware and kernel verification tests. |
+ |
+# Load common constants and variables. |
+. "$(dirname "$0")/common.sh" |
+ |
+return_code=0 |
+ |
+function test_vboot_common { |
+ ${TEST_DIR}/vboot_common_tests |
+ if [ $? -ne 0 ] |
+ then |
+ return_code=255 |
+ fi |
+} |
+ |
+function test_vboot_common2 { |
+ algorithmcounter=0 |
+ for keylen in ${key_lengths[@]} |
+ do |
+ for hashalgo in ${hash_algos[@]} |
+ do |
+ echo -e "For signing key ${COL_YELLOW}RSA-$keylen/$hashalgo${COL_STOP}:" |
+ ${TEST_DIR}/vboot_common2_tests $algorithmcounter \ |
+ ${TESTKEY_DIR}/key_rsa${keylen}.pem \ |
+ ${TESTKEY_DIR}/key_rsa${keylen}.keyb |
+ if [ $? -ne 0 ] |
+ then |
+ return_code=255 |
+ fi |
+ let algorithmcounter=algorithmcounter+1 |
+ done |
+ done |
+} |
+ |
+function test_vboot_common3 { |
+# Test for various combinations of firmware signing algorithm and |
+# kernel signing algorithm |
+ firmware_algorithmcounter=0 |
+ kernel_algorithmcounter=0 |
+ for firmware_keylen in ${key_lengths[@]} |
+ do |
+ for firmware_hashalgo in ${hash_algos[@]} |
+ do |
+ let kernel_algorithmcounter=0 |
+ for kernel_keylen in ${key_lengths[@]} |
+ do |
+ for kernel_hashalgo in ${hash_algos[@]} |
+ do |
+ echo -e "For ${COL_YELLOW}signing algorithm \ |
+RSA-${firmware_keylen}/${firmware_hashalgo}${COL_STOP} \ |
+and ${COL_YELLOW}data signing algorithm RSA-${kernel_keylen}/\ |
+${kernel_hashalgo}${COL_STOP}" |
+ ${TEST_DIR}/vboot_common3_tests \ |
+ $firmware_algorithmcounter $kernel_algorithmcounter \ |
+ ${TESTKEY_DIR}/key_rsa${firmware_keylen}.pem \ |
+ ${TESTKEY_DIR}/key_rsa${firmware_keylen}.keyb \ |
+ ${TESTKEY_DIR}/key_rsa${kernel_keylen}.pem \ |
+ ${TESTKEY_DIR}/key_rsa${kernel_keylen}.keyb |
+ if [ $? -ne 0 ] |
+ then |
+ return_code=255 |
+ fi |
+ let kernel_algorithmcounter=kernel_algorithmcounter+1 |
+ done |
+ done |
+ let firmware_algorithmcounter=firmware_algorithmcounter+1 |
+ done |
+ done |
+} |
+ |
+check_test_keys |
+echo |
+echo "Testing vboot_common tests which don't depend on keys..." |
+test_vboot_common |
+ |
+echo |
+echo "Testing vboot_common tests which depend on one key..." |
+test_vboot_common2 |
+ |
+echo |
+echo "Testing vboot_common tests which depend on two keys..." |
+test_vboot_common3 |
+ |
+ |
+exit $return_code |