AdaIC
Ada Information Clearinghouse
Compilers ^
Conformance Testing & Evaluation^
ACATS Test Modification List V 2.2C

ACATS Test Modification List
Version 2.2C
July 8, 1999


Changes from the last list:

Test CD30004 was extensively modified and two versions created. The subtest "Check_Record" checked an implementation advice paragraph. The second half of the objective is untestable, as it is impossible to know if an implementation is using levels of indirection internally. And the test required the "recommended level of support" ever for implementations not claiming Annex C support. The bad subtests were deleted, and failed messages removed for Annex_C = False to create a modified version. Finally, the last part of the first half of the objective was never checked. A subtest was added to check this; this version is treated as a new test.

Test CA14028 is a modified, reinstated test. The original test (CA1020D) was withdrawn pending resolution of AI-00192, which now has been completed. (This test is treated as a new test.)

Tests BA15002 and CA15003 were added to test the changes caused by AI-00136, and to check the rules of 10.1.5(4) and 10.1.5(5).

Test CXB3010 was modified to add a test case to check that Function Value raises Constraint_Error when Length = 0, as specified by AI-00139.

Tests CXE5002 and CXE5003 had their applicability criteria revised to require support for the recompilation of System.RPC (as required by AI-00082).

Test modified before April 1, 1999 are now required.

New tests inserted between July 1, 1999 and October 1, 1999 will become required for conformity assessments on April 1, 2000. New tests inserted between April 1, 1999 and July 1, 1999 will become required for conformity assessments on January 1, 2000. New tests added to the ACATS before April 1, 1999 will become required for conformity assessments on October 1, 1999. The effective dates of tests are marked in the lists.

List explanation:

Test numbers given are for the basic test. Categories are "Withdrawn" (the test should not be processed for Ada conformity assessments); "Allowed Modification" (either the original test or the modified one should be processed for Ada conformity assessments); "Modified" (the modified test must be processed for Ada conformity assessments); "New" (the test does not need to be processed for Ada conformity assessments, but will be added to future baseline ACATS).

ACATS version labels are provided with all new and modified tests. Use this label to retrieve the test from the ACATS VCS. See "How to get new and modified tests".

In citations, line numbers are given relative to the start of a test file in the format of '@<line#,line#,...>'; if a test program comprises more than one file, then the particular file will be indicated by "fn", where "n" is the test-program name's file-designator numeral. E.g., "B38103E : @f1-31, ... " denotes test file b38103e1.ada. In cases where there are two or more rationales for different errors in a test program, these different rationales with their respective line citations are listed on separate lines. References to the Ada 83 & Ada 95 standards are given in the format:

<section|chapter>.<clause>[.<subclause>]:<paragraph>

These references are to the Ada 95 standard unless "Ada83" is specified.

Main list:

===== Core Language =====

Name Category Version label (effective date; old version label) Short description.

B455002 [Pending New] New VCS Label: A2_2B
   Required after 2000-01-01
   This test checks the rule requiring the result of a universal
   fixed multiplying operator is not universal fixed.

B830001 [Modified] VCS Label: A2_2A
   Multiple source units in a single source file are dubious.

C330001 [Modified] VCS Label: A2_2A
   Calls to potentially unelaborated Indef_Func_1 and Indef_Func_2 may raise Program_Error.

C332001 [Modified] VCS Label: A2_2A
   Decimal types have been removed from the tests.

C455001 [Pending New] New VCS Label: A2_2B
   Required after 2000-01-01
   This test checks that universal fixed multiplying operators can be
   given without a type conversion (as required in Ada 83), and that
   constants can be used with such operators.

C460008 [Modified] VCS Label: A2_2A
   Decimal type operations have been split out into a separate test.

C460011 [Pending New] New VCS Label: A2_1E
   Required after 1999-10-01
   Checks at @193 and @199 test the wrong object. (VCS Label A2_1E)
   This test contains the decimal type operations formerly found in test C460008, and some additional
   rounding tests for decimal type conversions. (VCS Label A2_1C)

C650001 [Modified] New VCS Label: A2_2A
   Call at @352 may cause conversion @337 to raise Constraint_Error
   as the tag check will fail.

