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

4.1.2 Logical Organization

The table summarizes the number of tests that check the conformance of an Ada implementation to the core language and conformance to the Specialized Needs Annexes of Ada.
Core tests apply to all implementations. Specialized Needs Annex tests are not required for any implementation. Tests for a given Specialized Needs Annex may be processed by implementations that claim implementation of that annex.
In general, no test result depends on the processing or the result of any other test. Exceptions are noted in Section 5.4.2. No annex test depends on the implementation of any other annex, except possibly in cases where one annex specifically depends on another in Ada (e.g., no test for the Information Processing Annex uses features from any other annex, however Real Time Annex and Distributed Processing tests may depend on Systems Programming Annex features). (There is a single exception to this rule: see Section 5.5.5.3.) Annex tests may use any core feature.
Tests may be created from one or more compilation units. If a test consists of a single compilation unit (a main subprogram only), the test code will be contained in a single file. Tests built from more than one compilation unit may require multiple files. Moreover, some compilation units, called foundation code, may be used by more than one test. Even in these cases, the resulting tests are strictly independent: if test A and test B use the same foundation code, the results of processing (and running, if appropriate) A have no effect on the results of processing (and running, if appropriate) B. Foundation code is more fully explained in Section 4.1.4.
Tests are named using conventions that provide (limited) information about the test. The test naming conventions are explained in Section 4.3. Each test belongs to a single test class that indicates whether it is or is not an executable test. Test classes are explained in Section 4.2.
In addition to test code and foundation code, there is code on which many or all of the executable tests in the suite depend (e.g., package Report, package ImpDef, package TCTouch). Some of this code must be customized to each implementation. There is also code that must be used to build support tools used to customize the suite of tests to an implementation. The customization process is described in Section 5.2.

Contents   Index   References   Previous   Next