Read the README file first! Each test is in a separate directory, and is composed of: - an executable file called "app" which must compile and install a particular application on the "app" mote. - a set of executable files with the .tst extension which are the subtests of this particular test. - an executable reports the outcome of a test by its exit code: 0: PASS 1: SKIP everything else: FAIL For each test, the "app" executable is run first. If it returns 0 (PASS), then the subtests specified by the .tst files are executed. Otherwise, the whole test is skipped. The app and .tst files can be any kind of executable, and can assume the following environment: - two serial forwarders are running, one for the "app" mote (on tcp port 9011) and one for the "base" mote (port 9012) - environment variable PLATFORM is set to the selected mote kind - environment variable MOTECOM is set to the packet source for the "app" serial forwarder (sf@localhost:9011) - environment variable MOTEBASE is set to the packet source for the "base" serial forwarder (sf@localhost:9012) The tools.pm file contains a set of useful functions for sending and receiving messages in perl scripts. See the regression tests in base and cnttorfm for examples of perl-based regression tests. See matchbox/full.tst for a regression test written using a shell script and a set of java applications.