Design: 09.01.01.02/P01
This is an abstract, language-independent design. Grim
details may be found in the
corresponding source code.
You may return to the
documentation
for the module containing this program design, or to the
entire hierarchical table of
topics covered by the PVT.
PROGRAM 1: Error 1 handled by system
CHARACTERISTICS: nnny
OPERATOR SCRIPT:
This program uses the system default error handler. The usual
means of invoking PVT programs links in a user-defined error handler.
Be sure to use the special mechanism provided (normally the "phfe" or
"phce" command) for invoking programs without the user-defined error
handler, since it overrides the system handler.
The general idea of this test is that errors are generated and the
resulting error messages from the system default error handler are
displayed so that you can verify their contents.
The program needs to display the contents of the error file one message at
a time . If the system has a consistent message header (as specified to
INITPH), this is done automatically. If not, you are prompted to say
whether the entire message has been displayed, since one message may occupy
several records. The program will keep displaying successive records
until the entire message is visible.
Once the entire error message is displayed, you must enter the function
that generated the corresponding error as reported in the message. You
may identify the function either by its full generic name ("polyline 3"),
or by its unique number as specified in Fortran and C bindings (these are
the same). E.g. instead of typing "polyline 3", you can enter "8". If the
message does not identify the function, enter a negative number to signify
this.
The error message may or may not specify the numeric code of the error.
If so, simply enter the code as prompted. If not, enter "n". The program
will then display the standard wording for the error (there may be several
possible wordings, since a given condition may sometimes generate one of
several errors). If the actual message is accurate with respect to the
standard wording (has the same meaning), enter "y", otherwise "n".
This is a passive test, but take care to invoke it so as to link
in the standard PVT user-defined error handler. Since this is
the mode in which the non-error-handling tests are executed, this
program should be invoked in the normal way.
DESIGN:
Throughout this program, every time an error is signalled (as noted by
the tag "signals error"), the system-defined error handler should call
<error logging> at least once to write an error message on the error file.
*** *** *** Generate errors; test absence of side effects *** *** ***
<open phigs>
<open phigs>: signals error
TEST: #SR 1
"If <open phigs> signals an error because PHIGS is open, it
should not cause any other effect."
pass/fail depending on (system state = PHIGS-open)
*** *** *** Results of system-defined error handling *** *** ***
TEST: #SR 1
"If <open phigs> is called and PHIGS is open, it should
write an accurate, self-identifying error message
on the error file."
pass/fail depending on (operator verifies error message)
END PROGRAM 1