C910003 [Pending New] New VCS Label: A2_2A
   Required after 1999-10-01
   Check that task discriminants of an access subtype can be
   selected, indexed, and dereferenced.

CA14028 [Pending New] New VCS Label: A2_2C
   Required after 2000-04-01
   Check that a subprogram body replaces (not completes) a generic
   instantiation.

BA15002 [Pending New] New VCS Label: A2_2C
   Required after 2000-04-01
   Check that program unit pragmas cannot be given in a generic
   formal part or private part. Check that program unit pragmas which
   apply to a compilation unit must be given first in that unit or
   immediately following.

CA15003 [Pending New] New VCS Label: A2_2C
   Required after 2000-04-01
   Check that program unit pragmas can be given in a generic package.

CA20002 [Pending New] New VCS Label: A2_1F
   Required after 1999-10-01
   Check that a partition can be created even if multiple units with
   the same expanded name have been compiled.

CA5004B [Modified] VCS Label: A2_2A
   If an implementation obsoletes entire source files, unit Header
   may be made obsolete by the recompilation of unit CA5004B0.
   [Note: The fix is to split the first test file (CA5004B0).
   This changes the numbers of the remaining test files; scripts
   will need to be updated!]

CD10001 [Modified] VCS Label: A2_2A
   Made small value for Tenths a power of two.

CD2A53A [Modified] VCS Label: A2_2A
   Added applicability criteria, to allow rejection for non-support of decimal small values. (This is
   allowed by 3.5.9(21)).

CD30002 [Modified] VCS Label: A2_2A
   @130 Alignment declared as Max_Word*2, but tests @178 for Multiple_Alignment.
   Multiple_Alignment may exceed maximum supported by implementation.
   Test divides by zero if Word_Size = Storage_Size (@171, 184)

CD30003 [Modified] VCS Label: A2_2A
   The test will fail unless that Storage_Unit = 8.

CD30004 [Allowed Modification] New VCS Label: A2_2C
   Required after 2000-01-01 Org VCS Label: A2_2
   Subtests check 13.3(53) (which is implementation advice) and
   13.3(56) (which is untestable). These have been deleted.
   The test requires all implementations to support the recommended
   level of support, even if this is not required.
   [Pending New] New VCS Label: A2_2C
   Required after 2000-04-01
   A subtest was added to check that Size clauses confirming the
   recommended level of support are supported.

CD92001 [Modified] VCS Label: A2_2A
   Test assumes arrays have same Component_Size without
   justification.

CDE0001 [Modified] VCS Label: A2_2A
   Instantiation of potentially unelaborated CDE0001_2 may raise
   Program_Error.

CE3115A [Modified] VCS Label: A2_2A
   Output to external file may be buffered.

CXAA016 [Modified] VCS Label: A2_2A
   For implementations which do not support creating Text_IO files,
   file deletions may fail (@93).

CXB3010 [Pending New] New VCS Label: A2_2C
   Required after 2000-04-01
   Added a test case to check that Value raises Constraint_Error if
   Length = 0. [Note: This is an enhancement of an existing test; the
   Existing test remains required for conformity assessment until
   this new test becomes effective.]

CXB3013 [Modified] VCS Label: A2_2A
   The Strdup function @95 is not ANSI standard.

LA20001 [Pending New] New VCS Label: A2_1F
   Required after approximately 1999-10-01
   Check that 10.2(19) is enforced. This test was created out of the
   removed test case from B830001.

===== Annex C =====

CXC7001 [Modified] VCS Label: A2_2A
   The routine TC_Match_States is not safe on a multi-processor
   implementation.

CXC7002 [Modified] VCS Label: A2_2A
   The test may fail on an implementation that restricts attribute
   size to the size of an access value.

CXC7003 [Modified] VCS Label: A2_2A
   The test may fail on an implementation that restricts attribute
   size.

===== Annex D =====

BXD1001 [Modified] VCS Label: A2_2A
   Interrupt_Priority pragmas in tasks may be rejected.

CXD1006 [Modified] New VCS Label: A2_2A
   Added applicability criteria, allowing rejection of
   Interrupt_Priority pragma.

