Overview
| Comment: | Updated nightly test suite to work in clean space |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
318d5dfec18f5d616903dbd368e51ece |
| User & Date: | rkeene on 2011-05-21 13:46:38 |
| Other Links: | manifest | tags |
Context
|
2011-05-21
| ||
| 13:49 | Added basic sanity check to nightly testing script check-in: c2be59edab user: rkeene tags: trunk | |
| 13:46 | Updated nightly test suite to work in clean space check-in: 318d5dfec1 user: rkeene tags: trunk | |
| 04:39 | Minor work to make web interface more interactive check-in: f8f78a49b0 user: rkeene tags: trunk | |
Changes
Modified build/test/do-nightly-tests-and-publish from [75aae2a48d] to [cae4b1c112].
1 2 3 4 5 6 7 |
#! /bin/bash
# Update PATH to include path to Tclkit, otherwise cross-compiles will fail
PATH="${PATH}:/home/rkeene/bin:/usr/local/bin"
export PATH
# Define build and web paths
| | > > | < | | | < < > > | > > > > > | > | > > > > > > > > | > > > | > | > > | > > > > > < | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
#! /bin/bash
# Update PATH to include path to Tclkit, otherwise cross-compiles will fail
PATH="${PATH}:/home/rkeene/bin:/usr/local/bin"
export PATH
# Define build and web paths
KITCREATORFOSSIL="/web/customers/kitcreator.rkeene.org/repo/kitcreator.repo"
WEBROOTDIR="/web/rkeene/devel/kitcreator/kitbuild"
MARKERFILE="/web/customers/kitcreator.rkeene.org/repo/__AUTO_TESTS_RUNNING__"
TMPWORKDIR="${TMPDIR:-/var/tmp}/kitcreator-test-$$${RANDOM}${RANDOM}${RANDOM}"
export KITCREATORFOSSIL WEBROOTDIR MARKERFILE TMPWORKDIR
# Determine change of fossil revision
FOSSIL_CHANGE="$(fossil timeline --repository "${KITCREATORFOSSIL}" -n 1 -t ci | grep '^[0-9:]* \[' | sed 's@^[0-9:]* \[\([0-9a-f]*\)\].*$@\1@')"
TESTNAME="fossil_${FOSSIL_CHANGE}"
export FOSSIL_CHANGE TESTNAME
# On Wednesday, do a distclean to force redownloading everything (mainly
# for CVS Head) and force a rebuild to ensure up-to-date build status
if [ "$(date '+%u')" != "3" ]; then
if [ -d "${WEBROOTDIR}/${TESTNAME}" ]; then
# Don't re-run the tests if nothing has changed
exit 0
fi
fi
# Only run one at a time
if [ -f "${MARKERFILE}" ]; then
exit 1
fi
touch "${MARKERFILE}"
# Change to temporary directory to build
mkdir -p "${TMPWORKDIR}"
chmod 700 "${TMPWORKDIR}"
cd "${TMPWORKDIR}" || exit 1
# Define clean-up handler
function die () {
echo "$1" >&2
cd /
rm -rf "${TMPWORKDIR}"
exit 1
}
# Download latest tarball
wget -O 'kitcreator-trunk-tip.tar.gz' -o /dev/null 'http://kitcreator.rkeene.org/fossil/tarball/kitcreator-trunk-tip.tar.gz?uuid=trunk'
tar -xf kitcreator-trunk-tip.tar.gz || die 'Tarball Extraction Failed'
cd kitcreator-trunk-tip || die 'Tarball Sanity Failed'
# Prepare source
./build/pre.sh >/dev/null 2>/dev/null
# Start the tests
cd build/test || die 'Missing test suite'
if [ ! -x test -o ! -x publish-tests ]; then
die 'Missing scripts, aborting.'
fi
# Clean builds
rm -rf kits
# Run tests
nice -n 20 ./test >/dev/null 2>/dev/null
# Clean old auto-generated published results
rm -rf "${WEBROOTDIR}"/svn_r*/ "${WEBROOTDIR}"/fossil_*/
# Publish New Results
./publish-tests "${TESTNAME}"
# Create nightly symlink
rm -f "${WEBROOTDIR}/nightly"
ln -s "${TESTNAME}" "${WEBROOTDIR}/nightly"
# Clean
rm -f "${MARKERFILE}"
cd /
rm -rf "${TMPWORKDIR}"
exit 0
|