ACATS Test Modification List

Version 4.1D
March 31, 2017

What is this?

This is the ACATS modification list for ACATS 4.1. This document includes test corrections, test removals, and new tests for ACATS 4.1. ACATS 4.1 is the current test suite for Ada, covering the third edition of Ada, ISO/IEC 8652:2012 (usually known as "Ada 2012").

ACATS Modification List version 3.1Q for ACATS 3.1 is the current list for that test suite. ACATS 3.1 should be used for testing implementations that support Amendment 1 (ISO/IEC 8652:1995/AMD 1:2007, often known as "Ada 2005"), and will continue to be maintained as necessary for the foreseeable future.

ACATS Modification List version 2.6E for ACATS 2.6 is the current list for that test suite. ACATS 2.6 should be used for testing implementations of the second edition of Ada, ISO/IEC 8652:1995 (usually known as "Ada 95"); it also will continue to be maintained as necessary for the foreseeable future.

Changes from the last list:

The grading tool was corrected to properly count Annex C RQMT failures in their own category (they had accidentally been counted as "NA (Compile)"). The table sizes in GRD_DATA.A (part of the grading tool) were increased as the new tests added recently have caused them to be exceeded when the entire ACATS is graded at once.

New test C350001 checks that the object form of attribute Image is implemented.

Test C352001 had a Failed message that reflected Ada 95 requirements rather than the Ada 2005 requirements that are tested for. This is confusing, so it was corrected.

New tests B354002 and C354004 test the basic requirements for the Mod attribute.

New tests B35A001 and C35A001 checks that Small can be specified by an aspect specification and that the associated Legality Rules are checked.

New test C452002 checks that overloading resolution works as expected for Ada 2012 membership operations.

New test C453001 checks that modular adding operators wrap around for various user-defined and language-defined types.

New test C470001 checks that a qualified expression is a name and can be used in places that require a name. New test B470001 checks that a qualified expression is a constant view, regardless of what the expression is.

Modified test C480001 so that it didn't have any in out parameters in functions, as it is supposed to be valid for both Ada 2005 and Ada 2012.

Tests C611A04 and C611B03 (new last time) had a number of overlong lines corrected.

New tests B65100, B651002, B651003, C651001, and C651002 check rules involving nonreturning procedures.

Test B74203E used a number of attributes that are not defined in Ada 95, thus failing to test the objective. It was replaced by test B730013, which tests additional cases including attributes added by Ada 95.

New test BA21005 checks that Pure and Preelaborate aspects are not specified late, with a nonstatic value, or with a non-Boolean type.

A number of (very old) tests were withdrawn as their objectives and code are nearly identical to other tests. Such tests serve no purpose other than making the ACATS take longer to process. The tests in question are:

Tests CD2A21C and CD2A31C were also withdrawn to be replaced by new tests CD30011 and CD30012, respectively. The new tests ensure that none of the checks of the withdrawn tests are lost, while adding applicability criteria and modern formatting.

New test CD30010 checks that aspect specifications can be used to specify Component_Size. New tests BD30001, BD30002, and BD30003 check that legality rules are enforced for the type forms of aspect Size, Alignment, and Component_Size.

New test CXAC009 checks that Stream_IO.File_Type has Preelaborable_Initialization.

New tests posted between January 1, 2017 and March 31, 2017 will become required for conformity assessments on October 1, 2017. New tests posted between October 1, 2016 and December 31, 2016 will become required for conformity assessments on July 1, 2017. New tests posted between July 1, 2016 and September 30, 2016 will become required for conformity assessments on April 1, 2017. New tests posted before July 1, 2016 are 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.

ACATS 4.1 includes optional Test Grading tools

ACATS 4.1 introduces new test grading tools.

When the ACATS was designed (as the ACVC in the early 1980s), the intention always was that running it would give a simple and clear Pass or Fail result. However, grading of tests (particularly of B and L Tests) is somewhat subjective and very time-consuming. (Test grading typically involved poring over compiler listings of the entire ACATS with a large highlighter.) The subjectivity was acceptable in the days of common formal testing, as the formal testers would enforce a common grading standard (even if no one could describe what that was), but in an age of self-testing, it reduces the value of the ACATS.

