aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kerr <jeremy.kerr@canonical.com>2012-06-13 16:56:28 +0800
committerJeremy Kerr <jeremy.kerr@canonical.com>2012-06-13 16:56:28 +0800
commitb3edb1fb728745bb9aa39e40240ad47c56540b5f (patch)
tree0af5e01f523e02b7b5531e341b40cb18993a8ce0
parent1be14f0c9b1ba8e064e6132d331be310674d813e (diff)
downloadsbsigntools-b3edb1fb728745bb9aa39e40240ad47c56540b5f.tar.gz
tests: Execute tests in a clean (temporary) directory
Instead of executing in the current (build) directory, create a temporary directory and change into it before running any tests. This ensures that tests aren't relying on left-overs from previous test runs. Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
-rw-r--r--tests/common.sh18
-rwxr-xr-xtests/sign-attach-verify.sh11
-rwxr-xr-xtests/sign-verify-detached.sh4
-rwxr-xr-xtests/sign-verify.sh6
4 files changed, 22 insertions, 17 deletions
diff --git a/tests/common.sh b/tests/common.sh
index af60285..d333bb8 100644
--- a/tests/common.sh
+++ b/tests/common.sh
@@ -1,12 +1,18 @@
-basedir=..
-testdir="$basedir/tests"
-bindir="$basedir"
+basedir=$(cd $srcdir && pwd)
+datadir=$(pwd)
+bindir="$datadir/.."
sbsign=$bindir/sbsign
sbverify=$bindir/sbverify
sbattach=$bindir/sbattach
-key="$testdir/private-key.rsa"
-cert="$testdir/public-cert.pem"
-image="$testdir/test.pecoff"
+key="$datadir/private-key.rsa"
+cert="$datadir/public-cert.pem"
+image="$datadir/test.pecoff"
+
+tempdir=$(mktemp --directory)
+exit_trap='rm -rf $tempdir'
+trap "$exit_trap" EXIT
+
+cd "$tempdir"
diff --git a/tests/sign-attach-verify.sh b/tests/sign-attach-verify.sh
index 333308e..2040229 100755
--- a/tests/sign-attach-verify.sh
+++ b/tests/sign-attach-verify.sh
@@ -2,11 +2,10 @@
. "$srcdir/common.sh"
-sig=test.sig
-signed=test.signed
+sig="test.sig"
+signed="test.signed"
-trap 'rm -f "$sig" "$signed"' EXIT
-
-"$sbsign" --cert "$cert" --key "$key" --detached --output $sig "$image"
-"$sbattach" --attach $sig $signed
+"$sbsign" --cert "$cert" --key "$key" --detached --output "$sig" "$image"
+cp "$image" "$signed"
+"$sbattach" --attach "$sig" "$signed"
"$sbverify" --cert "$cert" "$signed"
diff --git a/tests/sign-verify-detached.sh b/tests/sign-verify-detached.sh
index 02c583e..951e4a3 100755
--- a/tests/sign-verify-detached.sh
+++ b/tests/sign-verify-detached.sh
@@ -2,9 +2,7 @@
. "$srcdir/common.sh"
-sig=test.sig
-
-trap 'rm -f "$sig"' EXIT
+sig="test.sig"
"$sbsign" --cert "$cert" --key "$key" --detached --output $sig "$image"
"$sbverify" --cert "$cert" --detached $sig "$image"
diff --git a/tests/sign-verify.sh b/tests/sign-verify.sh
index bc9bceb..38324e8 100755
--- a/tests/sign-verify.sh
+++ b/tests/sign-verify.sh
@@ -2,5 +2,7 @@
. "$srcdir/common.sh"
-"$sbsign" --cert "$cert" --key "$key" --output test.signed "$image"
-"$sbverify" --cert "$cert" test.signed
+signed="test.signed"
+
+"$sbsign" --cert "$cert" --key "$key" --output "$signed" "$image"
+"$sbverify" --cert "$cert" "$signed"