diff --git a/support/testing/infra/__init__.py b/support/testing/infra/__init__.py index e229e90852..1d4d18bbe9 100644 --- a/support/testing/infra/__init__.py +++ b/support/testing/infra/__init__.py @@ -6,6 +6,7 @@ import subprocess from urllib2 import urlopen, HTTPError, URLError ARTIFACTS_URL = "http://autobuild.buildroot.net/artefacts/" +BASE_DIR = os.path.realpath(os.path.join(os.path.dirname(__file__), "../../..")) def open_log_file(builddir, stage, logtofile=True): @@ -21,8 +22,13 @@ def open_log_file(builddir, stage, logtofile=True): return fhandle +def basepath(relpath=""): + """Return the absolute path for a file or directory relative to the Buildroot top directory.""" + return os.path.join(BASE_DIR, relpath) + + def filepath(relpath): - return os.path.join(os.getcwd(), "support/testing", relpath) + return os.path.join(BASE_DIR, "support/testing", relpath) def download(dldir, filename): diff --git a/support/testing/infra/builder.py b/support/testing/infra/builder.py index 018747555d..88f01d15c0 100644 --- a/support/testing/infra/builder.py +++ b/support/testing/infra/builder.py @@ -43,7 +43,7 @@ class Builder(object): cmd += ["olddefconfig"] ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile, - env=env) + cwd=infra.basepath(), env=env) if ret != 0: raise SystemError("Cannot olddefconfig")