X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/a9d65cd81e8ca93af31086a136d1e3ade86ad8d2..8ae191f927b3e294b7a50124b8c806365c4dbeb8:/test/setup-test?ds=sidebyside diff --git a/test/setup-test b/test/setup-test index 2636a5df..bf405f3d 100755 --- a/test/setup-test +++ b/test/setup-test @@ -1,14 +1,46 @@ #!/bin/sh +# +# Copy our sources and configuration, but change the installation +# prefix so that we can test with a completely independent +# installation. -set -e +# Get full pathnames that we'll need. Assumes that this script is +# located in the nmh test subdirectory. +cd `dirname $0` +testdir=`pwd` +srcdir=`dirname $testdir` +builddir=$testdir/testbuild +installdir=$testdir/testinstall -TEMPDIR=`mktemp -d /tmp/nmh-test-XXXXXXXX` -echo $TEMPDIR > test-temp-dir +#### Set up builddir. +[ -d $builddir ] || mkdir -p $builddir +cd $builddir -cd .. -autoheader && autoconf && date > stamp-h.in -./configure --prefix=$TEMPDIR --with-locking=fcntl --enable-debug -make clean -make install +#### Expedient way to copy the sources and configuration. +if rsync -h >/dev/null 2>&1; then + rsync -a $srcdir/ --exclude .git --exclude test --exclude .deps \ + --exclude '*.gz' --exclude '*.*o' . +else + (cd $srcdir && tar cf - \ + `find . -name .git -prune -o -name test -prune -o -name .deps -prune -o \ + \( ! -type d ! -name '*.gz' ! -name '*.*o' -print \)`) | \ + tar xpf - +fi -echo "Path: $TEMPDIR/Mail" > $TEMPDIR/mh_profile +#### Set up new configuration. +#### Put it in a file so we don't have to mess with shell quoting. It +#### would get tricky with configure options that can contain embedded +#### spaces, such as --enable-masquerade and --with-smtpservers. +reconfig=reconfig-for-test +echo 'set '/bin/sh' './configure' \' > $reconfig +#### Configure allows multiple --prefix but ignores all but the last. +#### So add the one we want to use. This is easier than trying to change +#### an existing --prefix, esp. if it has quoted characters. +echo $(./config.status --config) \'--prefix="$installdir"\' >> $reconfig +echo 'exec "$@"' >> $reconfig + +echo configuring the test installation in "$installdir" . . . +/bin/sh $reconfig > /dev/null + +echo building the test installation . . . +make install > /dev/null