promised-ai / lace

A probabalistic ML tool for science
Other
107 stars 8 forks source link

Allow the `tests/` directory to be included in the published tarball #154

Closed Swandog closed 1 year ago

Swandog commented 1 year ago

cargo package (and thus, cargo publish) verifies Cargo.toml against the packaged tarball This means extracting the tarball and trying to verify the Cargo.toml In the past, we relied on auto-discovery of files under tests to run integration tests When we added the examples feature, we ended up putting some tests behind that feature In order to make that work, the tests were added as targets in Cargo.toml with explicit required-features entries However, because these tests were now explicitly defined in Cargo.toml instead of implicitly by directory structure, Cargo required those test files to be present in order for the manifest to be valid Because we were excluding tests/ from the packaging, this was causing the package validation to fail (while not causing problems in development because the tests/ directory was present in git checkout) Thus, this issue did not present itself until we tried to publish lace The simple solution is just to include the required test .rs files in the package; they are small in size, and it is not required that they pass to publish