ACATS 4.1 User's Guide
Title Page
Contents   Index   References   Previous   Next 

6.1.2 Annotated Grading Tool Example

Following is an example of using the grading tool on Chapter 5 C-Tests for an implementation that has not yet implemented most of Ada 2012. For this example, file ChapC5.csv is an event trace containing the events generated by processing the 102 ACATS C-Tests for chapter 5. The file C5-Sum.csv is the test summary file for the 102 ACATS C-Tests for chapter 5. Man.Txt is an empty file (there are no manual grading requests for this run).
In the following, annotations are given in italics, and are not part of the output of the Grading Tool.
The command line used for the example is:
Grade ChapC5.csv C5-Sum.csv Man.Txt "C-Tests for Chapter 5" - Use_Timestamps -Check_All_Compiles -No_Positions
This gives the following expected results:
ACATS Grading Tool - version 1.0
  Compile Checks: CHECK_ALL
  Make checks of time stamps in event log
  Use only line numbers of error messages when grading
  Report verbosity: NORMAL
  779 event trace records read from ChapC5.csv
      The non-comment records in the event trace file.
  117 test summary trace records read from C5-Sum.csv
      The non-comment records in the test summary file. All tests in this file are graded,
      whether or not they appear in the event trace. Extra tests in the event trace are ignored.
  0 manual grading requests read from New-Man.Txt
      The number of tests for which manual grading was requested, excluding comments.
-- Test C51004A passed execution
      The result for an individual test. The passed results can be suppressed with the -quiet option rather than -normal.
-- Test C52005A passed execution
-- Test C52005B passed execution
-- Test C52005C passed execution
-- Test C52005D passed execution
-- Test C52005E passed execution
-- Test C52005F passed execution
-- Test C52008A passed execution
-- Test C52008B passed execution
-- Test C52009A passed execution
-- Test C52009B passed execution
-- Test C52010A passed execution
-- Test C52011A passed execution
-- Test C52011B passed execution
-- Test C52101A passed execution
-- Test C52102A passed execution
-- Test C52102B passed execution
-- Test C52102C passed execution
-- Test C52102D passed execution
-- Test C52103A passed execution
-- Test C52103B passed execution
-- Test C52103C passed execution
-- Test C52103F passed execution
-- Test C52103G passed execution
-- Test C52103H passed execution
-- Test C52103K passed execution
-- Test C52103L passed execution
-- Test C52103M passed execution
-- Test C52103P passed execution
-- Test C52103Q passed execution
-- Test C52103R passed execution
-- Test C52103X passed execution
-- Test C52104A passed execution
-- Test C52104B passed execution
-- Test C52104C passed execution
-- Test C52104F passed execution
-- Test C52104G passed execution
-- Test C52104H passed execution
-- Test C52104K passed execution
-- Test C52104L passed execution
-- Test C52104M passed execution
-- Test C52104P passed execution
-- Test C52104Q passed execution
-- Test C52104R passed execution
-- Test C52104X passed execution
-- Test C52104Y passed execution
-- Test C53007A passed execution
** Test C540001 has unexpected compile error at line 144 in file C540001.A
   because: Feature not implemented
      The test uses an Ada 2012 feature not implemented in the test implementation. Thus, this test
      (and several others) fail. The message is not part of the grading (and is suppressed if -quiet is
      used), but should be helpful in determining the reason a test has failed.
** Test C540002 has unexpected compile error at line 112 in file C540002.A
   because: Unable to resolve expression
** Test C540003 has unexpected compile error at line 69 in file C540003.A
   because: Feature not implemented
-- Test C54A03A passed execution
-- Test C54A04A passed execution
-- Test C54A07A passed execution
-- Test C54A13A passed execution
-- Test C54A13B passed execution
-- Test C54A13C passed execution
-- Test C54A13D passed execution
-- Test C54A22A passed execution
-- Test C54A23A passed execution
-- Test C54A24A passed execution
-- Test C54A24B passed execution
-- Test C54A42A passed execution
-- Test C54A42B passed execution
-- Test C54A42C passed execution
-- Test C54A42D passed execution
-- Test C54A42E passed execution
-- Test C54A42F passed execution
-- Test C54A42G passed execution
** Test C550001 has unexpected compile error at line 72 in file C550001.A
   because: Feature not implemented
** Test C552001 has unexpected compile error at line 150 in file C552001.A
   because: This must name a type
++ Test C552002 N/A because of expected error at line 59 in file C552002.A
   because: Feature not implemented
      Note that the text of error messages does not have any effect on test grading. This test is
      Not Applicable because the first error occurred on a N/A => Error line, regardless of the message text.
