chore - speed up generated-project test suite#642
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR cuts the local 0.3 test/pre-commit cost by consolidating duplicate generated-project tests, folding LSP coverage into the primary nextest run, and adding a safe shared Cargo target cache for generated
incan run/ binaryincan buildtest helpers. The warm verified fullmake pre-commitwall time is now 133.33s, with nextest at 101.002s and the full pre-commit gate core at 103s.Type of change
docs/RFCs/*)Area(s)
Select the primary areas touched (used for review routing; labels are managed separately):
Key details
INCAN_TEST_SHARED_TARGET_DIRfor generated test harnesses; addsINCAN_GENERATED_CARGO_TARGET_DIRplus hashed binary target names for shared generated Cargo target reuse; keeps generated library target names stable for native Rust consumers.Testing / verification
make test/cargo testmake examples(if relevant)incan fmt --check .(if relevant)Manual verification notes:
cargo test --no-run --lib— passedcargo test --no-run --test integration_tests— passedcargo test --lib shared_target_safe_name -- --nocapture— passedcargo test --lib relative_target_dirs -- --nocapture— passedcargo test --test integration_tests codegen_tests::test_run_c_import_this -- --nocapture— passedcargo test --test std_encoding_algorithm_modules std_encoding_algorithm_vectors_and_invalid_cases -- --nocapture— passedcargo test --test cli_integration run_accepts_generic_rust_param_scenarios_share_one_generated_project -- --nocapture— passedcargo test --test generated_rust_native_consumer_tests native_rust_consumer_can_call_generated_public_items -- --nocapture— passedcargo test --test generated_rust_artifact_tests generated_application_artifact_matches_baseline -- --nocapture— passedcargo test --test generated_rust_callability_artifact_tests generated_callable_artifact_and_consumers_share_producer_build -- --nocapture— passedmake fmt— passedgit diff --check— passedmake pre-commit— passed; nextest ran 2442 tests in 125.182s, pre-commit-full-gate total was 164s, and smoke-test-fast passed/usr/bin/time -p make pre-commit— passed outside the sandbox; nextest ran 2442 tests in 101.002s, pre-commit-full-gate total was 103s, smoke-test-fast passed, wall time was 133.33sDocs impact
If docs updated:
Checklist