diff options
author | Yann E. MORIN <yann.morin.1998@free.fr> | 2017-02-12 15:53:09 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-02-12 16:00:01 +0100 |
commit | 5bf12ad141f5de02c79c04a773e7709b87070229 (patch) | |
tree | 5dc34235b26fafdec4496828facd96e71cf97fbd /support/scripts/test-pkg | |
parent | c3c69c4dbb95cd068d861051d967e79daaa48649 (diff) | |
download | buildroot-5bf12ad141f5de02c79c04a773e7709b87070229.tar.gz buildroot-5bf12ad141f5de02c79c04a773e7709b87070229.zip |
support/test-pkg: report number and types of failures
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'support/scripts/test-pkg')
-rwxr-xr-x | support/scripts/test-pkg | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg index d9ae5c584c..a040ce1af1 100755 --- a/support/scripts/test-pkg +++ b/support/scripts/test-pkg @@ -6,6 +6,7 @@ TOOLCHAINS_URL='http://autobuild.buildroot.org/toolchains/configs/toolchain-conf main() { local o O opts local cfg dir pkg random toolchain + local ret nb nb_skip nb_fail local -a toolchains o='hc:d:p:r:' @@ -63,9 +64,20 @@ main() { printf "error: no toolchain found (networking issue?)\n" >&2; exit 1 fi + nb=0 + nb_skip=0 + nb_fail=0 for toolchain in "${toolchains[@]}"; do - build_one "${dir}" "${toolchain}" "${cfg}" "${pkg}" + build_one "${dir}" "${toolchain}" "${cfg}" "${pkg}" && ret=0 || ret=${?} + case ${ret} in + (0) ;; + (1) : $((nb_skip++));; + (2) : $((nb_fail++));; + esac + : $((nb++)) done + + printf "%d builds, %d skipped, %d failed\n" ${nb} ${nb_skip} ${nb_fail} } build_one() { @@ -85,7 +97,7 @@ build_one() { if ! curl -s "${url}" >"${dir}/.config"; then printf "FAILED\n" - return + return 2 fi cat >>"${dir}/.config" <<-_EOF_ @@ -98,7 +110,7 @@ build_one() { if ! make O="${dir}" olddefconfig >/dev/null 2>&1; then printf "FAILED\n" - return + return 2 fi # We want all the options from the snippet to be present as-is (set # or not set) in the actual .config; if one of them is not, it means @@ -109,7 +121,7 @@ build_one() { comm -23 <(sort "${cfg}") <(sort "${dir}/.config") >"${dir}/missing.config" if [ -s "${dir}/missing.config" ]; then printf "SKIPPED\n" - return + return 1 fi # Remove file, it's empty anyway. rm -f "${dir}/missing.config" @@ -117,14 +129,14 @@ build_one() { if [ -n "${pkg}" ]; then if ! make O="${dir}" "${pkg}-dirclean" >> "${dir}/logfile" 2>&1; then printf "FAILED\n" - return + return 2 fi fi # shellcheck disable=SC2086 if ! make O="${dir}" ${pkg} >> "${dir}/logfile" 2>&1; then printf "FAILED\n" - return + return 2 fi printf "OK\n" |