From bddcac9d1c32e592fb7c3427f99b274847135050 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Fri, 13 Jul 2018 09:33:40 +0000 Subject: [PATCH] [contrib] Add contrib/maintainers-verify.sh 2018-07-13 Tom de Vries * maintainers-verify.sh: New file. * gcc.src/maintainers.exp: New file. From-SVN: r262627 --- contrib/ChangeLog | 4 +++ contrib/maintainers-verify.sh | 45 +++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 4 +++ gcc/testsuite/gcc.src/maintainers.exp | 43 +++++++++++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100755 contrib/maintainers-verify.sh create mode 100644 gcc/testsuite/gcc.src/maintainers.exp diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 817db452d8d..dc493ddd9ec 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2018-07-13 Tom de Vries + + * maintainers-verify.sh: New file. + 2018-07-12 Christophe Lyon * compare_tests: Print number of tests in each category. diff --git a/contrib/maintainers-verify.sh b/contrib/maintainers-verify.sh new file mode 100755 index 00000000000..226c158fdaa --- /dev/null +++ b/contrib/maintainers-verify.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# This file is part of GCC. +# +# GCC 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 3, or (at your option) +# any later version. +# +# GCC 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 GCC; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. + +if [ "$1" != "" ]; then + f="$1" +else + f=./MAINTAINERS +fi + +grep @ $f \ + | sed 's/[\t][\t]*/\t/g' \ + | awk -F '\t' \ + " +{ + if (NF == 2) { + name=\$1 + email=\$2 + if (names[name] == 1) { + printf \"Redundant in write approval: %s\n\", name + } + } else if (NF == 3 ) { + name=\$2 + email=\$3 + names[name] = 1 + } +} +" diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9d6c7cc7d99..fd47f3d4c27 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2018-07-13 Tom de Vries + + * gcc.src/maintainers.exp: New file. + 2018-07-13 Kugan Vivekanandarajah PR middle-end/86489 diff --git a/gcc/testsuite/gcc.src/maintainers.exp b/gcc/testsuite/gcc.src/maintainers.exp new file mode 100644 index 00000000000..b0a09173893 --- /dev/null +++ b/gcc/testsuite/gcc.src/maintainers.exp @@ -0,0 +1,43 @@ +# Copyright (C) 2018 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 3 of the License, 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 GCC; see the file COPYING3. If not see +# . + +load_lib "gcc-defs.exp" + +proc gcc_src_run_maintainers_verify_sh {} { + set script maintainers-verify.sh + + global srcdir + set rootdir $srcdir/../.. + set contrib $rootdir/contrib + + set maintainers $rootdir/MAINTAINERS + + set verify_output [exec $contrib/$script $maintainers] + if { "$verify_output" == "" } { + pass "$script" + } else { + send_log "$verify_output\n" + fail "$script" + } +} + +if ![gcc_parallel_test_run_p maintainers] { + return +} +gcc_parallel_test_enable 0 +gcc_src_run_maintainers_verify_sh +gcc_parallel_test_enable 1 + -- 2.30.2