/* errors-test.c - Test program for error routines. * (C) Copyright 1999 by John Halleck * All rights reserved. */ /* Version of August 14th, 1999 */ #include #include "errors.h" /* The standard errors package. */ #include "reportframe.h" /* Lets make reporting easier */ int main() { int temp; error problem; inittests("errors"); newtest ("printerror"); printf ("\nThe following should be a list of all the errors\n\n"); for (temp=1; temp<=maxERR; temp++) { if (printerror((error) temp)) { goterrorstat ("error code unrecognized", temp); } } printf ("The list above should have all of its error codes in order,\n"); printf ("without gaps or duplicates\n"); printf ("\nThe following should report no error\n"); if (printerror((error )0)) { goterror ("OK code not recognized(0)"); } printf ("\n"); printf ("The following line should be an unidentified numeric error code\n"); if (!printerror((error) (maxERR+1))) { goterrorstat ("out of range code OK. (%d)\n",maxERR+1); } printf ("\nThe following line should be the -1 out of range code.\n"); if (!printerror(-1)) { goterror ("claims out of range code OK. (-1)"); } printf ("\n"); endtest(); newtest ("clearerror"); lasterror = ERRfalse; if ((problem = clearerror())) goterrorstat ("Rejected valid call?", problem); if (lasterror != NoError || lastfile != 0 || lastline != 0) goterror ("Produced wrong results"); endtest (); newtest ("noteerror"); if (ERRfalse != (problem = noteerror (ERRfalse, "Dummy false error"))) goterrorstat ("Rejected valid call?", problem); if (lasterror != ERRfalse) goterrorstat ("Produced wrong results", lasterror); if ((problem = clearerror())) goterrorstat ("clearerror had problems cleaning up after call.", problem); if (lasterror) goterrorstat ("clearerror didn't clean up after call", problem); endtest (); newtest ("dumperror"); if ((problem = clearerror())) goterrorstat ("initial clearerror call failed", problem); if (lasterror) goterrorstat ("initial clearerror call didn't work", lasterror); remark ("\nThere should be >>>NO<<< print between this line,"); if (ERRnotfound != (problem = dumperror())) goterrorstat("Call rejected?", problem); remark ("and this one.\n"); if (ERRfalse != (problem = noteerror(ERRfalse, "False to make error"))) goterrorstat ("noteerror call failed", problem); remark ("There should be an ERRfalse error reported just below this line."); if ((problem = dumperror())) goterrorstat("Call rejected?", problem); if ((problem = clearerror())) goterrorstat ("clearerror call failed", problem); if (lasterror) goterrorstat ("clearerror call didn't work", lasterror); printf ("\n"); endtest (); newtest ("aborterror"); printf ("\n\nThere is no good way the abort routine can be checked\n"); printf ( "without killing the program, so aborterror has not really\n"); printf ( "been checked.\n\n"); endtest(); finalizetests(); return progerrors; }