summaryrefslogtreecommitdiff
path: root/mason/tests/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'mason/tests/build.py')
-rw-r--r--mason/tests/build.py30
1 files changed, 21 insertions, 9 deletions
diff --git a/mason/tests/build.py b/mason/tests/build.py
index c8fb5de..b98c4f7 100644
--- a/mason/tests/build.py
+++ b/mason/tests/build.py
@@ -18,6 +18,7 @@ import json
import logging
import morphlib
import os
+import shutil
import subprocess
import time
import urlparse
@@ -112,19 +113,30 @@ class Runner(mason.runners.JobRunner):
self.workspace = '/root/mason-workspace'
self.zuul_url = self.job_arguments['ZUUL_URL']
- url = urlparse.urlparse(self.zuul_url)
- self.defs_checkout = os.path.join(self.workspace,
- self.commit,
- url.hostname,
- '8080',
- self.project)
-
self._do_git_config()
+
+ if os.path.exists(self.workspace):
+ shutil.rmtree(self.workspace)
+
cliapp.runcmd(['morph', 'init', self.workspace])
- repo = 'http://%s:8080/%s' % (url.hostname, self.project)
- cliapp.runcmd(['morph', 'checkout', repo, self.commit],
+ zuul_gits_dir = 'var/lib/zuul/git/'
+
+ repo_dir = os.path.join('/', zuul_gits_dir, self.project)
+ cliapp.runcmd(['morph', 'checkout', repo_dir, self.commit],
cwd=self.workspace)
+
+ # Morph allows us to rename the system branch directory from the
+ # ludicrously long name that it chose for us.
+ temp_defs_checkout = os.path.join(
+ self.workspace, self.commit, zuul_gits_dir, self.project)
+ self.defs_checkout = os.path.join(
+ self.workspace, self.commit, self.project)
+ logging.debug(
+ 'Renaming system-branch directory from %s to %s',
+ temp_defs_checkout, self.defs_checkout)
+ os.renames(temp_defs_checkout, self.defs_checkout)
+
self.morph_helper = mason.util.MorphologyHelper(self.defs_checkout)
@mason.util.job_step