Design: 09.01.10.01/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 2000 handled by user
CHARACTERISTICS: ynnn
OPERATOR SCRIPT:
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 user-defined error handler saves
the error code, function identifier, and error file identifier in
an error table.
*** *** *** Generate errors; test absence of side effects *** *** ***
<open workstation>
<open structure> 101
<redraw all structures> with control flag = 2: signals error
<update workstation> with regenerated flag = -1: 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 local transformation> with composition type = 3: signals error
TEST: #SR 1
"If <set local transformation> signals an error because
enumeration type is out of range, it should not cause any other
effect."
pass/fail depending on (element pointer = 0)
<set edge representation> bundle #1 with edge flag = POFF
<set edge representation> bundle #1 with edge flag = 2: signals error
TEST: #SR 1
"If <set edge representation> signals an error because
enumeration type is out of range, it should not cause any other
effect."
pass/fail depending on (PHIGS state = open and
wkst state = open and
edge bundle #1 unchanged)
<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 user-defined error handling *** *** ***
TEST: #SR 1
"If <redraw all structures> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 004, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <update workstation> is called and enumeration type is out
of range, it should return error code 2000, function identifier
005, and the current error file identifier to the user defined
error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set display update state> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 006, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set display update state> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 006, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set text path> is called and enumeration type is out of
range, it should return error code 2000, function identifier
042, and the current error file identifier to the user defined
error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set annotation text alignment> is called and enumeration
type is out of range, it should return error code 2000,
function identifier 047, and the current error file identifier
to the user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set annotation text alignment> is called and enumeration
type is out of range, it should return error code 2000,
function identifier 047, and the current error file identifier
to the user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set interior style> is called and enumeration type is out
of range, it should return error code 2000, function identifier
049, and the current error file identifier to the user defined
error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set edge flag> is called and enumeration type is out of
range, it should return error code 2000, function identifier
052, and the current error file identifier to the user defined
error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set individual asf> is called and enumeration type is out
of range, it should return error code 2000, function identifier
061, and the current error file identifier to the user defined
error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set individual asf> is called and enumeration type is out
of range, it should return error code 2000, function identifier
061, and the current error file identifier to the user defined
error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set local transformation> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 075, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set edge representation> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 066, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set view representation> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 084, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set view transformation input priority> is called and
enumeration type is out of range, it should return error code
2000, function identifier 085, and the current error file
identifier to the user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set edit mode> is called and enumeration type is out of
range, it should return error code 2000, function identifier
096, and the current error file identifier to the user defined
error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <delete structure network> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 106, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set conflict resolution> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 119, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set conflict resolution> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 119, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <retrieve paths to ancestors> is called and enumeration type
is out of range, it should return error code 2000, function
identifier 124, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
TEST: #SR 1
"If <set error handling mode> is called and enumeration type is
out of range, it should return error code 2000, function
identifier 179, and the current error file identifier to the
user defined error handler."
pass/fail depending on (next entry in error table = expected values)
END PROGRAM 1