VBoot Reference: Make RSA verification test script return the right error code.
Also rename and modify run_tests.sh to only run the RSA verification tests. The SHA message digest tests must now be invoked separately.
Review URL: http://codereview.chromium.org/596080
diff --git a/tests/run_tests.sh b/tests/run_rsa_tests.sh
similarity index 81%
rename from tests/run_tests.sh
rename to tests/run_rsa_tests.sh
index f728dd0..3abadb6 100755
--- a/tests/run_tests.sh
+++ b/tests/run_rsa_tests.sh
@@ -7,12 +7,11 @@
# Run tests for cryptographic routine implementations - Message digests
# and RSA Signature verification.
+return_code=0
hash_algos=( sha1 sha256 sha512 )
key_lengths=( 1024 2048 4096 8192 )
TEST_FILE=test_file
TEST_FILE_SIZE=1000000
-UTIL_DIR=../utils/
-KEY_DIR=testkeys
# Generate public key signatures on an input file for various combinations
# of message digest algorithms and RSA key sizes.
@@ -40,6 +39,10 @@
${UTIL_DIR}/verify_data $algorithmcounter \
${KEY_DIR}/key_rsa${keylen}.keyb \
${TEST_FILE}.rsa${keylen}_${hashalgo}.sig ${TEST_FILE}
+ if [ $? -ne 0 ]
+ then
+ return_code=255
+ fi
let algorithmcounter=algorithmcounter+1
done
done
@@ -57,16 +60,29 @@
rm ${TEST_FILE} ${TEST_FILE}.*.sig
}
-echo "Testing message digests..."
-./sha_tests
+# Determine script directory.
+if [[ $0 == '/'* ]];
+then
+ SCRIPT_DIR="`dirname $0`"
+elif [[ $0 == './'* ]];
+then
+ SCRIPT_DIR="`pwd`"
+else
+ SCRIPT_DIR="`pwd`"/"`dirname $0`"
+fi
+UTIL_DIR=`dirname ${SCRIPT_DIR}`/utils
+KEY_DIR=${SCRIPT_DIR}/testkeys
+
+echo "Generating test cases..."
+pre_work
echo
echo "Testing signature verification..."
-pre_work
test_signatures
echo
echo "Cleaning up..."
cleanup
+exit $return_code