You are looking at historical revision 28624 of this page. It may differ significantly from its current revision.

testdrive

Driver program for continuous integration scripts.

Usage

testdrive [options...] [commands...]

Documentation

testdrive is a simple program for running a set of compilation and testing scripts with a single command. For each module defined in the configuration file, testdrive looks for a fetch script, build script, test script, and plot script. After these scripts have been run successfully, it constructs an HTML file with the results of all tests and any images generated by the plot script. Additionally, the configuration file can define variables that are expanded in the script files before they are run.

Order of operations

Given a configuration file testdrive performs the following operations for each module defined:

Expansion of variables in the script files

If the configuration file specifies an environment for the scripts (see next section), then before any of the scripts are run, text of the form VARIABLE will be expanded to the corresponding value given in the configuration file.

Configuration file

Example configuration


 (define module-source-dir "/home/user/src/modules")

 (env `(
      (CHICKEN_DIR . "$HOME/bin/chicken")
      ))

 (modules `(
  (test_module
   (label . "Test module")
   (config-path  . ,(make-pathname module-source-dir "test")))
  ))

About this egg

Author

Ivan Raikov

Version history

1.0
Initial release

Requirements

License

Copyright 2013 Ivan Raikov.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

A full copy of the GPL license can be found at
<http://www.gnu.org/licenses/>.