Sanger Home | Acedb | YourGenome | Ensembl | Trace Server | Library Wellcome Trust Sanger Institute Home
Data Release Policy | Conditions of Use 

NB this documentation is for software which is still under development. It doesn't reflect the way aquila is at present, more it was an early stab at how aquila will be when development has been completed late in 2002


The Aquila scripted test harness for AceDB


Calling environment interface

This gets details of the host machine, as needed for finding which tace binary to run.


The Aquila option parser and run controller

This sorts out the various parameters that the rest of Aquila needs.

We keep some details of what iss going on, to output in the case of any problems. The information we keep is:

script
executable
database
dbspec
There are some names which, when entered as $name in a ``do'' command in the aquila scripting language, get substituted to the appropriate thing -- such as a directory (this was introduced to get round the earlier assumption that aquila was being run from inside a fixed directory, that we now call the config directory).

$data
This gives the directory being used for the aquila configuration; this directory should be regarded as read-only.

$scratch
This gives a temporary directory, into which you may put things.

$script
This gives the directory containing the current script file; it will usually be the same as $data.


Command line options affecting results directory

public
against supported version

monthly
against monthly version

nightly
against overnight version

basedir=s
against explicit directory

mine
against directory named by $AQUILA_BASE

against=s
against directory named by $AQUILA/<name>


Command line options affecting tace executable

exec=s
use <file> as the tace executable

Command line options affecting AceDB test database and test scripts

config=s
use <dir> as the aquila config dir (containing the scripts to run)

database=s
use <dir> as the database directory

Command line options affecting comparisons

record
write the results rather than reading them

local
where to keep the one being compared

ignorewhitespace
at the comparison stage

detailed
output more detail of the comparisons

contextdiff
output that detail as context diffs

Command line options affecting debugging

debug
various output

debug2
more various output

dryrun
suppress (most) actual actions

terse
pretty much no auxiliary output

verbose
extra auxiliary output that is not really for debugging

verbose2
extra extra auxiliary output that is not really for debugging

stoponerror
stop on spotting an error back from tace

Other command line arguments

Command line arguments other than options specify which scripts to run. If no scripts are specified, all the scripts in the base results directory are used if -mine or -against has been used to specify the results directory; otherwise the all scripts in the config directory are used. Thus, putting the scripts used into your local results directory when you create it will let your test runs of aquila automatically use the same default collection of tests.

Aquila works in several passes, of which the most important are those called 'measure' and 'compare'. There is also a 'generate_filenames' pass, which is done as a preliminary to 'measure' to make sure all the result files exist.

When recording a new set of reference results (with 'aquila -record') we just do the 'generate_filenames' and 'measure' passes; when running a set of tests, we do both of those (on the new version) and then 'compare' (between the two versions).

When doing several scripts, we do all passes for each script, before going on to the next script.

The parser for the command language is recursive, to allow 'include' statements.

The parser calls routines for handling its various keywords. Many of these, which control the AceDB session while it is running, accumulate details of what to execute in an array, which is used as the AceDB session is run, which happens when the command sequence is complete.

What actually happens in each of these depends on which pass Aquila is running at the time.

do

Does a command from the script file.

show

Tells the AceDB session to run a 'show' command, to output the current keyset.

write

Causes the AceDB session to execute a 'write' command.

list

Causes the AceDB session to execute a 'list' command.

mem

Records the memory used by the AceDB session at the time.

count

Records the size of the current keyset. This is often regarded as enough, in terms of checking whether the result of an operation is still OK.

dbinit

Prepares a fresh database for the test, with a given wspec directory which is copied to configure the new database.

setenv

Sets a runtime environment variable for the AceDB session (or any subprocess it starts) to see.

 Last Modified Wed Oct 9 14:27:26 2002 Rob Clack@sanger.ac.uk