Repository navigation
Document build and test targets, and make local test runs self-contained by default (.test-data) - #2288
Merged
katiewasnothere merged 3 commits intoOct 2, 2026
Conversation
noah-thor
reviewed
Sep 18, 2026
Code Coverage
|
noah-thor
approved these changes
Sep 23, 2026
- Make the integration target's dependency on the built binaries explicit - Default APP_ROOT to an in-repo .test-data directory - Split clean into cleanbuild and cleantest; add a verify aggregate - Document the new targets and variables, and gitignore the defaults
michaelzhang114
force-pushed
the
docs/building-test-options
branch
from
October 1, 2026 23:04
b42471c to
b88ea84
Compare
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.
Type of Change
Motivation and Context
Fixes #2287
A new contributor following
BUILDING.mdwon't know what the targets do, whatAPP_ROOTcontrols, or thatmake integrationstops the reader's runningcontainerservices. They would have had to read the Makefile to get this info.This PR expands
BUILDING.md, following review feedback, fixes the underlying Makefile rough edges rather than documenting around them.Documentation:
APP_ROOTsection covering the isolated default and the erase-before-each-run behaviorPRESERVE_KERNELS,LOG_ROOTmake integrationstops your services and leaves them stoppedMakefile:
integrationnow depends oncontainer init-block, so the dependency is explicit rather thandocumented.
APP_ROOTdefaults to an in-repo.test-data, following the existingSCRATCH_ROOTpattern, sotest runs don't touch an installation you're using.
cleansplit intocleanbuild(the previouscleanthat cleans the build) andcleantest(stops services, removesAPP_ROOTandSCRATCH_ROOT)verifytarget:all test integration.Behavior changes for contributors:
make integrationwith no arguments now runs against.test-datainstead of~/Library/Application Support/com.apple.container, and erases that directory before each run.APP_ROOT=(empty) preserves the previous behavior.make cleannow also stops thecontainerservices and removes the test directories. Usemake cleanbuildfor build outputs only.Testing
Verified on macOS 26.6.2 / Xcode 27 / Swift 6.4