/* reportframe.h - Routines to handle housekeeping for tests. * (C) Copyright 1999 by John Halleck * All rights reserved. */ /* Version of August 16th, 1999 */ #ifndef REPORTFRAME #define REPORTFRAME 1 /* This package was written to do a lot of the housekeeping for test * routines. By housekeeping here I mean keeping track of whether or * not any tests have failed for a routine being tested, whether * or not any tests in a given class of routines failed, and whether * or not there were any failures in the entire package. * (And making appropriate comments...) */ #include "errors.h" /* We return package standard error codes. */ extern int progerrors; /* program has seen errors */ extern int secterrors; /* section has seen errors */ extern int testerrors; /* test has seen errors */ /* Initialize package */ extern error inittests (char * packagename); /* This also puts out a banner for the package. */ /* Optional initialize section */ extern error newsection (char * sectionname); /* This also puts out a banner saying we are starting the section */ /* Start test */ extern error newtest (char * testname); /* This also puts out a note saying we are starting the tests */ /* goterror */ extern error goterror (char *message); /* Put out an error message, and update number of errors seen. */ /* Got error and status */ extern error goterrorstat (char *message, error problem); /* Same as the above, but also prints an error code if the * error is not NoError */ /* Make a remark, without setting errors */ extern error remark (char *text); /* End test */ extern error endtest(); /* This puts out a line to match newtest, it has "***" in it if * there were errors. It contains either "PASSED" or "FAILED" */ /* End optional section */ extern error endsection(); /* This puts out a banner to match start section, it has "***" in * it if there were any errors since the newsection call. * It also contains either "PASSED" or "FAILED" */ /* Terminate package. */ extern error finalizetests(); /* This also puts out a closing line for the package to match the * banner put out by initialize tests. It has "***" characters in * it if there were any errors since initialization. * It also contains either "PASSED" or "FAILED". */ #endif /* ========================================================================== */