| Version 1.9 Build 1556
|
|
Next: testsuite
Up: System verification
Previous: runtests
Subsections
testdefs
Report and test makedefs variable definitions.
testdefs
testdefs is a GNU makefile which defines rules for reporting the
values of makedefs variables and optionally testing their validity.
testdefs is an adjunct to makedefs (p); it is not meant to be used
independently.
Test categories are:
- Check for the existence of a file.
- Check for the existence of a directory.
- Check for the existence of all directories in a path.
- Check for the existence of (object) libraries in a directory. Recognizes
the syntax of the -l option to ld.
- Check for the existence of an executable. Reports the pathname if the
executable was specified without pathname and also recognizes shell
builtins.
- Check the syntax of a library control variable.
- Check the syntax of an AIPS++ link list variable.
- Check that a number lies within a specified range.
- Syntax checks for some control variables; AUXILIARY, BINTEST,
CONSORTIUM, DOCEXTR, DOCSYS, TESTOPT,
TIMER.
Note that about 40% of makedefs variables can't be sensibly
tested. Chief among these are the variables which define compiler options.
- testdefs is primarily intended for the private use of
makedefs which invokes its rules in either print or
print-and-test mode via the DO_TEST variable.
- testdefs needs to be kept in step with makedefs if
variables are added to or removed from the latter.
- $AIPSARCH/testdefs
- ...rules for reporting and testing variable definitions.
testdefs associates one of three error levels with invalid variable
definitions:
- ADVISORY: A correction may be needed depending on the availability
of resources such as libraries or modes of compiler operation.
This error level is typically associated with missing third-party object
libraries whose absence may cause restricted compilation or link failures.
Roughly a quarter of all errors fall into this category.
- WARNING: An incorrect definition was found which should be fixed
otherwise some rules will fail.
About two thirds of all errors fall into this category.
- SERIOUS: A fundamental problem was found which will cause important
rules to fail.
This error level is given for an invalid AIPSROOT or AIPSARCH,
or problems which will cause catastrophic compile or link failures such as
missing compilers.
The GNU make manual.
The GNU manual page for gmake.
AIPS++ variable names (§1.2).
gmake (p), GNU make.
makedefs adjuncts (p), Per-sourcefile makedefs definitions.
makefiles (p), GNU makefiles used to rebuild AIPS++.
Original: 1996/03/15 by Mark Calabretta, ATNF
Next: testsuite
Up: System verification
Previous: runtests
  Contents
  Index
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc.,
Washington, D.C.
Return to AIPS++ Home Page
2006-10-15