Design: 09.01.11.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 2202 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 (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 *** *** ***
<open workstation>
<redraw all structures> with control flag = 2: signals error
<update workstation> with regenerated flag = 3: signals error
<set display update state> with deferral mode = 5: signals error
<set display update state> with modification mode = 3: signals error
<set text path> with text path = 4: signals error
<set annotation text alignment> with annotation text alignment horizontal=4:
signals error
<set annotation text alignment> with annotation text alignment vertical=6:
signals error
<set interior style> with interior style = 5: signals error
<set edge flag> with edge flag = 2: signals error
<set individual asf> with aspect identifier = 18: signals error
<set individual asf> with aspect source flag value = 2: signals error
<set edge representation> with edge flag = 2: signals error
<set local transformation> with composition type = 3: signals error
<set view representation> with x-y clipping indicator = 2: signals error
<set view transformation input priority> with relative priority = 2:
signals error
<set edit mode> with edit mode = 2: signals error
<delete structure network> with reference handling flag = 2: signals error
<set conflict resolution> with archival conflict resolution = 3: signale error
<set conflict resolution> with retrieval conflict resulution = 3:
signals error
<retrieve paths to ancestors> with path order = 2: signals error
<set error handling mode> with error handling mode = 2: signals error
*** *** *** Results of system-defined error handling *** *** ***
TEST: #SR 1
"If <redraw all structures> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <update workstation> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set display update state> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set display update state> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set text path> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set annotation text alignment> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set annotation text alignment> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set interior style> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set edge flag> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set individual asf> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set individual asf> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set edge representation> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set local transformation> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set view representation> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set view transformation input priority> is called and specified
enumeration type is out of range, it should write an accurate,
self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set edit mode> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <delete structure network> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set conflict resolution> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set conflict resolution> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <retrieve paths to ancestors> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
TEST: #SR 1
"If <set error handling mode> is called and specified enumeration
type is out of range, it should write an accurate, self-identifying
error message on the error file."
pass/fail depending on (operator verifies error message)
END PROGRAM 1