google / google/autocxx

Make test suite quicker

Open
#795 0 comments 0 reactions 0 assignees View on GitHub
good first issue
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.