ADETEST(1)                  General Commands Manual                 ADETEST(1)



NAME
       adetest - a test harness

SYNOPSIS
       adetest  [ -V | --version ] [ -v | --verbose | -d level | --debug=level
       ] [  -h  |  --help  ]  [  -p  |  --paths  ]  [  -n  |  --simulate  ]  [
       --args-are-generators  ]  [  -g  |  --generate ] [ -t | --test ] [ -r |
       --run ] [ -k | --keep-output-files ] testcmd ...

DESCRIPTION
       Adetest is a test harness.

       A test consists of a program or program sources that when run  success-
       fully  may  produce some output and return a zero exit status.  Adetest
       will invoke make(1) to make the test before it executes it.

       Normally, while the test is being developed, adetest should be used  in
       'run'  mode. When the output and exit code are correct then run adetest
       in 'generate' mode to generate the reference file. Thereafter run  ade-
       test  in  'test'  mode  (the default) to run the test, check the output
       matches the reference file, and that the test still returns a zero exit
       status.

CONFIGURATION
       Normally  adetest is invoked from a Makefile in a ADE-based module, and
       in this context configuration is beyond the scope of this manual page.

OPTIONS
       -d level, --debug=level  Determines how verbose this program  will  be.
                                The  message types displayed for the different
                                values of level are as follows: 0 displays  no
                                messages;  1  displays only errors, 2 displays
                                errors and warnings; 3 displays errors,  warn-
                                ings and informational messages; higher values
                                display errors, warnings,  informational  mes-
                                sages and various messages intended for debug-
                                ging.  The default is 2.

       -h, --help               Displays a brief usage message.

       -p, --paths              Lists the compiled-in paths of  various  files
                                and  directories  that this program uses.  -n,
                                --simulate Some external  commands  that  this
                                program  runs may be displayed rather than ac-
                                tually executed.  BEWARE:  different  programs
                                implement  different  levels of simulation; so
                                this option may work perfectly; on  the  other
                                hand it may do nothing at all!

       -v, --verbose            Equivalent to -d 3.

       -V, --version            Prints the program's version number and exits.

       --args-are-generators    Instead  of interpreting arguments as tests to
                                execute, they will be interpreted  as  scripts
                                whose  standard output lists the tests to exe-
                                cute.

       -g, --generate           Generates the reference files.

       -h, --help               Displays a brief usage message.

       -k, --keep-output-files  Prevents the usual  deletion  of  the  sandpit
                                when the test completes.

       -r, --run                Run the test without capturing its output, but
                                do not compare with the reference file.

       -t, --test               Run the test, check the exit status  is  zero,
                                and  check  the  resulting  output matches the
                                reference file. This is the default behaviour.

EXIT STATUS
       On success adetest returns zero. On failure  it  returns  non-zero  and
       displays a diagnostic message.

FILES
       ./bin                    directory for tests and/or their sources

       ./ref                    directory for test reference files

       ./out                    directory  for test outputs, the files in this
                                directory can be considered temporary.

       ./tmp/adetest.pid.sandpit-testname
                                The sandpit.

ENVIRONMENT VARIABLES
       ADETEST_MODROOT          Adetest sets this to point at the base of  the
                                module  before  invoking  the test. This is to
                                help the test find any data files it may need,
                                and  to  allow it to strip out (typically with
                                sed(1)) any output which varies  depending  on
                                where  the module is located in the filesystem
                                hierarchy.

       MAKE                     Set to the path of the make(1) command.

       PATH, LD_LIBRARY_PATH, PERL5LIB
                                Set to ensure  that  commands,  libraries  and
                                Perl  libraries  from the module's sources are
                                found before any installed elsewhere.

EXAMPLES
       The following commands will create and run a very simple test:

              mkdir bin out ref tmp
              echo -e '#!/bin/bash\ntrue' > bin/simple.sh
              adetest -g -v bin/simple
              adetest -v bin/simple

CAVEATS
       None.

STANDARDS
       This manual page documents version 3.0.4 of adetest.

SEE ALSO
       adegmt(1), sed(1), make(1), ade-config(1)

AUTHOR
       Alexis Huxley <alexishuxley@gmail.com>

COPYRIGHT & DISTRIBUTION POLICY
       Copyright (C) 2002-2024 Alexis Huxley

       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 2 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  MER-
       CHANTABILITY  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
       Public License for more details.

       You should have received a copy of the GNU General Public License along
       with this program; if not, write to the Free Software Foundation, Inc.,
       675 Mass Ave, Cambridge, MA 02139, USA.



                                  27 Dec 2024                       ADETEST(1)