- Re-cloned zonemaster-ldns with --recurse-submodules so the bundled ldns C library source (including Changelog and configure.ac) is present - Added autoconf, automake, libtool to Dockerfile.backend ldns-build stage so libtoolize + autoreconf can generate ldns/configure during make Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
93 lines
2.7 KiB
Bash
93 lines
2.7 KiB
Bash
#!/bin/sh
|
|
|
|
# set the path for our tests
|
|
PATH=$PATH:/usr/local/bin:/usr/local/sbin:.
|
|
|
|
REPOS="$1" # /svn/nsd or /svn/libdns # get these from svn
|
|
REV="$2" # which revision number
|
|
|
|
SVN_BAR="------------------------------------------------------------------------"
|
|
|
|
# our environment is extremely limited we don't even
|
|
# get a LOGNAME here... this makes all the pre script
|
|
# fail in the test. We do get a pwd from svnserve
|
|
LOGNAME=`basename $PWD`
|
|
USERNAME=$LOGNAME
|
|
|
|
id $USERNAME
|
|
if [[ $1 -eq 1 ]]; then
|
|
# no legal username
|
|
exit 0
|
|
fi
|
|
|
|
# please edit these to suit your needs
|
|
TPKG=/home/miekg/svn/tpkg/trunk/tpkg # tpkg version to use
|
|
MAILTO="ldns-team@nlnetlabs.nl" # where to send the status email
|
|
NAME="ldns" # name of the project
|
|
MAILSUB="[svn: $NAME|$BRANCH] $REV status" # subject of status emails
|
|
REPOPROT="file://" # local or remove (svn+ssh://)
|
|
TESTDIR="test" # dir where the tests live in the repo
|
|
|
|
# get the branch name
|
|
LOOK=`/usr/bin/svnlook changed -r$REV $REPOS | /usr/bin/awk '{ print $2 }'`
|
|
if [[ $LOOK =~ '^trunk' ]]; then
|
|
REPOPATH="trunk"
|
|
fi
|
|
if [[ $LOOK =~ '^branches' ]]; then
|
|
REPOPATH=`echo $LOOK | cut -f1,2 -d /`
|
|
fi
|
|
if [[ $LOOK =~ '^tags' ]]; then
|
|
REPOPATH=`echo $LOOK | cut -f1,2 -d /`
|
|
fi
|
|
|
|
BUILD_DIR=`mktemp -d /tmp/XXXXXX`
|
|
if [ ! -d $BUILD_DIR ]; then
|
|
exit 0
|
|
fi
|
|
|
|
START=`date +%s`
|
|
MAIL_FILE=`mktemp /tmp/XXXXXXX`
|
|
|
|
# checkout to $BUILD_DIR, assume local checkout
|
|
svn co -r$REV $REPOPROT$REPOS/$REPOPATH $BUILD_DIR
|
|
( cd $BUILD_DIR ; svn log -r$REV > $MAIL_FILE )
|
|
svnlook changed -r$REV $REPOS >> $MAIL_FILE
|
|
echo $SVN_BAR >> $MAIL_FILE
|
|
|
|
# set the path and other stuff for our sibling test scripts
|
|
echo "export PATH=$PATH" > $BUILD_DIR/$TESTDIR/.tpkg.var.master
|
|
echo "export LOGNAME=$LOGNAME" >> $BUILD_DIR/tpkg/.tpkg.var.master
|
|
echo "export USERNAME=$USERNAME" >> $BUILD_DIR/tpkg/.tpkg.var.master
|
|
|
|
###
|
|
# This should be the only thing you need to tweak
|
|
###
|
|
|
|
if [[ -d $BUILD_DIR/$TESTDIR ]]; then
|
|
|
|
# RUN THE TESTS
|
|
for tests in $BUILD_DIR/$TESTDIR/*.tpkg ; do
|
|
nice $TPKG -b $BUILD_DIR/$TESTDIR -a $BUILD_DIR \
|
|
exe `basename $tests` >> $MAIL_FILE
|
|
done
|
|
|
|
END=`date +%s`
|
|
echo ELAPSED: $((END - START)) s >> $MAIL_FILE
|
|
echo $SVN_BAR >> $MAIL_FILE
|
|
|
|
# add -q to /not/ show PASSED tests
|
|
$TPKG -b $BUILD_DIR/$TESTDIR report >> $MAIL_FILE
|
|
$TPKG -b $BUILD_DIR/$TESTDIR clean
|
|
###
|
|
# End of tweaking
|
|
###
|
|
fi
|
|
|
|
# SVN STUFF
|
|
( cd $BUILD_DIR ; svn diff -rPREV:$REV >> $MAIL_FILE )
|
|
|
|
rm -rf $BUILD_DIR
|
|
|
|
cat $MAIL_FILE | mail -s "${MAILSUB}" $MAILTO
|
|
rm -f $MAIL_FILE
|