Blame scripts/merge-test-results.sh

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