Design: 09.01.02.02/P07

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 7: Error 59 handled by system

CHARACTERISTICS: ynny

OPERATOR SCRIPT:
See OPERATOR SCRIPT for program 1.

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

Check the category of all accessible workstations. For all workstations
with category of neither OUTPUT, OUTIN nor MO, test if functions 5,62,64,
66,70 generate error 59: ignoring function, the specified workstation
does not have output capability. If there is no workstation with the
category of neither OUTPUT, OUTIN nor MO, skip the test.

*** *** ***  Generate errors; test absence of side effects  *** *** ***



call MULTWS to get number of workstations with category of neither
OUTPUT, OUTIN, nor MO: nwknot
if (nwknot = 0)
     call INMSG ('There is no workstation with category of
                  OUTPUT, OUTIN or MO, this test is skipped.')
     return
endif

call MULTWS to get random
            workstation identifier: owkid
            connection identifier:  oconid
            workstation type:       owtype

<open workstation> with owkid, oconid, owtype
<update workstation> with owkid: signals error

<set polyline representation> with owkid, 1, 1, 1.0, 1: signals error
<set text representation> with owkid, 1, 1, STRING, 1.0, 1.0, 0:
     signals error
<set edge representation> with owkid,1,OFF,1,1.0,0: signals error

inclusive set 2 = inset2 = {1,5,2}
exclusive set 2 = exset2 = {4}
<set invisibility filter> with owkid, inset2, exset2:
  signals error

<set colour model> with owkid, RGB: signals error
<open structure> 101
<post structure> with owkid, 100, 0.5: signals error
TEST: #SR 9
      "If <post structure> signals an error because the workstation
       type does not have output capability, it should not cause any
       other effect."
pass/fail depending on (system state = PHIGS-open and
                        workstation state = open and
                        structure state = open)
<close structure>
<close workstation> owkid

*** *** ***  Results of user-defined error handling  *** *** ***

TEST: #SR 9
      "If <update workstation> is called and the workstation type
       does not have output capability, it should write an accurate,
       self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 9
      "If <set polyline representation> is called and the
       workstation type does not have output capability, it should
       write an accurate, self-identifying error message on the error
       file."
pass/fail depending on (operator verifies error message)

TEST: #SR 9
      "If <set text representation> is called and the workstation
       type does not have output capability, it should write an
       accurate, self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 9
      "If <set edge representation> is called and the workstation
       type does not have output capability, it should write an
       accurate, self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 9
      "If <set invisibility filter> is called and the workstation
       type does not have output capability, it should write an
       accurate, self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 9
      "If <set colour model> is called and the workstation type
       does not have output capability, it should write an accurate,
       self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 9
      "If <post structure> is called and the workstation type does
       not have output capability, it should write an accurate,
       self-identifying error message on the error file."
pass/fail depending on (operator verifies error message)

END PROGRAM 7