Ada Validation

Home Products Sales Support Contacting Us Library Search

Ada 95
Restrictions
Packages
Ada Validation
Key Characteristics

 

Validation

We regularly test the XGC compilers against the ACVC test suite, and against its successor, the ACATS tests. While both of these are intended for compilers that have no built-in restrictions, they offer good coverage of the Verison 1.7 compilers.

We have identified 3487 tests from ACATS Version 2.5 that are applicable to restricted compilers. Table 9-1 lists the number of tests in each section, and how many of those tests the compiler passes.

Table 9-1. The Validation Test Classes

Group

Description

Number of Tests

Number of Applicable Tests

Number of Passes

A

Class A tests check for acceptance (compilation) of language constructs that are expected to compile without error.

75

62

62

B [a]

Class B tests check that illegal constructs are recognized and treated as fatal errors.

1510

1510

1510

C

Class C tests check that executable constructs are implemented correctly and produce expected results.

2307

1835

1562[b]

D

Class D tests check that implementations perform exact arithmetic on large literal numbers.

4

4

4

E

Class E tests check for constructs that may require inspection to verify.

32

9

6

L [c]

Class L tests check that all library unit dependencies within a program are satisfied before the program can be bound and executed, that circularity among units is detected, or that pragmas that apply to an entire partition are correctly processed.

89

68

68

Notes:
a. B tests are expected to fail with compilation time errors. Ones that are not applicable due to restrictions may therefore fail for different reasons from the original intention of the test, but nevertheless fail to compile and are therefore treated as passes.
b. In group C, 303 tests did not print PASSED but terminated with an unhandled exception. In all 303 cases the exception was correctly raised then not handled because of the restriction on exception propagation.
c. L tests are expected to give errors at compile time, bind time or link time and not to run.
 

Updated May 11, 2005
Copyright XGC Software