| #!/bin/bash |
| |
| # set a few global variables that may be used by the test |
| basedir=$(cd $srcdir && pwd) |
| datadir=$(pwd) |
| bindir="$datadir/../src" |
| |
| sbsign=$bindir/sbsign |
| sbverify=$bindir/sbverify |
| sbattach=$bindir/sbattach |
| |
| key="$datadir/private-key.rsa" |
| cert="$datadir/public-cert.pem" |
| |
| export basedir datadir bindir sbsign sbverify sbattach key cert |
| |
| # 'test' needs to be an absolute path, as we will cd to a temporary |
| # directory before running the test |
| test="$PWD/$1" |
| rc=0 |
| |
| function run_test() |
| { |
| test="$1" |
| |
| # image depends on the test arch |
| image="$datadir/test-$arch.pecoff" |
| export image |
| |
| # create the temporary directory... |
| tempdir=$(mktemp --directory) |
| |
| # ... and run the test in it. |
| ( cd "$tempdir"; $test ) |
| |
| if [ $? -ne 0 ] |
| then |
| echo "test $(basename $test) failed on arch $arch" |
| echo |
| rc=1 |
| fi |
| |
| rm -rf "$tempdir" |
| } |
| |
| # run test on all available arches |
| for arch in $TEST_ARCHES |
| do |
| run_test $test |
| done |
| |
| exit $rc |