ACATS 3.1 User's Guide
4.2.6 Class L
Class L tests check that all library unit dependences
within a program are satisfied before the program can be bound and executed,
that circularity among units is detected, or that pragmas that apply
to an entire partition are correctly processed. These tests are normally
expected to compile successfully but not to bind or execute. Some implementations
may report errors at compile time; potentially illegal constructs are
flagged with "-- ERROR:". Some class L tests indicate where
bind errors are expected. Successful processing does not require that
a binder match error messages with these indications.
An implementation passes a class L test if does not
successfully complete the bind phase. It passes a class L test if it
detects an error and issues a compile time error message. It fails if
the test successfully binds and/or begins execution. An L test need not
report "FAILED" (although many do if they execute).
As with B-tests, the test designers determined that
some constructs may or may not generate an error report, and that either
behavior would be appropriate. Such lines are marked with "-- OPTIONAL
ERROR:" In such cases, an implementation is allowed to report an
error or fail to report an error. If an error is reported at compile
time, the binder need not be invoked. If no errors are reported at compile
time, the binder must be invoked and must not successfully complete the
bind phase (as indicated by the inability to begin execution).