diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/merge-test-results.sh | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/scripts/merge-test-results.sh b/scripts/merge-test-results.sh new file mode 100755 index 0000000000..6255e242b1 --- /dev/null +++ b/scripts/merge-test-results.sh @@ -0,0 +1,61 @@ +#! /bin/sh +# Merge test results of individual tests or subdirectories. +# Copyright (C) 2014 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# <http://www.gnu.org/licenses/>. + +# usage: merge-test-results.sh -s objpfx subdir test-name... +# (subdirectory tests; empty subdir at top level), or +# merge-test-results.sh -t objpfx subdir-file-name subdir... +# (top-level merge) + +set -e + +type=$1 +objpfx=$2 +shift 2 + +case $type in + -s) + subdir=$1 + shift + subdir=${subdir:+$subdir/} + for t in "$@"; do + if [ -s "$objpfx$t.test-result" ]; then + head -n1 "$objpfx$t.test-result" + else + echo "UNRESOLVED: $subdir$t" + fi + done + ;; + + -t) + subdir_file_name=$1 + shift + for d in "$@"; do + if [ -f "$objpfx$d/$subdir_file_name" ]; then + cat "$objpfx$d/$subdir_file_name" + else + echo "ERROR: test results for $d directory missing" + fi + done + ;; + + *) + echo "unknown type $type" >&2 + exit 1 + ;; +esac |