diff options
author | Bill Richardson <wfrichar@chromium.org> | 2013-04-05 09:49:24 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-04-05 13:09:08 -0700 |
commit | 339f7e030cebe98a072d37acccbd1f0b4c1dea9b (patch) | |
tree | e4c6eddec83d82423ba5f2ce2768a0463275b703 /futility | |
parent | 1912bbae89b82c10819b01d039e140e39c668fc7 (diff) | |
download | vboot-339f7e030cebe98a072d37acccbd1f0b4c1dea9b.tar.gz |
Add framework for testing builtin futility functions.
This tweaks the Makefile and adds a couple of placeholder tests to prepare
for testing the builtin futility operations. There aren't any useful builtin
functions yet, but this lets us start adding them along with the tests.
BUG=chromium:224734
BRANCH=none
TEST=none
This doesn't actually do anything yet.
Change-Id: Iff0ca514f7d26346f072bd80a3bcd04621284843
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/47432
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'futility')
-rwxr-xr-x | futility/tests/common.sh | 47 | ||||
-rwxr-xr-x | futility/tests/run_futility_tests.sh | 78 |
2 files changed, 0 insertions, 125 deletions
diff --git a/futility/tests/common.sh b/futility/tests/common.sh deleted file mode 100755 index ed187d7b..00000000 --- a/futility/tests/common.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -# Copyright (c) 2013 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. - -# Color output encodings. -COL_RED='\E[31;1m' -COL_GREEN='\E[32;1m' -COL_YELLOW='\E[33;1m' -COL_BLUE='\E[34;1m' -COL_STOP='\E[0;m' - -# args: [message] -green() { - echo -e "${COL_GREEN}$*${COL_STOP}" -} - -# args: [message] -yellow() { - echo -e "${COL_YELLOW}WARNING: $*${COL_STOP}" -} - -# args: [message] -red() { - echo -e "${COL_RED}$*${COL_STOP}" -} - -# args: [nested level] [message] -error() { - local lev=${1:-} - case "${1:-}" in - [0-9]*) - lev=$1 - shift - ;; - *) lev=0 - ;; - esac - local x=$(caller $lev) - local cline="${x%% *}" - local cfile="${x#* }" - cfile="${cfile##*/}" - local args="$*" - local spacer="${args:+: }" - red "at ${cfile}, line ${cline}${spacer}${args}" 1>&2 - exit 1 -} diff --git a/futility/tests/run_futility_tests.sh b/futility/tests/run_futility_tests.sh deleted file mode 100755 index ff2de4be..00000000 --- a/futility/tests/run_futility_tests.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash -# Copyright (c) 2013 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. - -# Load common constants and variables. -. "$(dirname "$0")/common.sh" - -# Where are the programs I'm testing against? -[ -z "${1:-}" ] && error "Directory argument is required" -BINDIR="$1" -shift - -FUTILITY="$BINDIR/futility" -OLDDIR="$BINDIR/old_bins" - -BUILD=$(dirname "${BINDIR}") - -# Here are the old programs to be wrapped -# FIXME(chromium-os:37062): There are others besides these. -# FIXME: dev_debug_vboot isn't tested right now. -PROGS=${*:-cgpt crossystem dev_sign_file dumpRSAPublicKey - dump_fmap dump_kernel_config enable_dev_usb_boot gbb_utility - tpm_init_temp_fix tpmc vbutil_firmware vbutil_kernel vbutil_key - vbutil_keyblock vbutil_what_keys} - -# Get ready -pass=0 -progs=0 -pwd -OUTDIR="${BUILD}/tests/futility_test_dir" -[ -d "$OUTDIR" ] || mkdir -p "$OUTDIR" - -# For now just compare results of invoking each program with no args. -# FIXME(chromium-os:37062): Create true rigorous tests for every program. -for i in $PROGS; do - : $(( progs++ )) - - # Try the real thing first - echo -n "$i ... " - rc=$("${OLDDIR}/$i" \ - 1>"${OUTDIR}/$i.stdout.orig" 2>"${OUTDIR}/$i.stderr.orig" \ - || echo "$?") - echo "${rc:-0}" > "${OUTDIR}/$i.return.orig" - - # Then try the symlink - rc=$("$BINDIR/$i" 1>"${OUTDIR}/$i.stdout.link" \ - 2>"${OUTDIR}/$i.stderr.link" || echo "$?") - echo "${rc:-0}" > "${OUTDIR}/$i.return.link" - - # And finally try the explicit wrapper - rc=$("$FUTILITY" "$i" 1>"${OUTDIR}/$i.stdout.futil" \ - 2>"${OUTDIR}/$i.stderr.futil" || echo "$?") - echo "${rc:-0}" > "${OUTDIR}/$i.return.futil" - - # Different? - if cmp -s "${OUTDIR}/$i.return.orig" "${OUTDIR}/$i.return.link" && - cmp -s "${OUTDIR}/$i.stdout.orig" "${OUTDIR}/$i.stdout.link" && - cmp -s "${OUTDIR}/$i.stderr.orig" "${OUTDIR}/$i.stderr.link" && - cmp -s "${OUTDIR}/$i.return.orig" "${OUTDIR}/$i.return.futil" && - cmp -s "${OUTDIR}/$i.stdout.orig" "${OUTDIR}/$i.stdout.futil" && - cmp -s "${OUTDIR}/$i.stderr.orig" "${OUTDIR}/$i.stderr.futil" ; then - green "passed" - : $(( pass++ )) - rm -f ${OUTDIR}/$i.{stdout,stderr,return}.{orig,link,futil} - else - red "failed" - fi -done - -# done -if [ "$pass" -eq "$progs" ]; then - green "Success: $pass / $progs passed" - exit 0 -fi - -red "FAIL: $pass / $progs passed" -exit 1 |