build-and-test: Add required --repos-dir flag
This is necessary so we can add subprojects to our source config. It
assumes that each subproject has a repo directly under the repos-dir.
Since we now have a path to *all* the repos, we can use that to get the
test-suite and LNT repos as well, instead of specifying each of them
manually. This simplifies the interface a bit (we get rid of the
parameters for passing the paths to the test-suite and LNT repo, and
instead add a single parameter for enabling the test-suite).
Change-Id: I818952969aa9335720965af7273fa8273223a64e
diff --git a/scripts/llvm.py b/scripts/llvm.py
index b8362ec..6184bca 100644
--- a/scripts/llvm.py
+++ b/scripts/llvm.py
@@ -173,13 +173,14 @@
proj = Proj()
dryRun = args.dry
+ llvmRepos = args.repos
llvmWorktreeRoot = args.sources
stage1BuildDir = args.stage1
stage2BuildDir = args.stage2
- testSuiteDir = args.test_suite
+
+ enableTestSuite = args.enableTestSuite
sandboxDir = args.sandbox
- lntDir = args.lnt
if dryRun:
consumer = CommandPrinter()
@@ -214,7 +215,10 @@
buildConfig2.build()
testedBuildDir = stage2BuildDir
- if testSuiteDir is not None:
+ if enableTestSuite:
+ testSuiteDir = os.path.join(llvmRepos, "test-suite")
+ lntDir = os.path.join(llvmRepos, "lnt")
+
setup_test_suite(consumer, sandboxDir, lntDir)
# TODO: Make sure clang is actually built in this config (preferably
@@ -432,6 +436,12 @@
"used for other purposes as well.")
buildAndTest.set_defaults(run_command=build_and_test)
buildAndTest.add_argument(
+ '--repos-dir',
+ dest='repos',
+ required=True,
+ help="Path to the root directory containing the repositories for LLVM and "
+ "the other subprojects.")
+buildAndTest.add_argument(
'--source-dir',
dest='sources',
required=True,
@@ -447,15 +457,15 @@
dest='stage2',
help="Path to the build directory for stage 2.")
buildAndTest.add_argument(
- "--test-suite",
- help="Path to the test-suite repo.")
+ "--enable-test-suite",
+ dest='enableTestSuite',
+ action='store_true',
+ default=False,
+ help="Whether or not to run the test-suite with the last compiler built.")
buildAndTest.add_argument(
"--sandbox",
help="Path to the sandbox where the test-suite should be setup.")
buildAndTest.add_argument(
- "--lnt",
- help="Path to the LNT repo.")
-buildAndTest.add_argument(
'-n', '--dry-run',
dest='dry',
action='store_true',