ACATS 4.1 User's Guide
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).