tests revision 596b911d9cab20d29597b08f485bd9c94ba64b55
199767f8919635c4928607450d9e0abb932109ceToomas SoomeCopyright (C) 2000 Internet Software Consortium.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
199767f8919635c4928607450d9e0abb932109ceToomas Soome$Id: tests,v 1.9 2000/11/02 17:54:30 mws Exp $
199767f8919635c4928607450d9e0abb932109ceToomas SoomeWe do hourly test builds of the bind9 tree. This is an attempt to
199767f8919635c4928607450d9e0abb932109ceToomas Soomedocument how they work.
199767f8919635c4928607450d9e0abb932109ceToomas Soome* How things work
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe scripts driving the build system are in ~wpk/b9t. They are not
199767f8919635c4928607450d9e0abb932109ceToomas Soomeunder CVS control. The builds are driven by cron jobs separately
199767f8919635c4928607450d9e0abb932109ceToomas Soomeinstalled on each build system, running as user wpk.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe sources are checked out, and the web reports are generated,
199767f8919635c4928607450d9e0abb932109ceToomas Soomeon bb, as driven by the following cron jobs:
199767f8919635c4928607450d9e0abb932109ceToomas Soome # check out the current bind 9 version and make the source tarball
199767f8919635c4928607450d9e0abb932109ceToomas Soome 45 2-21 * * * PLATFORM=BSD-3.1 && . $HOME/b9t/hosts/$PLATFORM/env && \
199767f8919635c4928607450d9e0abb932109ceToomas Soome nice make PLATFORM=$PLATFORM -e -f $HOME/b9t/bin/b9t.mk tarsrc \
199767f8919635c4928607450d9e0abb932109ceToomas Soome # run the bind 9 build status report generator
199767f8919635c4928607450d9e0abb932109ceToomas Soome 30 3-22 * * * perl $HOME/b9t/bin/b9status.pl \
199767f8919635c4928607450d9e0abb932109ceToomas Soome > /proj/build-reports/bind9/bind9.html 2> /dev/null
199767f8919635c4928607450d9e0abb932109ceToomas SoomeEach host has a separate crontab entry for building the server and
199767f8919635c4928607450d9e0abb932109ceToomas Soomerunning tests. Here are examples from bb and sol:
199767f8919635c4928607450d9e0abb932109ceToomas Soome # build the BSD-3.1 version of bind 9
199767f8919635c4928607450d9e0abb932109ceToomas Soome 0 3-22 * * * $HOME/b9t/bin/b9t.cron BSD-3.1
199767f8919635c4928607450d9e0abb932109ceToomas Soome # bind 9 build for Solaris 5.6
199767f8919635c4928607450d9e0abb932109ceToomas Soome 0 3-22 * * * $HOME/b9t/bin/b9t.cron SunOS-5.6
199767f8919635c4928607450d9e0abb932109ceToomas SoomeDo not confuse the shell script ~wpk/b9t/bin/b9t.cron with the crontab
199767f8919635c4928607450d9e0abb932109ceToomas Soometemplate (?) ~wpk/b9t/b9t.cron. Although they have the same name,
199767f8919635c4928607450d9e0abb932109ceToomas Soomethey are not related. The shell script b9t.cron then calls make,
199767f8919635c4928607450d9e0abb932109ceToomas Soomeusing the makefile b9t.mk in the same location. This makefile moves
199767f8919635c4928607450d9e0abb932109ceToomas Soomethe old status files out of the way and runs through the tests.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe current test schedule is as follows:
199767f8919635c4928607450d9e0abb932109ceToomas Soome :45 CVS tree extracted, tarball built and distributed
199767f8919635c4928607450d9e0abb932109ceToomas Soome :00 Most tests begin
199767f8919635c4928607450d9e0abb932109ceToomas Soome :45 Status report generator runs (was :30)
199767f8919635c4928607450d9e0abb932109ceToomas Soome aix: I can't seem to access that machine; it appears to be down.
199767f8919635c4928607450d9e0abb932109ceToomas Soome bb: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome durango: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome trantor: Build starts at top of hour, 0300 to 2100, odd-numbered hours
199767f8919635c4928607450d9e0abb932109ceToomas Soome hp: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome irix: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome netbsd: Build starts at top of hour, 0300 to 2200 (was :45)
199767f8919635c4928607450d9e0abb932109ceToomas Soome aa: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome rc: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome mirepoix: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome sol: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome truffle: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas Soome anthrax: Build starts at top of hour, 0300 to 2200
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe actual builds take place in a directory whose location differs
199767f8919635c4928607450d9e0abb932109ceToomas Soomeamong systems. On most of them, it's on a local disk, under /build.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeOn some, it's on NFS; in this case the location is defined in
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe output from the make process is in
199767f8919635c4928607450d9e0abb932109ceToomas Soome~wpk/b9t/hosts/$PLATFORM/b9t-status, and the output from
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe output from the later stages of the process is under
199767f8919635c4928607450d9e0abb932109ceToomas Soome/proj/build-reports/bind9/hosts/$PLATFORM. To make the files
199767f8919635c4928607450d9e0abb932109ceToomas Soomeharder to find (?), they have names starting with a period:
199767f8919635c4928607450d9e0abb932109ceToomas Soome* Common problems
199767f8919635c4928607450d9e0abb932109ceToomas SoomeSometime named processes fail to die when the tests are done,
199767f8919635c4928607450d9e0abb932109ceToomas Soomeinterfering with the next test. Just kill them.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeOn hp.rc.vix.com, the tests often fail because of NFS I/O errors.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeWhen this happens, the machine needs to be rebooted. It will not
199767f8919635c4928607450d9e0abb932109ceToomas Soomecome up again without manually entering commands on the console.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeOn bb, the tests sometimes fail because .nfs* files stuck in the build
199767f8919635c4928607450d9e0abb932109ceToomas Soometree keep it from being completely deleted when the next test runs.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe .nfs* files cannot be deleted, but they can be moved, so one way
199767f8919635c4928607450d9e0abb932109ceToomas Soomeof fixing this is to move them to ~wpk.
199767f8919635c4928607450d9e0abb932109ceToomas SoomeFailure locking
199767f8919635c4928607450d9e0abb932109ceToomas SoomeWhen a test fails, no further testing is done on that host. To remove the
199767f8919635c4928607450d9e0abb932109ceToomas Soomelockout and allow more tests to be run, remove the file
199767f8919635c4928607450d9e0abb932109ceToomas SoomeThe failed file itself contains an exit code, which is not particularly
199767f8919635c4928607450d9e0abb932109ceToomas Soomeuseful. The more useful information is in the various log files under
199767f8919635c4928607450d9e0abb932109ceToomas Soomethe build report.