Design: 09.01.02.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 52 handled by system
CHARACTERISTICS: ynny
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".
DESIGN:
Throughout this program, every time an error is signalled, the system-defined
error handler should call <error logging> to write in error message on
the error file.
Also, throughout this program, this is what is meant by
"operator verifies error nmessage":
display next error message in error file to operator
OPQA/according to the error message, which function generated the error?
if (operator response = expected function) then
OPQA/if error message identifies error code, enter it, else "n"
if (operator response = "n") then
display standard error wording(s) to operator
OPQA/does error meaage match standard wording?
pass/fail depending on (operator response = yes)
else
pass/fail depending on (operator response = expected code)
endif
else
fail
informative message on missing/incorrect function
endif
Use <inquire list of available workstation types> to determine
mxtype = maximum workstation type
<open workstation> using type = mxtype+1: signals error
TEST: #SR 2
"If <open workstation> signals an error because the workstation
type is not recognized by the implementation, it should not
cause any other effect."
pass/fail depending on (system state = PHIGS-open and
workstation state = closed)
*** *** *** Results of system-defined error handling *** *** ***
TEST: #SR 2
"If <open workstation> is called and the workstation type is not
recognized by the implementation, it should write an accurate,
self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)
END PROGRAM 1