** Test C552A01 has unexpected compile error at line 73 in file C552A01.A
   because: F552A00_PRIME_NUMBERS; WITHed compilation unit not found
      Here, a foundation (which is not graded by itself) failed to compile. The failure to compile the
      foundation (because of an unimplemented feature) caused this test to fail.
** Test C552A02 has unexpected compile error at line 94 in file C552A02.A
   because: F552A00_SPARSE_ARRAYS; WITHed compilation unit not found
-- Test C55B03A passed execution
-- Test C55B04A passed execution
-- Test C55B05A passed execution
-- Test C55B06A passed execution
-- Test C55B06B passed execution
-- Test C55B07A passed execution
++ Test C55B07B N/A because of expected error at line 45 in file C55B07B.DEP
   because: Identifier is not defined
      This test is Not Applicable because the implementation in question does not define a type Short_Integer.
-- Test C55B10A passed execution
-- Test C55B11A passed execution
-- Test C55B11B passed execution
-- Test C55B15A passed execution
-- Test C55B16A passed execution
-- Test C55C02A passed execution
-- Test C55C02B passed execution
-- Test C56002A passed execution
-- Test C57003A passed execution
-- Test C57004A passed execution
-- Test C57004B passed execution
-- Test C58004C passed execution
-- Test C58004D passed execution
-- Test C58004G passed execution
-- Test C58005A passed execution
-- Test C58005B passed execution
-- Test C58005H passed execution
-- Test C58006A passed execution
-- Test C58006B passed execution
-- Test C59002A passed execution
-- Test C59002B passed execution
-- Test C59002C passed execution
Summary for C-Tests for Chapter 5
Result                        Overall  B-Tests  C-Tests  L-Tests  Other Tests
   Total Tests Graded           102        0      102        0        0
     The total tests graded. The numbers in each column reflect the number of tests of the appropriate type for
     the category in question.
** Failed (Process)               0        0        0        0        0
     A process failure is some problem with the test processing, such as running a test before it is compiled or
     compiling units out of the required order. Usually, correcting the test processing is all that is needed to
     eliminate this error.
** Failed (Compile Missing)       0        0        0        0        0
     This means that some required unit was not compiled. This is a failure even if the test executed and passed.
** Failed (Compiler Crash)        0        0        0        0        0
     This means that some compilation started but did not finish normally. This usually reflects some internal
     compiler error.
** Failed (Error in OK area)      0        0        0        0        0
     This means that an error was reported in the range of an OK tagged line. These are counted separately as these
     typically indicate a significant compiler bug.
** Failed (Unexpected Error)      7        0        7        0        0
     This means that an error was reported outside of the range of any test tag.
** Failed (Missing Error)         0        0        0        0        0
     This means that no error was reported where one was required (for instance, for an error tag). This is only
     likely for a B-Test.
** Failed (Bind Missing)          0        0        0        0        0
     This means that no bind operation was found for the test (and no other failure occurred first).
** Failed (Bind Crash)            0        0        0        0        0
     This means that bind started but did not finish normally.
** Failed (Bind Error)            0        0        0        0        0
     This means that bind reported an error.
** Failed (Run Missing)           0        0        0        0        0
     This means that no test execution was found (and no other error was detected first).
** Failed (Run Crash)             0        0        0        0        0
     This means that test execution started but did not complete and report a result.
** Failed (Runtime Message)       0        0        0        0        0
     This means that test execution explicitly reported Failed.
++ Not-Applicable (Annex C)       0        0        0        0        0
     This means that the test did not meet an Annex C Requirement; if Annex C is being tested,
     this should be considered a failure.
++ Not-Applicable (Compile)       2        0        2        0        0
     This means that the test had an error in an N/A => Error range.
++ Not-Applicable (Runtime)       0        0        0        0        0
     This means that the test execution reported that it was Not Applicable.
!! Special Handling (Runtime)     0        0        0        0        0
     This means that the test execution reported that it required special handling.
!! Manual Grading Requested       0        0        0        0        0
     This means that the test failed for some reason and manual test grading was requested. If the test grades
     as Passed or Not Applicable, the manual grading request is ignored and the test will be counted in the
     appropriate other category.
== Passed (Expected Errors)       0        0        0        0        0
     This means that the test had compile-time errors as expected, and no extra errors.
== Passed (Bind Error)            0        0        0        0        0
     This means that the test had bind errors as expected (this is most likely for an L-Test.
== Passed (Runtime)              93        0       93        0        0
     This means that the test reported Passed when executed.
Overall result for C-Tests for Chapter 5 is **FAILED**
     The overall result is Failed unless all tests either pass, are not applicable, or had manual grading
     requested. For this implementation, the result of failed is expected. The implementer could have requested
     manual grading for the tests that were not expected to work, in order to change this result to Passed.

Contents   Index   References   Previous   Next