ACATS Test Modification List

Version 2.6J
June 30, 2021

Changes from the last list:

A number of tests have changed status since the last list, see the main list for the current status.

New test BC10001 replaces BC2001D and BC2001E (which are withdrawn), adding checks for protected units and eliminating the need for complex syntax error recovery or test splitting. While we want the ACATS to encourage error detection and recovery, the design mistake embodied in these tests is significant enough and unlikely enough that it needs to be corrected before worrying about other details. Thus the sort of error recovery needed for the old tests was very unlikely to be helpful in practice.

Test CXB3013 contains C code with a call to Malloc that C standards require a declaration. As such, "#include <stdlib.h>" was added to file CXB30131.C. Note that the ACATS allows foreign language code to be modified by implementers as needed, so the new include can be removed if it causes a problem for some target.

Many of the tests in ACATS 2.6 are incompatible with Ada 2005. ACATS 2.6 is intended for testing Ada 95 compatibility only; use ACATS 3.1 for testing Ada 2005 and ACATS 4.1 for testing Ada 2012.

No further new tests are expected for version 2 of the ACATS test suite (future development will be done on the Ada 2012 version, which is version 4.1 of the ACATS test suite). However, if a new test developed for Ada 2012 is appropriate for Ada 95, it may be added to this version of the test suite. New tests posted between Apirl 1, 2021 and June 30, 2021 will become required for conformity assessments on January 1, 2022. New tests added to the ACATS before April 1, 2020 are now required for conformity assessments. The effective dates of tests are marked in the lists.

Questions about this document? Contact the ACAA Technical Agent at agent@ada-auth.org.

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); "Pending New" (the test does not need to be processed for Ada conformity assessments, but will be added in the future); "New" (the test is processed for Ada conformity assessments).

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.

C433001 [Modified] VCS Label:A2_6D
        Messages @85, 107 should refer to Second_Component and messages
        @88, 110 should refer to Last_Component.

C453001 [New] VCS Label: A2_6F
        [VCS Label A2_6E] Check that modular adding operators wrap around
        rather than raising Constraint_Error.
        [VCS Label A2_6F] Remove with of Ada.Containers and all uses of
        it, as it is an Ada 2005 feature.

C460013 [New] VCS Label: A2_6A
        Check that null excluding subtypes do not allow null values:
        access parameters. Includes a check for the not null syntax
        as required in Ada 95 by AI-447.

C460014 [New] VCS Label: A2_6E
        Check that Constraint_Error is raised appropriately when
        converting access-to-classwide to another access type.

C620001 [New] VCS Label: A2_6H
        Replaces test C62003A with modern format and additional test
        cases, also removes Ada 2012 incompatibility.

C620002 [New] VCS Label: A2_6H
        Replaces test C95072A with modern format and additional test
        cases, also removes Ada 2012 incompatibility.

C62003A [Withdrawn] VCS Label: A2_6E
        Replaced by C620001.

B730013 [New] VCS Label: A2_6E
        Test operations available for a private type; replaces test
        B74203E.

B74203E [Withdrawn] VCS Label: A2_6E
        Replaced by B730013.

C761006 [Modified] VCS Label: A2_6D
        Rewrite test to not fail if the deallocated object is finalized
        twice. (This is allowed by AI95-0179-1.)

C95072A [Withdrawn] VCS Label: A2_6E
        Replaced by C620002.

BA11007 [Modified] VCS Label: A2_6G
        Split into six test files to avoid requiring error recovery.

BA14001 [New] New VCS Label: A2_6G
        Replaces test BA1101E with modern format and additional test cases
        for Ada 95 compilation units.

CB41004 [Modified] VCS Label: A2_6B
        Test case @99-107 should allow Constraint_Error to be raised, as
        per the Binding Interpretation AI-446.

BC10001 [Pending New] New VCS Label: A2_6J
                 Required after 2022-01-01
        Check that generic formal parts cannot be prepended to task or
        protected specifications. Replaces BC2001D and BC2001E.

BC2001D [Withdrawn] Org VCS Label: A2_6J
        Replaced by test BC10001.

BC2001E [Withdrawn] Org VCS Label: A2_6J
        Replaced by test BC10001.

CD1009A [Withdrawn] VCS Label: A2_6E
        Has one of the objectives of, and thus redundant with, test
        CD2A31C (now CD30012).

CD1009B [Withdrawn] VCS Label: A2_6E
        Has one of the objectives of, and thus redundant with, test
        CD2A21C (now CD30011).

CD1009L [Withdrawn] VCS Label: A2_6E
        Virtually identical to, and thus redundant with, test CD2D13A.

CD1009M [Withdrawn] VCS Label: A2_6E
        Virtually identical to, and thus redundant with, test CD3014C.

CD2A21C [Withdrawn] VCS Label: A2_6E
        Replaced by CD30011.

CD2A31C [Withdrawn] VCS Label: A2_6E
        Replaced by CD30012.

CD30011 [New] VCS Label: A2_6E
        Merges legacy tests CD1009B and CD2A21C to eliminate duplication
        (CD1009B has the same objective as one of the objectives of
        CD2A21C) while adding modern formatting and applicability criteria.

CD30012 [New] VCS Label: A2_6E
        Merges legacy tests CD1009A and CD2A31C to eliminate duplication
        (CD1009A has the same objective as one of the objectives of
        CD2A31C) while adding modern formatting and applicability criteria.

CXAC005 [Modified] VCS Label: A2_6A
        The function @114-7 may raise Program_Error for some
        implementations of Stream_IO.File_Type.

CXB3013 [Allowed Modification] New VCS Label: A2_6J Org VCS Label: A2_6
                 Required after 2021-10-01
        Added "#include <stdlib.h>" @f1:57, as this is required by
        standard C for the call to Malloc.

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

BXC3002 [Modified] VCS Label:A2_6D
        Declaration @103 is not illegal as Amendment repealed the relevant
        rule.

BXC6A03 [Modified] VCS Label: A2_6G
        Removed test case changed by AI05-0218-1.

CXC7001 [Modified] VCS Label: A2_6B
        Checks at @165 and @177 are backwards.

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

[None]

===== Annex E =====

BXE2009 [Modified] VCS Label: A2_6A
        Package Ada.Finalization @140 is not a "normal" package.

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

[None]

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

[None]

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

[None]


===== Support =====

TCTOUCH.ADA [Modified] VCS Label: A2_6H
	Added code so that Touch only reports buffer overflow once.

 

How to get new and modified tests:

The official home of the ACATS test suite is the ACAA web site. The site can be accessed at www.ada-auth.org.

The complete set of official new and modified tests are available in the Mod_2_6J.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. [In case of a conflict, the files in the ACATS VCS should be considered the 'official' versions.]

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.

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

 

Summary lists:

Withdrawn Tests

(Refer to the main list for details)

B74203E
BA1101E
BC2001D
BC2001E
C62003A
C95072A
CD1009A
CD1009B
CD1009L
CD1009M
CD2A21C
CD2A31C

Allowed Modification Tests

(Refer to the main list for details)

CXB3013  2021-10-01

Modified Tests

(Refer to the main list for details)

BA11007
BXC3002
BXE2009
C433001
C761006
CB41004
CXAC005
CXC6A03
CXC7001
TCTOUCH

New Tests

(Refer to the main list for details)

B730013
BA14001
C453001
C460013
C460014
C620001
C620002
CD30011
CD30012

Pending New Tests

(Refer to the main list for details)

BC10001  2022-01-01