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

6.2.3 Creating an Event Trace from Listings

If it is not possible or desirable to modify the implementation to create an event trace, an event trace can be created from a listing of test processing. Such a listing would capture all of the compile, bind, and run steps for a set of tests. The Generate_Event_Trace_File constant in Report.A would remain False.
A tool then would have to be constructed to read those listings and convert them to an event trace. This would be specific to a particular implementation, and the tool would potentially break due to future changes in an implementation.
The tool would probably have to gather information from several parts of a listing. For instance, most programs don't display a time stamp when they run, so it would be necessary to use a system tool or tiny Ada program to add those to strategic points in a listing. (Using a single timestamp for an entire compilation of a compilation unit, including any reported errors, is sufficient to meet the requirements of the Grading Tool.) Note that the initial message from Report includes a timestamp, so there is no need to add one for the execution of tests.
The listing converter tool would have to be able to extract events from the compiler, the binder, and running of ACATS tests. Each of these likely has a different format, so the tool would need many rules to extract all of the events.
While a listing converted tool is potentially more fragile (due to more dependence on the exact layout of messages for an implementation), it would have the possibility of detecting test failures after the reporting of Passed (due to a finalization or tasking failure) - such "aberrant behavior" (as defined in 5.6.1) cannot be detected when Report.A itself writes the event trace (as the failure happens outside of the control of Report).

Contents   Index   References   Previous   Next