1. Requirements traceability

Our infrastructure automatically tracks the traceability between requirements and tests, and the report is available as part of the documentation package. The report must show full coverage: when it is not possible to test a requirement on a target, an exception will be listed on this page.

Note that the reporting tool only considers tests that were actually executed as part of the test results. Ignored tests are not considered when determining the traceability.

1.1. Self-tests

We have tests that check the validity of the traceability suite itself.

1.1.1. diff-upstream

This tool verifies that: 1. All // ferrocene-annotations in the test suite correspond to a section in the Ferrocene Language Specification or Traceability Matrix. 2. All // ferrocene-annotations in the test suite are either followed by the name of that section, or correspond to a CLI-only unnamed section.

It can also be run manually to view all differences between the Ferrocene compiler and the upstream Rust Project compiler.