1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/bin/bash -eux
- # Copyright 2014 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.
- me=${0##*/}
- TMP="$me.tmp"
- # Work in scratch directory
- cd "$OUTDIR"
- # No args returns nonzero exit code
- ${FUTILITY} && false
- # It's weird but okay if the command is a full path.
- ${FUTILITY} /fake/path/to/help > "$TMP"
- grep Usage "$TMP"
- # Make sure logging does something.
- LOG="/tmp/futility.log"
- [ -f ${LOG} ] && mv ${LOG} ${LOG}.backup
- touch ${LOG}
- ${FUTILITY} help
- grep ${FUTILITY} ${LOG}
- rm -f ${LOG}
- [ -f ${LOG}.backup ] && mv ${LOG}.backup ${LOG}
- # Use some known digests to verify that things work...
- DEVKEYS=${SRCDIR}/tests/devkeys
- SHA=e78ce746a037837155388a1096212ded04fb86eb
- # all progs in the pipelines should work
- set -o pipefail
- # If it's invoked as the name of a command we know, it should do that command
- ln -sf ${FUTILITY} vbutil_key
- ./vbutil_key --unpack ${DEVKEYS}/installer_kernel_data_key.vbpubk | grep ${SHA}
- ln -sf ${FUTILITY} vbutil_keyblock
- ./vbutil_keyblock --unpack ${DEVKEYS}/installer_kernel.keyblock | grep ${SHA}
- cp ${FUTILITY} show
- ./show ${SCRIPTDIR}/data/rec_kernel_part.bin | grep ${SHA}
- # If it's invoked by any other name, expect the command to be the first arg.
- ln -sf ${FUTILITY} muggle
- ./muggle vbutil_key --unpack ${DEVKEYS}/installer_kernel_data_key.vbpubk \
- | grep ${SHA}
- ln -sf ${FUTILITY} buggle
- ./buggle vbutil_keyblock --unpack ${DEVKEYS}/installer_kernel.keyblock \
- | grep ${SHA}
- cp ${FUTILITY} boo
- ./boo show ${SCRIPTDIR}/data/rec_kernel_part.bin | grep ${SHA}
- # we expect the first command fail, but the output to match anyway
- set +o pipefail
- # If it can't figure out the command at all, it should complain.
- ${FUTILITY} muggle | grep Usage:
- ./buggle futility | grep Usage:
- ./boo | grep Usage:
- # cleanup
- rm -f ${TMP}* vbutil_key vbutil_keyblock show muggle buggle boo
- exit 0
|