diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-08-02 10:17:49 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-08-02 10:51:13 +0000 |
commit | 8d1d643108108ab29e8673c37dbe3dc8c5ecefeb (patch) | |
tree | 83697801693fa39bc6d172ebed4727fab779ebf1 | |
parent | 9fc92c1403e374d78712db852fb4342f770162fb (diff) | |
download | morph-8d1d643108108ab29e8673c37dbe3dc8c5ecefeb.tar.gz |
Revert "run commands in builder using -e"baserock/pedroalvarez/morph-not-failing
Some failing commands in a yaml block were being ignored. For
example the following commands...
pre-configure-commands:
- |
cp nonexistent foo
echo foo
... where giving the following result without making the build
fail:
### PRE-CONFIGURE-COMMANDS ###
+ cp nonexistent foo
cp: can't stat 'nonexistent': No such file or directory
+ echo foo
foo
This commit also adjusts the test-shell.c to allow the use of '-e'
flag. No other changes because the shell was already failing after
the first failure found.
Change-Id: Ie78b25a99f1b5d6d0d26be74ddc377025dff69fd
-rw-r--r-- | morphlib/builder.py | 2 | ||||
-rw-r--r-- | scripts/test-shell.c | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py index 0bac730c..1ad19d06 100644 --- a/morphlib/builder.py +++ b/morphlib/builder.py @@ -378,7 +378,7 @@ class ChunkBuilder(BuilderBase): stdout.flush() with open(os.devnull) as devnull: - exit_code = self.runcmd(['sh', '-x', '-c', cmd], + exit_code = self.runcmd(['sh', '-x', '-e', '-c', cmd], extra_env=extra_env, cwd=relative_builddir, stdin=devnull, diff --git a/scripts/test-shell.c b/scripts/test-shell.c index a57fddce..22aa86f9 100644 --- a/scripts/test-shell.c +++ b/scripts/test-shell.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2015 Codethink Limited +/* Copyright (C) 2014-2016 Codethink Limited This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -201,16 +201,17 @@ int run_commands(FILE *cmdstream){ } int main(int argc, char *argv[]) { - if (argc == 4 && strcmp(argv[1], "-x") == 0 \ - && strcmp(argv[2], "-c") == 0) { - size_t cmdlen = strlen(argv[3]); - FILE *cmdstream = fmemopen(argv[3], cmdlen, "r"); + if (argc == 5 && strcmp(argv[1], "-x") == 0 \ + && strcmp(argv[2], "-e") == 0 \ + && strcmp(argv[3], "-c") == 0) { + size_t cmdlen = strlen(argv[4]); + FILE *cmdstream = fmemopen(argv[4], cmdlen, "r"); return run_commands(cmdstream); } else if (argc == 2) { FILE *cmdstream = fopen(argv[1], "r"); return run_commands(cmdstream); } else { - fprintf(stderr, "Usage: %s -x -c COMMAND|%s SCRIPT\n", + fprintf(stderr, "Usage: %s -x -e -c COMMAND|%s SCRIPT\n", argv[0], argv[0]); return 1; } |