support/testing: allow run-tests to be called from anywhere

Currently run-tests must be called from the Buildroot top directory.

Derive the top directory from the script path, so run-tests can be called from
any path.
As a consequence the test infra will always test the repo it belongs to.

Suggested-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Ricardo Martincoski 2018-11-04 02:12:06 -02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 1842bb1470
commit 8669243da3
2 changed files with 8 additions and 2 deletions

View File

@ -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):

View File

@ -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")