// Copyright 2023 The Khronos Group Inc. // SPDX-License-Identifier: CC-BY-4.0 = Spec Build Tests This directory contains test source and expectation files for the `testBuild` script. The test specification files are: * `testspec.adoc` * `chapters/*.adoc` * `chapters/commonvalidity/*.adoc` * `appendices/*.adoc` * `images/*.svg` The expectation files are: * `expectations/*.html` * `expectations/validusage.json` The `testBuild` script builds the test specficiation (`testspec.adoc`) in an array of configurations, such as Core (latest), Core 1.0, with all extensions, with a specific extension etc. Additionally, it extracts the VUs into validusage.json. Each build by `testBuild` is done in a separate directory under `gen-<build>`. In all cases except `gen-validusage`, the output is `gen-<build>/out/html/vkspec.html`. In the case of `gen-validusage`, the output is `gen-validusage/out/validition/validusage.json`. The primary reason for these tests is ensuring correctness of asciidoc extensions implemented in this repository. The `testBuild` script first builds all configurations, then verifies the results against the expectations. If a build itself regresses (and fails), the script will stop so the issue can be addressed after looking at the logs of the failing build. If the builds succeed but the output does not match the expectations, the diff is output for investigation. In some cases, the diff is small enough to be verified. Otherwise, each output in `gen-<build>/` needs to be manually reviewed to ensure the results are still correct; for example because the html is styled differently and the differences are as expected. If the mismatch between the output and expectations is expected, and the output is verified to be correct, update the expectations with: ---- $ ./update-expectations ----