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: | 318d5dfec18f5d616903dbd368e51ecebbc7b4f0 |
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
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
..
53
54
55
56
57
58
59
60
61
62
|
#! /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 KITCREATORDIR="/home/rkeene/devel/kitcreator" WEBROOTDIR="/web/rkeene/devel/kitcreator/kitbuild" export KITCREATORDIR WEBROOTDIR cd "${KITCREATORDIR}" || exit 1 FOSSIL_CHANGE="$(fossil timeline -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 ./kitcreator distclean || exit 1 else if [ -d "${WEBROOTDIR}/${TESTNAME}" ]; then # Don't re-run the tests if nothing has changed exit 0 fi fi cd build/test || exit 1 if [ ! -x test -o ! -x publish-tests ]; then echo 'Missing scripts, aborting.' >&2 exit 1 fi # Only run one at a time if [ -f '__AUTO_TESTS_RUNNING__' ]; then exit 1 fi touch '__AUTO_TESTS_RUNNING__' # Clean builds rm -rf kits # Run tests nice -n 20 ./test >/dev/null 2>/dev/null ................................................................................ ./publish-tests "${TESTNAME}" # Create nightly symlink rm -f "${WEBROOTDIR}/nightly" ln -s "${TESTNAME}" "${WEBROOTDIR}/nightly" # Clean rm -f '__AUTO_TESTS_RUNNING__' exit 0 |
|
>
>
|
<
<
>
|
|
<
<
>
>
|
>
>
<
<
>
>
>
<
<
>
<
<
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
<
|
>
>
|
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
..
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 ................................................................................ ./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 |