| #!/bin/sh |
| # Merge test results of individual tests or subdirectories. |
| # Copyright (C) 2014-2018 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 |