Make test suite quicker
- Dominant language
- Rust
- Stars
- 2.6k
- Forks
- 175
- PR merge metrics
- No merged PRs in 30d
Description
The integration test suite uses the `trybuild` crate to build a complete executable for each test case. This tests everything end-to-end which is great! - but means it's really slow.
This is especially the case since each instance of `trybuild` compiles all of `autocxx`'s dependencies. Therefore currently tests are serialized using a mutex to share a single instance.
Perhaps this can be sped up using:
* A faster linker (`mold`?)
* A pool of `trybuild`s
* A contribution to upstream `trybuild`
Contributor guide
Research direction
Start by locating the integration tests that use the trybuild crate and the mutex that serializes them. Compare the proposed faster linker, trybuild pool, and upstream contribution approaches while preserving end-to-end coverage. Done means the suite completes faster without losing the existing test behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, performance, testing-qa
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100