Gaurav Shah | 445925f | 2010-03-19 16:19:09 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 4 | # Use of this source code is governed by a BSD-style license that can be |
| 5 | # found in the LICENSE file. |
| 6 | |
| 7 | # Determine script directory. |
Bill Richardson | 793e1b4 | 2010-08-20 07:58:43 -0700 | [diff] [blame] | 8 | SCRIPT_DIR=$(dirname $(readlink -f "$0")) |
Gaurav Shah | 445925f | 2010-03-19 16:19:09 -0700 | [diff] [blame] | 9 | |
vbendeb | 70e9509 | 2010-06-14 15:41:27 -0700 | [diff] [blame] | 10 | ROOT_DIR="$(dirname ${SCRIPT_DIR})" |
Randall Spangler | 844bce5 | 2013-01-15 16:16:43 -0800 | [diff] [blame] | 11 | BUILD_DIR="${BUILD}" |
Bill Richardson | efa8756 | 2014-09-11 10:41:51 -0700 | [diff] [blame] | 12 | BIN_DIR=${BUILD_DIR}/install_for_test/bin |
Bill Richardson | a1d9fe6 | 2014-09-05 12:52:27 -0700 | [diff] [blame] | 13 | FUTILITY=${BIN_DIR}/futility |
vbendeb | 70e9509 | 2010-06-14 15:41:27 -0700 | [diff] [blame] | 14 | TEST_DIR="${BUILD_DIR}/tests" |
Gaurav Shah | 445925f | 2010-03-19 16:19:09 -0700 | [diff] [blame] | 15 | TESTKEY_DIR=${SCRIPT_DIR}/testkeys |
| 16 | TESTCASE_DIR=${SCRIPT_DIR}/testcases |
vbendeb | 70e9509 | 2010-06-14 15:41:27 -0700 | [diff] [blame] | 17 | TESTKEY_SCRATCH_DIR=${TEST_DIR}/testkeys |
| 18 | |
| 19 | if [ ! -d ${TESTKEY_SCRATCH_DIR} ]; then |
Randall Spangler | 844bce5 | 2013-01-15 16:16:43 -0800 | [diff] [blame] | 20 | mkdir -p ${TESTKEY_SCRATCH_DIR} |
vbendeb | 70e9509 | 2010-06-14 15:41:27 -0700 | [diff] [blame] | 21 | fi |
Gaurav Shah | 445925f | 2010-03-19 16:19:09 -0700 | [diff] [blame] | 22 | |
| 23 | # Color output encodings. |
| 24 | COL_RED='\E[31;1m' |
| 25 | COL_GREEN='\E[32;1m' |
| 26 | COL_YELLOW='\E[33;1m' |
| 27 | COL_BLUE='\E[34;1m' |
| 28 | COL_STOP='\E[0;m' |
| 29 | |
| 30 | hash_algos=( sha1 sha256 sha512 ) |
Bill Richardson | 3430b32 | 2010-11-29 14:24:51 -0800 | [diff] [blame] | 31 | key_lengths=( 1024 2048 4096 8192 ) |
Gaurav Shah | 445925f | 2010-03-19 16:19:09 -0700 | [diff] [blame] | 32 | |
Bill Richardson | f1372d9 | 2010-06-11 09:15:55 -0700 | [diff] [blame] | 33 | function happy { |
| 34 | echo -e "${COL_GREEN}$*${COL_STOP}" 1>&2 |
Gaurav Shah | 445925f | 2010-03-19 16:19:09 -0700 | [diff] [blame] | 35 | } |
Bill Richardson | f1372d9 | 2010-06-11 09:15:55 -0700 | [diff] [blame] | 36 | |
Bill Richardson | 3430b32 | 2010-11-29 14:24:51 -0800 | [diff] [blame] | 37 | # args: [nested level [message]] |
Bill Richardson | f1372d9 | 2010-06-11 09:15:55 -0700 | [diff] [blame] | 38 | function warning { |
| 39 | echo -e "${COL_YELLOW}WARNING: $*${COL_STOP}" 1>&2 |
| 40 | } |
| 41 | |
Bill Richardson | 3430b32 | 2010-11-29 14:24:51 -0800 | [diff] [blame] | 42 | # args: [nested level [message]] |
Bill Richardson | f1372d9 | 2010-06-11 09:15:55 -0700 | [diff] [blame] | 43 | function error { |
Bill Richardson | 3430b32 | 2010-11-29 14:24:51 -0800 | [diff] [blame] | 44 | local lev=${1:-} |
| 45 | case "${1:-}" in |
| 46 | [0-9]*) |
| 47 | lev=$1 |
| 48 | shift |
| 49 | ;; |
| 50 | *) lev=0 |
| 51 | ;; |
| 52 | esac |
| 53 | local x=$(caller $lev) |
| 54 | local cline=${x%% *} |
| 55 | local cfunc=${x#* } |
| 56 | cfunc=${cfunc##*/} |
| 57 | local args="$*" |
| 58 | local spacer=${args:+: } |
| 59 | echo -e "${COL_RED}ERROR at ${cfunc}, line ${cline}${spacer}${args}" \ |
| 60 | "${COL_STOP}" 1>&2 |
Bill Richardson | f1372d9 | 2010-06-11 09:15:55 -0700 | [diff] [blame] | 61 | exit 1 |
| 62 | } |
| 63 | |
| 64 | function check_test_keys { |
| 65 | [ -d ${TESTKEY_DIR} ] || \ |
Bill Richardson | 3430b32 | 2010-11-29 14:24:51 -0800 | [diff] [blame] | 66 | error 1 "You must run gen_test_keys.sh to generate test keys first." |
Bill Richardson | f1372d9 | 2010-06-11 09:15:55 -0700 | [diff] [blame] | 67 | } |
| 68 | |