From 445925fe0f11280c585879247eada43de32090ca Mon Sep 17 00:00:00 2001 From: Gaurav Shah Date: Fri, 19 Mar 2010 16:19:09 -0700 Subject: Vboot Reference: Spring cleaning of test scripts. Moved duplicated code to "common.sh". Make directory detection more robust. Review URL: http://codereview.chromium.org/1101004 --- tests/gen_test_cases.sh | 50 ++++++++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 30 deletions(-) (limited to 'tests/gen_test_cases.sh') diff --git a/tests/gen_test_cases.sh b/tests/gen_test_cases.sh index b15921d6..bad7e334 100755 --- a/tests/gen_test_cases.sh +++ b/tests/gen_test_cases.sh @@ -6,49 +6,39 @@ # Generate test cases for use for the RSA verify benchmark. -KEY_DIR=testkeys -TESTCASE_DIR=testcases -UTIL_DIR=../utils/ -TEST_FILE=test_file -TEST_FILE_SIZE=1000000 +# Load common constants and variables. +. "$(dirname "$0")/common.sh" -hash_algos=( sha1 sha256 sha512 ) -key_lengths=( 1024 2048 4096 8192 ) +TEST_FILE=${TESTCASE_DIR}/test_file +TEST_FILE_SIZE=1000000 -# Generate public key signatures and digest on an input file for -# various combinations of message digest algorithms and RSA key sizes. +# Generate public key signatures on an input file for various combinations +# of message digest algorithms and RSA key sizes. function generate_test_signatures { + echo "Generating test signatures..." algorithmcounter=0 for keylen in ${key_lengths[@]} do for hashalgo in ${hash_algos[@]} do - openssl dgst -${hashalgo} -binary -out $1.${hashalgo}.digest $1 - ${UTIL_DIR}/signature_digest $algorithmcounter $1 | openssl rsautl -sign \ - -pkcs -inkey ${KEY_DIR}/key_rsa${keylen}.pem \ - > $1.rsa${keylen}_${hashalgo}.sig + openssl dgst -${hashalgo} -binary ${TEST_FILE} > \ + ${TEST_FILE}.${hashalgo}.digest + ${UTIL_DIR}/signature_digest_utility $algorithmcounter \ + ${TEST_FILE} | openssl rsautl \ + -sign -pkcs -inkey ${TESTKEY_DIR}/key_rsa${keylen}.pem \ + > ${TEST_FILE}.rsa${keylen}_${hashalgo}.sig let algorithmcounter=algorithmcounter+1 done done } -function pre_work { - # Generate a file with random bytes for signature tests. +# Generate a file with random bytes for signature tests. +function generate_test_file { echo "Generating test file..." - dd if=/dev/urandom of=${TESTCASE_DIR}/${TEST_FILE} bs=${TEST_FILE_SIZE} count=1 + dd if=/dev/urandom of=${TEST_FILE} bs=${TEST_FILE_SIZE} count=1 } -if [ ! -d "$KEY_DIR" ] -then - echo "You must run gen_test_cases.sh to generate test keys first." - exit 1 -fi - -if [ ! -d "$TESTCASE_DIR" ] -then - mkdir "$TESTCASE_DIR" -fi - -pre_work -echo "Generating test signatures..." -generate_test_signatures ${TESTCASE_DIR}/$TEST_FILE +mkdir -p ${TESTCASE_DIR} +check_test_keys +generate_test_file +generate_test_signatures -- cgit v1.2.1