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/tests/cli/testbuildandtest.py b/tests/cli/testbuildandtest.py
index 948fe3a..a60f7e2 100644
--- a/tests/cli/testbuildandtest.py
+++ b/tests/cli/testbuildandtest.py
@@ -19,12 +19,14 @@
         """
         Test that we dump the correct commands for a single stage build of LLVM.
         """
+        reposDir = "path-to-repos"
         sourceDir = "path-to-sources"
         buildDir = "path-to-stage1"
 
         output = self.run_with_output(
             self.llvm_build_and_test(
                 "--dry-run",
+                "--repos-dir", reposDir,
                 "--source-dir", sourceDir,
                 "--stage1-build-dir", buildDir))
 
@@ -42,20 +44,22 @@
         Test that we dump the correct commands for a single stage build of LLVM
         and a run of the test-suite with the resulting compiler.
         """
+        reposDir = "path-to-repos"
         sourceDir = "path-to-sources"
         buildDir = "path-to-stage1"
-        testSuiteDir = "path-to-test-suite"
         sandboxDir = "path-to-sandbox"
-        lntDir = "path-to-lnt"
+
+        testSuiteDir = os.path.join(reposDir, "test-suite")
+        lntDir = os.path.join(reposDir, "lnt")
 
         output = self.run_with_output(
             self.llvm_build_and_test(
                 "--dry-run",
+                "--repos-dir", reposDir,
                 "--source-dir", sourceDir,
                 "--stage1-build-dir", buildDir,
-                "--test-suite", testSuiteDir,
-                "--sandbox", sandboxDir,
-                "--lnt", lntDir))
+                "--enable-test-suite",
+                "--sandbox", sandboxDir))
 
         commands = output.splitlines()
 
@@ -86,6 +90,7 @@
         """
         Test that we dump the correct commands for a 2-stage build of LLVM.
         """
+        reposDir = "path-to-repos"
         sourceDir = "path-to-sources"
         buildDir1 = "path-to-stage1"
         buildDir2 = "path-to-stage2"
@@ -93,6 +98,7 @@
         output = self.run_with_output(
             self.llvm_build_and_test(
                 "--dry-run",
+                "--repos-dir", reposDir,
                 "--source-dir", sourceDir,
                 "--stage1-build-dir", buildDir1,
                 "--stage2-build-dir", buildDir2))
@@ -123,22 +129,24 @@
         Test that we dump the correct commands for a 2-stage build of LLVM and a
         run of the test-suite with the resulting compiler.
         """
+        reposDir = "path-to-repos"
         sourceDir = "path-to-sources"
         buildDir1 = "path-to-stage1"
         buildDir2 = "path-to-stage2"
-        testSuiteDir = "path-to-test-suite"
         sandboxDir = "path-to-sandbox"
-        lntDir = "path-to-lnt"
+
+        testSuiteDir = os.path.join(reposDir, "test-suite")
+        lntDir = os.path.join(reposDir, "lnt")
 
         output = self.run_with_output(
             self.llvm_build_and_test(
                 "--dry-run",
+                "--repos-dir", reposDir,
                 "--source-dir", sourceDir,
                 "--stage1-build-dir", buildDir1,
                 "--stage2-build-dir", buildDir2,
-                "--test-suite", testSuiteDir,
-                "--sandbox", sandboxDir,
-                "--lnt", lntDir))
+                "--enable-test-suite",
+                "--sandbox", sandboxDir))
 
         commands = output.splitlines()