tests revision e0a18a86d9abf9364c437477de0003013f55011a
340N/ACopyright (C) 2000 Internet Software Consortium.
340N/ASee COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
340N/A
340N/A$Id: tests,v 1.6 2000/06/28 19:01:52 gson Exp $
340N/A
340N/AWe do hourly test builds of the bind9 tree. This is an attempt to
340N/Adocument how they work.
340N/A
340N/A
340N/A* How things work
340N/A
340N/AThe scripts driving the build system are in ~wpk/b9t. They are not
340N/Aunder CVS control. The builds are driven by cron jobs separately
340N/Ainstalled on each build system, running as user wpk.
340N/A
340N/AThe sources are checked out, and the web reports are generated,
340N/Aon bb, as driven by the following cron jobs:
340N/A
340N/A #
340N/A # check out the current bind 9 version and make the source tarball
340N/A #
340N/A 45 2-21 * * * PLATFORM=BSD-3.1 && . $HOME/b9t/hosts/$PLATFORM/env && \
340N/A nice make PLATFORM=$PLATFORM -e -f $HOME/b9t/bin/b9t.mk tarsrc \
340N/A > $HOME/b9t/hosts/$PLATFORM/b9t-status 2>&1
340N/A
340N/A #
340N/A # run the bind 9 build status report generator
340N/A #
340N/A 30 3-22 * * * perl $HOME/b9t/bin/b9status.pl \
340N/A > /proj/build-reports/bind9/bind9.html 2> /dev/null
457N/A
340N/A
457N/AEach host has a separate crontab entry for building the server and
340N/Arunning tests. Here are examples from bb and sol:
340N/A
340N/A #
340N/A # build the BSD-3.1 version of bind 9
340N/A #
340N/A 0 3-22 * * * $HOME/b9t/bin/b9t.cron BSD-3.1
457N/A
340N/A #
340N/A # bind 9 build for Solaris 5.6
340N/A #
340N/A 0 3-22 * * * $HOME/b9t/bin/b9t.cron SunOS-5.6
340N/A
457N/ADo not confuse the shell script ~wpk/b9t/bin/b9t.cron with the crontab
340N/Atemplate (?) ~wpk/b9t/b9t.cron. Although they have the same name,
340N/Athey are not related. The shell script b9t.cron then calls make,
340N/Ausing the makefile b9t.mk in the same location. This makefile moves
340N/Athe old status files out of the way and runs through the tests.
340N/A
457N/AThe current test schedule is as follows:
340N/A
340N/A :45 CVS tree extracted, tarball built and distributed
340N/A :00 Most tests begin
340N/A :45 Status report generator runs (was :30)
340N/A
457N/A aix: I can't seem to access that machine; it appears to be down.
340N/A bb: Build starts at top of hour, 0300 to 2200
340N/A durango: Build starts at top of hour, 0300 to 2200
340N/A trantor: Build starts at top of hour, 0300 to 2100, odd-numbered hours
340N/A only
340N/A hp: Build starts at top of hour, 0300 to 2200
457N/A irix: Build starts at top of hour, 0300 to 2200
340N/A netbsd: Build starts at top of hour, 0300 to 2200 (was :45)
aa: Build starts at top of hour, 0300 to 2200
rc: Build starts at top of hour, 0300 to 2200
mirepoix: Build starts at top of hour, 0300 to 2200
sol: Build starts at top of hour, 0300 to 2200
truffle: Build starts at top of hour, 0300 to 2200
anthrax: Build starts at top of hour, 0300 to 2200
The actual builds take place in a directory whose location differs
among systems. On most of them, it's on a local disk, under /build.
On some, it's on NFS; in this case the location is defined in
~wpk/b9t/hosts/$PLATFORM/env.
The output from the make process is in
~wpk/b9t/hosts/$PLATFORM/b9t-status, and the output from
The output from the later stages of the process is under
/proj/build-reports/bind9/hosts/$PLATFORM. To make the files
harder to find (?), they have names starting with a period:
.populate
.config
.build
.test
* Common problems
Sometime named processes fail to die when the tests are done,
interfering with the next test. Just kill them.
On hp.rc.vix.com, the tests often fail because of NFS I/O errors.
When this happens, the machine needs to be rebooted. It will not
come up again without manually entering commands on the console.
On bb, the tests sometimes fail because .nfs* files stuck in the build
tree keep it from being completely deleted when the next test runs.
The .nfs* files cannot be deleted, but they can be moved, so one way
of fixing this is to move them to ~wpk.