[Buildroot] [git commit] support/testing: allow run-tests to be called from anywhere

Arnout Vandecappelle (Essensium/Mind) arnout at mind.be
Sat Aug 3 15:17:29 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=8669243da3c4d6f86a912b5dfda9006e87789eec
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

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 at free.fr>
Signed-off-by: Ricardo Martincoski <ricardo.martincoski at gmail.com>
Cc: Arnout Vandecappelle <arnout at mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Cc: Yann E. MORIN <yann.morin.1998 at free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
 support/testing/infra/__init__.py | 8 +++++++-
 support/testing/infra/builder.py  | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

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


More information about the buildroot mailing list