tests: Add script to build a CD with the test environment.

* tests/make-windows-cd.sh: New file.
* tests/run-tests.bat: Likewise.
--
This makes it easy to deploy GnuPG with the test suite to a virtual
machine for testing.

Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2016-01-22 13:43:10 +01:00
parent 2f4ad05fcd
commit d962d64b29
2 changed files with 57 additions and 0 deletions

32
tests/make-windows-cd.sh Normal file
View File

@ -0,0 +1,32 @@
#!/bin/sh
set -e
if ! [ -f config.log ] || ! grep -q mingw config.log; then
echo "must be run from a configured windows build environment"
fi
[ -z "$w32root" ] && w32root="$HOME/w32root"
ADDITIONAL_FILES=
IMAGE=gnupg-test.iso
[ -f make-windows-cd.rc ] && . make-windows-cd.rc
# we pick binaries from the prefix, so make sure they are current.
make install
WORKDIR="$(mktemp --directory)"
TARGET="${WORKDIR}/gnupg"
mkdir "$TARGET"
[ "$ADDITIONAL_FILES" ] && cp -v $(ls -1 $ADDITIONAL_FILES) $TARGET
cp -v $w32root/bin/*.exe $w32root/bin/*.dll $TARGET
cp -v tests/gpgscm/*.exe $TARGET
cp -v tools/mk-tdata.exe $TARGET
cp -v agent/gpg-preset-passphrase.exe $TARGET
cp -v -a ../tests $TARGET
cp -v tests/openpgp/fake-pinentry.exe $TARGET/tests/openpgp
cp -v ../tests/run-tests.bat $WORKDIR
genisoimage --output "$IMAGE" -J "$WORKDIR"
[ "${WORKDIR}" ] && rm -rf -- "${WORKDIR}"

25
tests/run-tests.bat Normal file
View File

@ -0,0 +1,25 @@
@echo off
cd /d d:\
set TARGET=gnupg-test
set GNUPGHOME=c:/%TARGET%/tests/openpgp
c:/%TARGET%/gpg-connect-agent.exe killagent /bye
rem is there a nicer way to sleep?
ping -n 1 localhost > nul
set GNUPGHOME=
rmdir /q /s c:\%TARGET%
mkdir c:\%TARGET%
xcopy /q /s d:\gnupg c:\%TARGET%
set GPGSCM_PATH=c:/%TARGET%/tests/gpgscm;c:/%TARGET%/tests/openpgp
set EXEEXT=.exe
set srcdir=/%TARGET%/tests/openpgp
set BIN_PREFIX=c:/%TARGET%
cd /d c:\%TARGET%
c:\%TARGET%\gpgscm.exe --verbose tests/gpgscm/t-child.scm
cd /d c:\%TARGET%\tests\openpgp
c:\%TARGET%\gpgscm.exe run-tests.scm