Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: heiko.thiery at gmail.com <heiko.thiery@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] utils/test-pkg: set the return code for fail
Date: Thu, 10 Oct 2019 08:39:33 +0200	[thread overview]
Message-ID: <20191010063933.30858-1-heiko.thiery@gmail.com> (raw)

From: Heiko Thiery <heiko.thiery@kontron.com>

Add an option (-e) to exit the script with an error if a build
or the legal-info check fails.

Signed-off-by: Heiko Thiery <heiko.thiery@kontron.com>
---
 utils/test-pkg | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/utils/test-pkg b/utils/test-pkg
index f3b34d5d0d..e54c9f0cd8 100755
--- a/utils/test-pkg
+++ b/utils/test-pkg
@@ -17,8 +17,8 @@ main() {
     local -a toolchains
     local pkg_br_name
 
-    o='hakc:d:n:p:r:t:'
-    O='help,all,keep,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
+    o='hakec:d:n:p:r:t:'
+    O='help,all,keep,error,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:'
     opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")"
     eval set -- "${opts}"
 
@@ -28,6 +28,7 @@ main() {
     number=0
     mode=0
     toolchains_csv="${TOOLCHAINS_CSV}"
+    exitcode=0
     while [ ${#} -gt 0 ]; do
         case "${1}" in
         (-h|--help)
@@ -57,6 +58,9 @@ main() {
         (-t|--toolchains-csv)
             toolchains_csv="${2}"; shift 2
             ;;
+        (-e|--error)
+            exitcode=1;shift 1
+            ;;
         (--)
             shift; break
             ;;
@@ -138,6 +142,10 @@ main() {
 
     printf "%d builds, %d skipped, %d build failed, %d legal-info failed\n" \
         ${nb} ${nb_skip} ${nb_fail} ${nb_legal}
+
+    if [ ${nb_fail} -ne 0 -o ${nb_legal} -ne 0 ]; then
+        return 1
+    fi
 }
 
 build_one() {
@@ -251,6 +259,9 @@ Options:
         Note: the logfile and configuration is always retained, even without
         this option.
 
+    -e, --error
+        Set return code in case of build fail or legal-info error.
+
 Example:
 
     Testing libcec would require a config snippet that contains:
@@ -264,4 +275,7 @@ _EOF_
 }
 
 my_name="${0##*/}"
-main "${@}"
+main "${@}" && ret=0 || ret=${?}
+if [ ${exitcode} -ne 0 -a ${ret} -ne 0 ]; then
+    exit 1
+fi
-- 
2.20.1

             reply	other threads:[~2019-10-10  6:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-10  6:39 heiko.thiery at gmail.com [this message]
2019-10-10  7:39 ` [Buildroot] [PATCH] utils/test-pkg: set the return code for fail Thomas Petazzoni
2019-10-10  8:14   ` Heiko Thiery

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191010063933.30858-1-heiko.thiery@gmail.com \
    --to=heiko.thiery@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox