home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / std_unix / archive / text0006.txt < prev    next >
Encoding:
Text File  |  1994-03-07  |  7.8 KB  |  267 lines

  1. Submitted-by: nick@usenix.org (Nicholas M. Stoughton)
  2.  
  3.                USENIX Standards Report Editor
  4.  
  5.    Nicholas M. Stoughton <nick@usenix.org>, Report Editor
  6.  
  7.  
  8. POSIX Test Methods
  9.  
  10.  
  11. Fred Zlotnick <fred@mindcraft.com> reports on the January
  12. 10-14, 1994 meeting in Irvine, Ca.:
  13.  
  14. The requirement that POSIX working groups develop test
  15. methods in parallel with their standards was suspended at
  16. the April 1993 meeting, and then finally withdrawn at the
  17. following July meeting.  Nevertheless there are two active
  18. test methods activities and more in the works.  The active
  19. groups, which met at the October POSIX meeting in Bethesda
  20. and at the January meeting in Irvine, are 23 (which is
  21. revising POSIX.3, the standard that describes how to write
  22. test methods) and 23.2 (which is developing test methods
  23. for POSIX.2, Shell and Utilities). Well, technically it
  24. wasn't the 23.2 working group that met, but it's the same
  25. group of people.  More about that later.  Both of these
  26. groups are chaired by Lowell Johnson of Unisys.
  27.  
  28. Revision to POSIX.3
  29.  
  30. The 23 working group has been working on a revision to
  31. POSIX.3 for about a year and a half.  Although POSIX.3 has
  32. been used successfully to write test methods for POSIX.1,
  33. and its methodology has formed the basis for quite a few
  34. commercial test suites, the use of this methodology has
  35. exposed a number of problems.  The purpose of this revision
  36. is to deal with these problems:
  37.  
  38.    o+ It is difficult to use POSIX.3 to write test methods
  39.      for standards that modify other standards.  Real-time
  40.      (POSIX.1b, which used to be POSIX.4) is a good example.
  41.      Because the real-time standard consists of a collection
  42.      of optional extensions to POSIX.1, every assertion for
  43.      real-time must be conditional (type C or type D).  But
  44.      there are other conditions within many real-time
  45.      assertions, and this makes the statement of each
  46.      assertion in POSIX.3 format rather cumbersome.
  47.      Moreover, some of the options of POSIX.1b place
  48.      additional semantic requirements on POSIX.1 interfaces
  49.      such as _o_p_e_n().  Writing the assertions to test these
  50.      requirements raises questions not adequately addressed
  51.      in POSIX.3-1991:  How should they be numbered? How
  52.      should they be conditioned?  How should they be
  53.      classified (assertion-typed)?
  54.  
  55.    o+ A number of the users of POSIX.3 found the standard to
  56.      be quite terse, and consequently difficult to
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. - 2 -
  69.  
  70.  
  71.  
  72.      understand.  A number of related but distinct concepts
  73.      in POSIX.3 were often confused by users of the
  74.      standard.
  75.  
  76.    o+ ISO had difficulty with the terminology of POSIX.3,
  77.      which is not always consistent with that of some other
  78.      test methods standards at the international level.
  79.  
  80.    o+ POSIX.3 was originally designed, and is specified, as
  81.      only applying to POSIX standards.  The IEEE's Portable
  82.      Applications Standards Committee (PASC) currently
  83.      manages a number of projects, only some of which fall
  84.      under the POSIX umbrella.  yet the test methods
  85.      methodology of POSIX.3 applies to, and should be
  86.      specified for, other PASC working groups such as P1327
  87.      and P1328.  In general, the scope of POSIX.3 should be
  88.      broadened.
  89.  
  90. The 23 working group began the week in Irvine with Draft
  91. 2.0 of the revised standard.  This draft had been completed
  92. by the group's technical editor, Anthony Cincotta of NIST,
  93. just prior to the meeting.  By the end of the week the group
  94. had agreed on a set of changes that, when completed, will
  95. produce Draft 3.  This draft should be suitable for mock
  96. ballot.
  97.  
  98. The basic methodology of assertion based testing has not
  99. changed in this revision, but the form in which assertions
  100. are written has changed drastically.  The familiar,
  101. frequently misunderstood and often vilified 2x2 matrix of
  102. assertion types is gone.  The syntax of an assertion now
  103. closely resembles a conditional sentence, with possibly many
  104. nested conditions.  If an assertion applies only when
  105. conformance to a particular version of a standard (e.g.
  106. POSIX.1- 1993) is being tested, a condition indicates this
  107. fact.  If an assertion depends on support of an option (e.g.
  108. job control) a condition indicates this fact.  Sometimes an
  109. assertion may specify required behavior but may only be
  110. testable if the implementation supports optional features
  111. (such as certain appropriate privileges). If so, a condition
  112. indicates this fact.  Assertions are now labeled by
  113. assertion IDs rather than assertion numbers; an assertion ID
  114. is a string.
  115.  
  116. The new assertion structure promises to make assertion
  117. writing easier and to allow the structure of test methods
  118. standards to more closely parallel the base standards
  119. against which they are written.
  120.  
  121. POSIX.2 Test Methods
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134. - 3 -
  135.  
  136.  
  137.  
  138. The 23.2 working group has been working on ballot
  139. resolution for the ballot of Draft 8 for the last four
  140. meetings.  This means that, according to IEEE rules, it's
  141. not really the 23.2 committee that's meeting.  Ballot
  142. resolution is done not by the committee that wrote the
  143. draft, but by a group of technical reviewers.  They just
  144. happen (in this case, as in most) to be many of the same
  145. people.
  146.  
  147. Ballot resolution for Draft 8 has been a slow job for a
  148. number of reasons.  One is the size of the task: there are
  149. almost 9 assertions in Draft 8.  Another is that despite
  150. its size, Draft 8 was incomplete, and a number of ballot
  151. objections made note of this fact.  Some of the missing
  152. pieces (like assertions for _y_a_c_c) have not been easy to
  153. supply.  Nevertheless, part of the task of resolving these
  154. objections is to fill in those missing pieces.  Yet another
  155. problem is that participation in this working group has not
  156. been as regular as one might like, although the October and
  157. January meetings were quite well attended.
  158.  
  159. Besides the incompleteness of Draft 8, major issues in
  160. ballot included the fact that in many places the test
  161. methods must be locale dependent but the draft frequently
  162. addressed testing only in the POSIX locale.  Moreover, it
  163. was often not explicit about this fact.  Other problems
  164. included the omission of reasons for classifying assertions
  165. as extended, and the omission of clear references for
  166. reference assertions.
  167.  
  168. By the end of the October meeting the reviewers had made
  169. enough progress to enable the technical editor, Andrew
  170. Twigger of UniSoft, to produce interim Draft 8.5.  This will
  171. not be balloted, but it was useful as a working document at
  172. the January meeting.  At that meeting the technical
  173. reviewers completed ballot resolution.  The technical editor
  174. now has to integrate the resulting changes to produce Draft
  175. 9, which will go out to ballot.  The one thing of which we
  176. can be certain is that Draft 9 will be much more complete,
  177. and much larger, than Draft 8.
  178.  
  179. Test Methods for POSIX.1b
  180.  
  181. At the Irvine meeting the PASC Sponsor Executive Committee
  182. (SEC) approved a new Project Authorization Request (PAR) for
  183. test methods. The PAR creates a POSIX 23.1b project under
  184. the direction of the 23 working group.  Its goal is to
  185. write test methods for POSIX.1b.
  186.  
  187. You may recall that during the ``test methods wars'' the
  188. POSIX.4 working group was grandfathered out of the
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200. - 4 -
  201.  
  202.  
  203.  
  204. requirement (since lifted) to develop test methods along
  205. with base standards.  Thus there are no test methods, even
  206. in draft form, for POSIX.1b.  Yet there is substantial
  207. interest in the development of conformance tests for POSIX
  208. Real Time, and such tests need a specification.  In Irvine a
  209. number of organizations, including representatives of
  210. several DoD agencies (DISA, JITC), committed to provide
  211. reop these test methods.  Ken Thomas of JITC
  212. has offered to serve as vice-chair of 23 for the direction
  213. of the 23.1b effort.  Bruce Weiner of Mindcraft has
  214. offered to act as technical editor for the test methods
  215. document.
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265. Volume-Number: Volume 34, Number 7
  266.  
  267.