Consider using margo
for integration tests involving registries.
#879
Labels
C-enhancement
Category: raise the bar on expectations
Describe your use case
As part of the effort to write snapshot tests for
cargo-semver-checks
edge cases (see #846), we need to use a Cargo registry for some edge cases, for example when the baseline version is yanked as in #275. It is probably not ideal both in terms of stress on crates.io and testing speed to use the official crates.io registry.Describe the solution you'd like
One alternative registry is margo, which is a tool that creates a (sparse) registry of static files, that can be hosted on any HTTP server. This would be better than using crates.io because it is a sparse registry, so we don't have to download the index, and it can also be hosted locally because it's just static files.
It looks like
margo
added support for yanking, so it would at least be sufficent for testing that edge case.Alternatives, if applicable
There may be similar projects/alternative registries. We will also need to determine whether to host a test registry publicly (e.g., on GitHub pages, which would make our tests require internet access), locally (ad-hoc server on test run, which would be more complex), or a mix of the two.
Additional Context
No response
The text was updated successfully, but these errors were encountered: