This patch refactors the test suite:
- Instead of always generating the documentation with the available
rustdoc version, we now store generated documentation for all
supported rustdoc versions in the test/html directory.
- Instead of using one snapshot per test case, we now use one snapshot
per test case and rustdoc version.
This patch adds an integration test suite using the insta crate for
snapshot testing. The test suite is tested for all supported Rust
versions and should always succeed for the MSRV (currently 1.40.0) and
the current stable Rust version.
However there are some minor changes in the configuration format between
Rust versions, so tests that don’t work on all supported Rust versions
are marked with the ignore attribute. But even the ignored tests should
work on the stable Rust release.
This patch adds three build scripts for the sr.ht CI:
- archlinux.yml is the main build script. It builds the project using
the latest stable release from rustup and executes the tests, clippy
and rustfmt. The build also runs the reuse tool to check compliance
with the reuse specification and verifies that the last commit is
signed by me.
- archlinux-msrv.yml builds and tests the project on the MSRV, currently
Rust 1.40.0.