As such, we're introducing a long-overdue set of automated grading tools. These tools are intended to:

The tools also will optionally give feedback to implementers about quality of error message positioning and of error cascades (does one error generate multiple messages?). (Since "goodness of an implementation" is not something that the ACATS tests for, this is not an official goal for the tools.)

This is an ambitious set of goals. It's unlikely that they'll be completely met by the initial versions of the tools. As such, their use will be completely optional (but encouraged!) for ACATS 4.1. The tools will be updated periodically by the normal process for updating the ACATS – an ACATS Modification List like this one.

Details on the operations of the tools can be found in the ACATS 4.1 documentation (that documentation can be found at http://www.ada-auth.org/acats-files/4.1/docs/UG-6.HTM). As always, if you have questions, contact the ACAA Technical Agent at agent@ada-auth.org.

Notice:

The ACAA has created and maintains the Ada Conformity Assessment Test Suite for the purpose of conformity assessments conducted in accordance with the International Standard ISO/IEC 18009 - Ada: Conformity assessment of a language processor. This test suite should not be used to make claims of conformance unless used in accordance with ISO/IEC 18009 and any applicable ACAA procedures.

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 standards are given in the format:
   <section|chapter>.<clause>[.<subclause>]:<paragraph>
These references are to the consolidated Ada standard as available at http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.html.

 

Main list:

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

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

C350001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that the object form of the Image attribute is implemented.

C352001 [Allowed Modification] New VCS Label: A4_1D Org VCS Label: A4_1
                 Required after 2017-07-01
        Corrected Failed message @267 to reflect intended result.

B354002 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Test basic requirements for the Mod attribute.

C354004 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Test basic operation of the Mod attribute.

B35A001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check Legality Rules are enforced when Small is specified by an
        aspect specification.

C35A001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that Small can be specified by an aspect specification.

B38003D [Modified] VCS Label: A4_1A
        Corrected error tags @70,76,82,88 so "optional" and "error" are
        on the same line, as required by the test standards.

C3A0030 [New] VCS Label: A4_1A
        Check that an access discriminant is only null excluding if it
        includes a null exclusion.

B3A1001 [Modified] VCS Label: A4_1A
        Split Pack6 so possible error sets don't intersect; fixed
        overlong lines.

B3A1002 [Modified] VCS Label: A4_1A
        Split Pack6 so possible error sets don't intersect; fixed
        overlong lines.

C452002 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that overloading resolution of Ada 2012 membership
        operations works as intended.

C453001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that modular adding operators wrap around rather than
        raising Constraint_Error.

B455002 [Modified] VCS Label: A4_1A
        Corrected casing of error tags and fixed overlong lines.

C460014 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        Check that Constraint_Error is raised appropriately when
        converting access-to-classwide to another access type.

C460015 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        Check that Constraint_Error is raised appropriately when
        converting access-to-limited-classwide to another access type.

B470001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that qualified expressions are a constant view of the
        expression, even if the expression is a variable object.

C470001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that qualified expressions are a name, and thus can be used
        as a prefix and other places a name is required.

C480001 [New] VCS Label: A4_1A
        Check that an initialized allocator for a class-wide type does
        an accessibility check on the tag of the initializing object.

C480001 [Allowed Modification] New VCS Label: A4_1D Org VCS Label: A4_1A
                 Required after 2017-07-01
        Changed mode to “in” (instead of “in out”) @103 & 144 as those
        parameters are used in functions, making that an Ada 2012 feature,
        and this is an Ada 2005 test.

C52101A [Modified] VCS Label: A4_1A
        Corrected comment @49 not to have the form of an error tag.

B611001 [New] VCS Label: A4_1A
        Check that Pre and Post are only allowed on
        subprograms and entries (and not on subprogram instances).        

B611002 [New] VCS Label: A4_1A
        Check that Pre and Post are not allowed on subprograms
        acting as completions.

B611002 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        Corrected several error location codes.

B611003 [New] VCS Label: A4_1A
        Check that Pre'Class and Post'Class are only allowed on primitive
        subprograms of tagged types. (Normal tagged types and interfaces.)

B611004 [New] VCS Label: A4_1A
        Check that Pre'Class and Post'Class are not allowed on
        subprograms acting as completions.

B611005 [New] VCS Label: A4_1A
        Check that Pre and Post are not allowed on abstract
        subprograms and null procedures.

B611006 [New] VCS Label: A4_1A
        Check that the restrictions on Pre'Class and
        Post'Class expressions added by AI12-0113-1 are enforced.

B611006 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        Clarified error @208; changed error @233 & @247 to OK (as the
        inherited Proc4 routine is abstract and thus is not subject to
        the new rule).

B611007 [New] VCS Label: A4_1A
        Check that Pre'Class and Post'Class are not allowed on entries
        and protected subprograms of untagged task and protected types.

B611008 [New] VCS Label: A4_1A
        Check various rules about the use of the Result attribute.

B611009 [New] VCS Label: A4_1A
        Check that F'Result is not allowed in the body of F.

B611010 [New] VCS Label: A4_1A
        Check that the Old attribute is not allowed in a subprogram or
        entry body, or in an accept statement.

B611011 [New] VCS Label: A4_1A
        Check the Old attribute cannot be used within a precondition
        expression nor in a generic specification outside of a
        postcondition expression.

B611012 [New] VCS Label: A4_1A
        Check that the prefix of an Old attribute cannot contain the
        Result attribute, another Old attribute, nor the index of a
        quantified expression.

B611013 [New] VCS Label: A4_1A
        For a discrete X, check that X'Old has the nominal subtype of X.

B611014 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        [VCS Label A4_1B] If an Old attribute reference occurs in at a
        place where it is potentially unevaluated, check that the prefix
        must statically denote an object.
        [VCS Label A4_1C] Corrected error location codes @240 and @252.

B611015 [Pending New] New VCS Label: A4_1B
                 Required after 2017-07-01
        Check that the prefix of an Old attribute cannot have a limited
        type.

B611016 [Pending New] New VCS Label: A4_1B
                 Required after 2017-07-01
        Check that tagged task and tagged protected types do not allow
        Pre'Class and Post'Class, nor are they allow on operations of
        those types.

B611017 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        [VCS Label A4_1B] Check that Pre'Class cannot be specified for
        an overriding of a subprogram that does not specify Pre'Class.
        [VCS Label A4_1C] Declaration of New_Proc @358 is not overriding
        and thus not subject to the rule. The declaration of Shine @149
        never overrides primitives of the actual type by 12.3(18), thus
        this rule does not apply to instances of Gen2. Added an example
        using a generic derived type.

B611018 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        [VCS Label A4_1B] Check 6.1.1(10-16/3).
        [VCS Label A4_1C] Type T08 @230 and @241 needs to be declared
        abstract.

B611019 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        [VCS Label A4_1B] Check 6.1.1(17/3).
        [VCS Label A4_1C] The declaration of Get_Count @112
        never overrides primitives of the actual type by 12.3(18), thus
        this rule does not apply to instances of Gen2. Added examples
        using generic derived types.

C611A01 [New] VCS Label: A4_1A
        Check that preconditions and postconditions where both specific
        and class-wide contracts apply are checked properly.

C611A02 [New] VCS Label: A4_1A
        Check that the correct expressions are evaluated for specific
        preconditions and postconditions, and that they are evaluated
        at the correct point.

C611A02 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        The main subprogram name was corrected to follow the rules
        of the ACATS User's Guide, clause 4.3.3.

C611A03 [New] VCS Label: A4_1A
        Check that the correct expressions are evaluated for class-wide
        preconditions and postconditions, and that they are evaluated
        at the correct point.

C611A03 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        The main subprogram name was corrected to follow the rules
        of the ACATS User's Guide, clause 4.3.3.

C611A04 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        [VCS Label A4_1C] Check that the correct expressions are evaluated
        for class-wide preconditions and postconditions of an interface
        type, and that they are evaluated at the correct point.
        [VCS Label A4_1D] Fixed too long lines.

C611B01 [New] VCS Label: A4_1A
        Check that X'Old has the tag of X and not the tag of the nominal
        subtype of X (for Post).

C611B01 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        The main subprogram name was corrected to follow the rules
        of the ACATS User's Guide, clause 4.3.3.

C611B02 [New] VCS Label: A4_1A
        Check that X'Old has the tag of X and not the tag of the nominal
        subtype of X (for Post'Class).

C611B02 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        The main subprogram name was corrected to follow the rules
        of the ACATS User's Guide, clause 4.3.3.

C611B03 [Pending New] New  VCS Label: A4_1D
                 Required after 2017-10-01
        [VCS Label A4_1C] Check that X'Old has the tag of X and not the
        tag of the nominal subtype of X (for Post'Class of an interface type).
        [VCS Label A4_1D] Fixed too long lines.

B62001C [Modified] VCS Label: A4_1A
        Changed error @35 to be optional, as the syntax error @33 is
        required (and the comment that only one error need be detected is
        bogus).

B62001D [Modified] VCS Label: A4_1A
        Changed error @41 to be optional, as the syntax error @33 is
        required (and the comment that only one error need be detected is
        bogus).

B65005A [Allowed Modification] New VCS Label: A4_1P Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B65005B [Allowed Modification] New VCS Label: A4_1P Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

C650B04 [New] VCS Label: A4_1A
        Check that the result of a function that returns a class-wide
        tagged type does an accessibility check on the tag of the result
        object when the result expression is class-wide.

B651001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that a return statement cannot apply to a nonreturning
        procedure, and that a renames-as-body of a nonreturning procedure
        has to be a nonreturning procedure (pragma No_Return version).

C651001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that a nonreturning procedure can raise an exception and
        raises Program_Error otherwise (pragma No_Return version).

B651002 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that a return statement cannot apply to a nonreturning
        procedure, and that a renames-as-body of a nonreturning procedure
        has to be a nonreturning procedure (aspect No_Return version).

C651002 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that a nonreturning procedure can raise an exception and
        raises Program_Error otherwise (aspect No_Return version).

B651003 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that an aspect No_Return can only be given on a procedure or
        generic procedure, that the expression has to be nonstatic, and
        that the aspect is not given on an instance or null procedure.

B730006 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Corrected format of error tags; added location indicators.

B730011 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        Test various rules about completions of private types and
        extensions; replaces test B74001A.

B730012 [Pending New] New VCS Label: A4_1C
                 Required after 2017-10-01
        Test various rules about completions of private types and
        extensions in generic units; replaces test B74001B.

B730013 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Test operations available for a private type; replaces test
        B74203E.

B73001A [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B73001B [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B73001C [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B73001D [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B73001E [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B73001F [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B73001G [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B73001H [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B740003 [Modified] VCS Label: A4_1A
        Modified criteria @75 so that it doesn't look like an error tag to
        the grading tools; also fixed an overlong line.

B74001A [Withdrawn] VCS Label: A4_1C
        Replaced by B730011.

B74001B [Withdrawn] VCS Label: A4_1C
        Replaced by B730012.

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

B750A07 [New] VCS Label: A4_1A
        Check that only legal expressions are allowed
        in the return expression of an expression function that returns a
        limited type.
        
B83F02C [Modified] VCS Label: A4_1A
        Updated many optional error markers to match ACATS standards.

B91003A [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B91003B [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B91003C [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B91003D [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B940003 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added additional error locations to directly support common error
        reporting strategies.

B940004 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Split into 8 files; added location indicators.

B95007B [Modified] VCS Label: A4_1A
        Fixed error markers @62,66,70 to match ACATS standards.

BA21005 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Test that Pure and Preelaborate aspects cannot be specified late,
        with a nonstatic expression, or an expression of a type other than
        Boolean.

BB42001 [New] VCS Label: A4_1A
        Check that the arguments of a pragma Assert have to
        have the correct types.

BB42001 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        Corrected two incorrect error location codes.

CB42001 [New] VCS Label: A4_1A
        Check the usual operation of pragma Assert, including the optional
        message.

BB42002 [New] VCS Label: A4_1A
        Check that the arguments of a pragma Assert cannot be reordered
        even if named notation is used.

CB42002 [New] VCS Label: A4_1A
        Check that if the assertion policy is Ignore, none of the
        expressions of a pragma Assert are evaluated and no exception is
        raised by the pragma.

BB42003 [New] VCS Label: A4_1A
        Check that a pragma Assertion_Policy is illegal if the
        policy is not recognized.

CB42003 [New] VCS Label: A4_1A
        Check that procedure Ada.Assertions.Assert evaluates its arguments
        and raises Assertion_Error regardless of the assertion policy.

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

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

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

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

CD11001 [New] VCS Label: A4_1A
        Check that appropriate entities are visible in an aspect
        specification.

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

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

BD30001 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check Legality Rules are enforced when Size is specified by an
        aspect specification for a type.

BD30002 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check Legality Rules are enforced when Alignment is specified by
        an aspect specification for a type.

BD30003 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check Legality Rules are enforced when Component_Size is specified
        by an aspect specification.

CD30010 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that Component_Size can be specified via an aspect
        specification.

CD30011 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        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 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        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.

BD4003A [Modified] VCS Label: A4_1A
        Moved error marker from @66 to @67 so it is on the incorrect
        construct.

CXAC009 [Pending New] New VCS Label: A4_1D
                 Required after 2017-10-01
        Check that Stream_IO.File_Type has Preelaborable_Initialization.

CXB3023 [New] New VCS Label: A4_1A
        Check that a value of an unchecked union type (defined with
        pragma Unchecked_Union) can be passed to a C function.

CXB3024 [New] New VCS Label: A4_1A
        Check that a value of an unchecked union type (defined with
        aspect Unchecked_Union) can be passed to a C function.

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

[None.]

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

CXD2007 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing N/A => Error tag.

LXD7001 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tag.

LXD7003 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tag.

LXD7004 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tag.

LXD7005 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tag.

LXD7006 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tag.

LXD7007 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tag.

LXD7008 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tag.

LXD7009 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added location indicators.

CXDB001 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing N/A => Error tag.

CXDB002 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing N/A => Error tag.

CXDB003 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing N/A => Error tag.

CXDB004 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing N/A => Error tag.

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

[None.]

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

[None.]

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

[None.]

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

LXH4001 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Corrected format of error tag; added location indicators.

LXH4003 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Corrected format of error tag; added location indicators.

LXH4006 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tags.

LXH4009 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tags.

LXH4013 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tags.

LXH4014 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        Added missing error tags.

===== Support =====

F611A00 [New] VCS Label: A4_1A
        Foundation for tests C611A01, C611A02, and C611A03.

F611A00 [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1A
                 Required after 2017-07-01
        Added additional data for test C611A04. The changes are only
        needed for that test.

F611B00 [New] VCS Label: A4_1A
        Foundation for tests C611B01, C611B02, and C611B03.

GRADE.A [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                 Required after 2017-07-01
        [VCS Label A4_1C] Allowed manual grading for tests that are
        missing execution or linking (with no earlier errors). Corrected
        the result for binder crashes. Added category totals to the
        summary.
        [VCS Label A4_1D] Corrected so that Annex C RQMT failures are
        properly counted in their own category.

GRD_DATA.A [Allowed Modification] New VCS Label: A4_1D Org VCS Label: A4_1
                    Required after 2017-07-01
        Increased table sizes as the new tests have caused grading the
        entire ACATS to exceed the old limits.

SPECIAL.A [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                   Required after 2017-07-01
        Added test BA21005 to the list of optional main subprograms.

SUMMARY.A [Allowed Modification] New VCS Label: A4_1C Org VCS Label: A4_1
                   Required after 2017-07-01
        Corrected identification of main subprograms in modern tests.
        Changed the unit name for subunits to be the full expanded name
        including the parent name.

 

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_4_1D.Zip and Tar files on the ACAA web site. As always, when a multi-file test is modified, we provide all of the files, including the unmodified files

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 4.1 is available in various formats on the ACAA web site.

 

Summary lists:

Withdrawn Tests

(Refer to the main list for details)

B74001A
B74001B
B74203E
CD1009A
CD1009B
CD1009L
CD1009M
CD2A21C
CD2A31C

Allowed Modification Tests

(Refer to the main list for details)

B611006  2017-07-01
B63005A  2017-07-01
B65005B  2017-07-01
B730006  2017-07-01
B73001A  2017-07-01
B73001B  2017-07-01
B73001C  2017-07-01
B73001D  2017-07-01
B73001E  2017-07-01
B73001F  2017-07-01
B73001G  2017-07-01
B73001H  2017-07-01
B732C02  2017-07-01
B91003A  2017-07-01
B91003B  2017-07-01
B91003C  2017-07-01
B91003D  2017-07-01
B940003  2017-07-01
B940004  2017-07-01
BB42001  2017-07-01
C352001  2017-07-01
C480001  2017-07-01
C611A02  2017-07-01
C611A03  2017-07-01
C611B01  2017-07-01
C611B02  2017-07-01
CXD2007  2017-07-01
CXDB001  2017-07-01
CXDB002  2017-07-01
CXDB003  2017-07-01
CXDB004  2017-07-01
F611A00  2017-07-01
LXD7001  2017-07-01
LXD7003  2017-07-01
LXD7004  2017-07-01
LXD7005  2017-07-01
LXD7006  2017-07-01
LXD7007  2017-07-01
LXD7008  2017-07-01
LXD7009  2017-07-01
LXH4001  2017-07-01
LXH4003  2017-07-01
LXH4006  2017-07-01
LXH4009  2017-07-01
LXH4013  2017-07-01
LXH4014  2017-07-01
GRADE    2017-07-01
GRD_DATA 2017-07-01
SPECIAL  2017-07-01
SUMMARY  2017-07-01

Modified Tests

(Refer to the main list for details)

B38003D
B3A1001
B3A1002
B455002
B62001C
B62001D
B740003
B83F02C
B95007B
BD4003A
C52101A

New Tests

(Refer to the main list for details)

B611001
B611002
B611003
B611004
B611005
B611006
B611007
B611008
B611009
B611010
B611011
B611012
B611013
B750A07
BB42001
BB42002
BB42003
C3A0030
C480001
C611A01
C611A02
C611A03
C611B01
C611B02
C650B04
CB42001
CB42002
CB42003
CD11001
F611A00
F611B00

Pending New Tests

(Refer to the main list for details)

B354002  2017-10-01
B35A001  2017-10-01
B611014  2017-10-01
B611015  2017-07-01
B611016  2017-07-01
B611017  2017-10-01
B611018  2017-10-01
B611019  2017-10-01
B651001  2017-10-01
B651002  2017-10-01
B651003  2017-10-01
B730011  2017-10-01
B730012  2017-10-01
B730013  2017-10-01
BA21005  2017-10-01
BD30001  2017-10-01
BD30002  2017-10-01
BD30003  2017-10-01
C350001  2017-10-01
C354004  2017-10-01
C452002  2017-10-01
C453001  2017-10-01
C460014  2017-10-01
C460015  2017-10-01
C470001  2017-10-01
C611A04  2017-10-01
C611B03  2017-10-01
C651001  2017-10-01
C651002  2017-10-01
CD30010  2017-10-01
CD30011  2017-10-01
CD30012  2017-10-01
CXAC009  2017-10-01