summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2016-01-27 23:57:53 -0700
committerSimon Glass <sjg@chromium.org>2016-01-28 21:01:24 -0700
commitd27f2fc1e19c70d529932cf5725259dded19d5fd (patch)
tree72fd2ade5f59242f74d8332d9710fa562e259a80
parent77bcb22d77d1b1975c166755b012e0c0c1abb50a (diff)
downloadu-boot-imx-d27f2fc1e19c70d529932cf5725259dded19d5fd.zip
u-boot-imx-d27f2fc1e19c70d529932cf5725259dded19d5fd.tar.gz
u-boot-imx-d27f2fc1e19c70d529932cf5725259dded19d5fd.tar.bz2
test/py: run sandbox in source directory
Some unit tests expect the cwd of the sandbox process to be the root of the source tree. Ensure that requirement is met. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r--test/py/u_boot_console_sandbox.py2
-rw-r--r--test/py/u_boot_spawn.py8
2 files changed, 7 insertions, 3 deletions
diff --git a/test/py/u_boot_console_sandbox.py b/test/py/u_boot_console_sandbox.py
index bbf41e7..a7263f3 100644
--- a/test/py/u_boot_console_sandbox.py
+++ b/test/py/u_boot_console_sandbox.py
@@ -44,7 +44,7 @@ class ConsoleSandbox(ConsoleBase):
'-d',
self.config.build_dir + '/arch/sandbox/dts/test.dtb'
]
- return Spawn(cmd)
+ return Spawn(cmd, cwd=self.config.source_dir)
def kill(self, sig):
"""Send a specific Unix signal to the sandbox process.
diff --git a/test/py/u_boot_spawn.py b/test/py/u_boot_spawn.py
index 7451455..0f52d3e 100644
--- a/test/py/u_boot_spawn.py
+++ b/test/py/u_boot_spawn.py
@@ -20,11 +20,13 @@ class Spawn(object):
sent to the process, and responses waited for.
"""
- def __init__(self, args):
+ def __init__(self, args, cwd=None):
"""Spawn (fork/exec) the sub-process.
Args:
- args: array of processs arguments. argv[0] is the command to execute.
+ args: array of processs arguments. argv[0] is the command to
+ execute.
+ cwd: the directory to run the process in, or None for no change.
Returns:
Nothing.
@@ -44,6 +46,8 @@ class Spawn(object):
# run under "go" (www.go.cd). Perhaps this happens under any
# background (non-interactive) system?
signal.signal(signal.SIGHUP, signal.SIG_DFL)
+ if cwd:
+ os.chdir(cwd)
os.execvp(args[0], args)
except:
print 'CHILD EXECEPTION:'