| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | #!/usr/bin/env bash# Convenience script to rename test cases in Automake.# Copyright (C) 2013-2017 Free Software Foundation, Inc.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2, or (at your option)# any later version.# This program 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 General Public License for more details.# You should have received a copy of the GNU General Public License# along with this program.  If not, see <http://www.gnu.org/licenses/>.set -e -ume=${0##*/}msg_file=$me.git-msgfatal () { echo "$me: $*" >&2; exit 1; }case $# in  0) input=$(cat);;  1) input=$(cat -- "$1");;  *) fatal "too many arguments";;esacAWK=${AWK-awk}SED=${SED-sed}[[ -f bin/automake.in && -d lib/Automake ]] \  || fatal "can only be run from the top-level of the Automake source tree"$SED --version 2>&1 | grep GNU >/dev/null 2>&1 \  || fatal "GNU sed is required by this script"# Input validation and cleanup.input=$(  $AWK -v me="$me" '    /^#/ { next; }    (NF == 0) { next; }    (NF != 2) { print me ": wrong number of fields at line " NR;                exit(1); }    { printf ("t/%s t/%s\n", $1, $2); }  ' <<<"$input") || exit $?# Prepare git commit message.exec 5>"$msg_file"echo "tests: more significant names for some tests" >&5echo >&5$AWK >&5 <<<"$input" \  '{ printf ("* %s: Rename...\n* %s: ... like this.\n", $1, $2) }'exec 5>&-# Rename tests.eval "$($AWK '{ printf ("git mv %s %s\n", $1, $2) }' <<<"$input")"# Adjust the list of tests (do this conditionally, since such a# list is not required nor used in Automake-NG).if test -f t/list-of-tests.mk; then  $SED -e "$($AWK '{ printf ("s|^%s |%s |\n", $1, $2) }' <<<"$input")" \       -i t/list-of-tests.mk  git add t/list-of-tests.mkfigit statusechoecho "NOTICE: pre-filled commit message is in file '$msg_file'"exit 0
 |