AdaIC Ada Information Clearinghouse |
Compilers ^ Conformance Testing & Evaluation^ ACATS Test Modification List V 2.2E |
ACATS Test Modification List Changes from the last list: The ARG has begun providing tests to check that processors conform to the rulings it has made (AIs). Some of those tests have been added to the suite. Test B392010 is a new test. It checks that 3.9.2(12) is checked, even when it is not known at the point of the declaration that the types are tagged. Test B730006 is a new test. It checks that the visible components of a type extension are only those inherited from the parent type, even if additional components of an ancestor type are visible. The rule checked here was confirmed by AI-00157. Test B830002 is a new test. It checks illegal duplication of components when inheriting from private extensions. This test was constructed to meet the requirements of Technical Corrigendum 1 (AI-00150). The applicability criteria for tests B83004B, B83004D, B83024F, BA1010D, CA1012A, CA2009C, CA2009F, and CA3011A have been revised. These tests are applicable to all Ada 95 implementations. BA150029 was repaired to remove an instantiation of a unit with errors (which has nothing to do with the test). This change does not change the effective date of the test. BA21004 is a new test designed to check that implementations don't allow too much when implementing the revised 10.2.1(11) from Technical Corrigendum 1 [AI-00002]. C390010 was repaired to insure that the subtype check is performed at the appropriate place. The test used a variable with a subtype which caused a premature check. Test C730003 is classified as a new test. It is a repaired version of a test withdrawn from ACVC 2.0.1. It is a companion test to B830002, checking that component names can be duplicated when the components of the ancestor type aren't visible. It also checks that such names still can be accessed with a view conversion to the ancestor type. Test C731001 is a new test. It was inspired by the examples in AARM 7.3.1(7.a-7.v), confirmed by AI-00035. Test C761010 is a new test to check the new requirements of Technical Corrigendum 1 (AI-00083). This test checks that the initialization of an object with an aggregate does not involve calls to Adjust. A test case was added to C840001 to check that a use type clause makes operators visible even when they are not visible by selection. Test C854002 is a new test constructed to the requirements of Technical Corrigendum 1 (AI-00064). This requires an elaboration check on a renames-as-body if the renames itself has not yet been elaborated. CA21001 is a new test designed to check that implementations allow non-pre-elaborated subunits of a preelaborated subprogram, as required by revised 10.2.1(11) from Technical Corrigendum 1 [AI-00002]. Test CB10002 is a new test. This test repairs problems with the existing heap overflow test (CB1010B.ADA) - the test exhausts memory, but frees nothing (so Report.Result might fail for lack of memory), and might run (almost) forever on a virtual memory host. CB1010B.ADA will be withdrawn when this test becomes effective. Test CXA5012 was updated to repair Objective 3 to meet the requirements of Technical Corrigendum 1 (AI-00089). In particular, this is a bounded error, so Program_Error is allowed. It is also possible (but unlikely) that any string is supported as a state, so the test and Impdef were revised to allow for that possibility. Tests CXB3004 and CXB3006 were repaired to use a C function rather than Unchecked_Conversion for checking results. There is no requirement that the representation of char and Character, and wchar_t and Wide_Character are the same. This tests are classified as "Pending New", as addition test cases were added. Warning: The tests now have two files each (a C function and the Ada test). In addition, Impdef.A was modified for these tests. Test CXB3005 and CXB3007 were modified to remove Unchecked_Conversion checks, replacing them with uses of To_C and To_Ada. (These functions are tested carefully in tests CXB3004 and CXB3006). Again, there is no requirement that the representation of char and Character, and wchar_t and Wide_Character are the same. A test case was added to CXB3009 to check the case of To_Chars_Ptr when Nul_Check => False. This case was omitted from the original test as the standard didn't say what should happen; this has been repaired by AI-00140 and Technical Corrigendum 1. Test CXB3012 was repaired to replace Unchecked_Conversion with To_C. Again, there is no requirement that the representation of char and Character are the same. In addition, a test case was added to check that Update (Item => Null_Ptr,…) raises Dereference_Error. (by AI-00039). Test CXC7004 is new. This test checks that Ada.Task_Identification.Is_Callable works properly on the environment task (as confirmed by AI-00206). Test CXE2002 is new. This test checks that the revised E.2(4) in Technical Corrigendum 1 is supported. In particular, it checks that subprograms and generic subprograms can be RCI units. CXG2005 was repaired to avoid printing an infinite amount of output when it fails. CXG2018 was repaired to widen the error bound for the Identity test. CXH3001 and CXH3003 were repaired to fix the previous repair not to assume that just because a value tests True, that it has the value True. LA14023 has been withdrawn; it is not an L-test. That is, all compilers must successfully compile and run this test. It has been replaced by CA14023, which is classified as a New test. 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. 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. C390010 [Allowed Modification] New VCS Label: A2_2E Required after 2000-01-01 Org VCS Label: A2_2 Type Subtype_Parent_Class_Access causes premature check failure.
B392010 [Pending New] New VCS Label: A2_2E
C455001 [Pending New] New VCS Label: A2_2B
B455002 [Pending New] New VCS Label: A2_2B
C460008 [Modified] VCS Label: A2_2A
C460011 [Pending New] New VCS Label: A2_1E
C650001 [Modified] New VCS Label: A2_2A
C730003 [Pending New] New VCS Label: A2_2E
B730006 [Pending New] New VCS Label: A2_2E
C731001 [Pending New] New VCS Label: A2_2E
C761010 [Pending New] New VCS Label: A2_2E
B830001 [Modified] VCS Label: A2_2A
B830002 [Pending New] New VCS Label: A2_2E
B83004B [Allowed Modification] New VCS Label: A2_2E
B83004D [Allowed Modification] New VCS Label: A2_2E
B83024F [Allowed Modification] New VCS Label: A2_2E
C840001 [Pending New] New VCS Label: A2_2E
C854002 [Pending New] New VCS Label: A2_2E
C910003 [Pending New] New VCS Label: A2_2A
BA1010D [Allowed Modification] New VCS Label: A2_2E
CA1012A [Allowed Modification] New VCS Label: A2_2E
CA14023 [Pending New] New VCS Label: A2_2E
CA14028 [Pending New] New VCS Label: A2_2C
BA15002 [Pending New] New VCS Label: A2_2C
CA15003 [Pending New] New VCS Label: A2_2C
LA14023 [Withdrawn]
LA20001 [Pending New] New VCS Label: A2_1F
CA20002 [Pending New] New VCS Label: A2_1F
CA2009C [Allowed Modification] New VCS Label: A2_2E
CA2009F [Allowed Modification] New VCS Label: A2_2E
CA21001 [Pending New] New VCS Label: A2_2E
BA21004 [Pending New] New VCS Label: A2_2E
CA3011A [Allowed Modification] New VCS Label: A2_2E
CA5004B [Modified] VCS Label: A2_2A
CB10002 [Pending New] New VCS Label: A2_2E
CD10001 [Modified] VCS Label: A2_2A
CD2A53A [Modified] VCS Label: A2_2A
CD30002 [Modified] VCS Label: A2_2A
CD30003 [Modified] VCS Label: A2_2A
CD30004 [Allowed Modification] New VCS Label: A2_2C
CD92001 [Modified] VCS Label: A2_2A
CDE0001 [Modified] VCS Label: A2_2A
CE3115A [Modified] VCS Label: A2_2A
CXA5012 [Allowed Modification] New VCS Label: A2_2E
CXAA016 [Modified] VCS Label: A2_2A
CXB3004 [Pending New] New VCS Label: A2_2E
CXB3005 [Allowed Modification] New VCS Label: A2_2E
CXB3006 [Pending New] New VCS Label: A2_2E
CXB3007 [Allowed Modification] New VCS Label: A2_2E
CXB3009 [Pending New] New VCS Label: A2_2C
CXB3010 [Pending New] New VCS Label: A2_2C
CXB3012 [Pending New] New VCS Label: A2_2E
CXB3013 [Modified] VCS Label: A2_2A
IMPDEF [Allowed Modification] ] New VCS Label: A2_2E
===== Annex C ===== Required after 2000-01-01 Org VCS Label: A2_2 The repair of FXC6A00 required that this test be reverted to its original version, which is closer to the author's intent.
BXC6A03 [Allowed Modification] New VCS Label: A2_2D
CXC7001 [Modified] VCS Label: A2_2A
CXC7002 [Modified] VCS Label: A2_2A
CXC7003 [Modified] VCS Label: A2_2A
CXC7004 [Pending New] New VCS Label: A2_2E
FXC6A00 [Allowed Modification] New VCS Label: A2_2D ===== Annex D ===== Interrupt_Priority pragmas in tasks may be rejected.
CXD1006 [Modified] New VCS Label: A2_2A
CXD2004 [Modified] VCS Label: A2_2A
CXD6001 [Modified] VCS Label: A2_2D ==== Annex E ==== Required after 2000-04-01 Check that a subprogram or generic subprogram can be a remote call interface unit.
BXE2011 [Allowed Modification] New VCS Label: A2_2B
BXE2013 [Pending New] New VCS Label: A2_2E
CXE4005 [Modified] VCS Label: A2_2A
CXE4006 [Allowed Modification] New VCS Label: A2_2D
CXE5002 Allowed Modification] New VCS Label: A2_2C
CXE5003 [Allowed Modification] New VCS Label: A2_2C
LXE3001 [Modified] VCS Label: A2_2A ===== Annex F ===== [None] ===== Annex G ===== Required after 2000-01-01, Org VCS Label: A2_2 The test printed thousands of identical failure messages when it failed, which is not helpful.
CXG2014 [Modified] VCS Label: A2_2A
CXG2016 [Allowed Modification] New VCS Label: A2_2B
CXG2018 [Allowed Modification] New VCS Label: A2_2E ===== Annex H ===== Required after 2000-01-01, Org VCS Label: A2_2 The value of A_Truth after the assignment @205 is undefined by 13.9.1(9-11).
CXH3003 [Allowed Modification] New VCS Label: A2_2E
LXH4014 [Modified] VCS Label: A2_2A 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 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_2E 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)
LA14023 Allowed Modification Tests (Refer to the main list for details)
B83004B 2000-01-01 Modified Tests (Refer to the main list for details)
Pending New Tests (Refer to the main list for details)
B392010 2000-04-01 New Tests (Refer to the main list for details) [None currently] ================ |