diff options
Diffstat (limited to 'mason/tests/build.py')
-rw-r--r-- | mason/tests/build.py | 30 |
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 |