diff options
author | Stephen Warren <swarren@nvidia.com> | 2016-01-27 23:57:53 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-01-28 21:01:24 -0700 |
commit | d27f2fc1e19c70d529932cf5725259dded19d5fd (patch) | |
tree | 72fd2ade5f59242f74d8332d9710fa562e259a80 | |
parent | 77bcb22d77d1b1975c166755b012e0c0c1abb50a (diff) | |
download | u-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.py | 2 | ||||
-rw-r--r-- | test/py/u_boot_spawn.py | 8 |
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:' |