-
Notifications
You must be signed in to change notification settings - Fork 31
Generalize --build-dir to work with all build modes #108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
a1fe462 to
ff82019
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this simplification. I think that after this, we can actually remove --timestamp/--no-timestamp, which only seems to be used for testing. When we run tests, we use --no-timestamp so that we can then refer to the build directory as %t.SANDBOX/build, but it would be cleaner to pass --build-dir %t.build instead.
This adds support for separating build and test phases, and running
benchmarks from multiple builds in an interleaved fashion to control
for environmental factors (ambient temperature, general system load etc).
New options:
* --build-only: Build tests without running them
* --test-prebuilt: Run tests from pre-built directory
* --build-dir: Specify build directory (used with --test-prebuilt)
* --exec-interleaved-builds: Comma-separated list of builds to interleave
Usage:
1. Build two compiler versions:
lnt runtest test-suite --build-only \
--sandbox /tmp/sandbox-a \
--cc /path/to/clang-a \
--test-suite ~/llvm-test-suite \
...
lnt runtest test-suite --build-only \
--sandbox /tmp/sandbox-b \
--cc /path/to/clang-b \
--test-suite ~/llvm-test-suite \
...
2. Run with interleaved execution:
lnt runtest test-suite \
--sandbox /tmp/results \
--exec-interleaved-builds /tmp/sandbox-a/build,/tmp/sandbox-b/build \
--exec-multisample 3
This runs tests in the pattern:
- Sample 0: build-a -> build-b
- Sample 1: build-a -> build-b
- Sample 2: build-a -> build-b
Temporal interleaving controls for environmental changes that could
bias results toward one build.
Or, test single build:
lnt runtest test-suite --test-prebuilt \
--build-dir /tmp/sandbox-a/build \
--exec-multisample 5
Reports are written to each build directory (report.json,
test-results.xunit.xml, test-results.csv).
The --build-dir option now works with all build modes, not just --test-prebuilt. It can be used to specify a custom build directory location, overriding the default sandbox/build or timestamped directory.
064aefe to
17ed608
Compare
ff82019 to
8d74447
Compare
|
This was folded into #107 so this PR isn't needed anymore. |

The --build-dir option now works with all build modes, not just
--test-prebuilt. It can be used to specify a custom build directory
location, overriding the default sandbox/build or timestamped directory.