CXD2004 [Modified] VCS Label: A2_2A
   The Not_Applicable check for a multi-processor is missing.

CXD6001 [Modified] VCS Label: A2_2A
   The Not_Applicable check for a multi-processor is missing.

==== Annex E ====

BXE2011 [Allowed Modification] New VCS Label: A2_2B
   Required after 1999-10-01 Org VCS Label: A2_2
   The conversions @203, 206 are legal by E.2.2(15).

CXE4005 [Modified] VCS Label: A2_2A
   The call @481 does not contain a classwide parameter, so it cannot
   check E.4(18) as is intended.

CXE5002 Allowed Modification] New VCS Label: A2_2C
   Required after 2000-01-01 Org VCS Label: A2_2A
   An implementation must support the recompilation of the body
   of System.RPC. (VCS Label A2_2C)
   Optional partition B prints a spurious failure message. (VCS
   Label A2_2A)
   [Note: VCS Label A2_2A is required for conformity assessment.]

CXE5003 [Allowed Modification] New VCS Label: A2_2C
   Required after 2000-01-01 Org VCS Label: A2_2
   An implementation must support the recompilation of the body
   of System.RPC.

LXE3001 [Modified] VCS Label: A2_2A
   Test may hang when exceptions are raised as expected.
   Test requires that Program_Error must be raised, but it is not
   required. (E.3:6)

===== Annex F =====

[None]

===== Annex G =====

CXG2014 [Modified] VCS Label: A2_2A
   Subtraction_Error_Test does not contain enough terms in the Taylor
   series for any possible floating point type.

CXG2016 [Allowed Modification] New VCS Label: A2_2B
   Required after 1999-10-01, Org VCS Label: A2_2
   The call to Arctan @243 is missing a comma, resulting in incorrect
   parameters.

===== Annex H =====

LXH4014 [Modified] VCS Label: A2_2A
   Corrected errors in "Special Requirements" section.

How to get new and modified tests:

TThe official home of the ACATS test suite is the ACAA web site. The site can be accessed from the Compilers and Conformance section of the Ada IC web site (www.adaic.org). It also can be accessed directly at pebbles.ocsystems.com/~acats - but note that this is a temporary home, and may change in the future.

The complete set of official new and modified tests are available in the Mod_2_2A Zip and Tar files on the ACAA web site.

Individual new and modified tests can be retrieved from the ACATS VCS. Simply navigate to the appropriate directory (folder), and select the test you want. Select the revision you want (usually the most recent) and it will be retrieved for you. Tests are stored in directories that correspond to the test's prefix. For instance, the test CD92001.A will be found in the CD directory. You can also browse the differences between versions of a test.

If you cannot get the files from the official site or you cannot get the files in a format appropriate for your processor, please contact your ACAL (AVF).

The baseline ACATS 2.2 is available in various formats on the ACAA web site.

 

Summary lists:

 

Withdrawn Tests

(Refer to the main list for details)

[None Currently]

 

Allowed Modification Tests

(Refer to the main list for details)

BXE2011 1999-10-01
CD30004 2000-01-01
CXE5002 2000-01-01
CXE5003 2000-01-01
CXG2016 1999-10-01

 

Modified Tests

(Refer to the main list for details)

B830001
BXD1001
C330001
C332001
C460008
C650001
CA5004B
CD10001
CD2A53A
CD30002
CD30003
CD92001
CDE0001
CE3115A
CXAA016
CXB3013
CXC7001
CXC7002
CXC7003
CXD1006
CXD2004
CXD6001
CXE4005
CXE5002 (VCS Label A2_2A)
CXG2014
LXE3001
LXH4014

Pending New Tests

(Refer to the main list for details)

B455002 2000-01-01
BA15002 2000-04-01
C455001 2000-01-01
C460011 1999-10-01
C910003 1999-10-01
CA14028 2000-04-01
CA15003 2000-04-01
CA20002 1999-10-01
CD30004 2000-04-01
LA20001 1999-10-01
CXB3010 2000-04-01

New Tests

(Refer to the main list for details)

[None currently]

================