Start using check-MAINTAINERS.py instead of legacy maintainers-verify.sh.

Message ID ae2e349d-e3d5-697f-e446-df301e40c445@suse.cz
State New
Headers show
Series
  • Start using check-MAINTAINERS.py instead of legacy maintainers-verify.sh.
Related show

Commit Message

Martin Liška Jan. 14, 2022, 9:28 a.m.
Let's use the new Python script where I added new
function check_effective_target_python3 that can be used
for python3 detection.

Ready to be installed?
Thanks,
Martin

contrib/ChangeLog:

	* maintainers-verify.sh: Removed.

gcc/testsuite/ChangeLog:

	* gcc.src/maintainers.exp: Start using check-MAINTAINERS.py.
	* lib/target-supports.exp: Add check_effective_target_python3.
---
  contrib/maintainers-verify.sh         | 45 ---------------------------
  gcc/testsuite/gcc.src/maintainers.exp | 18 ++++++-----
  gcc/testsuite/lib/target-supports.exp | 12 +++++++
  3 files changed, 23 insertions(+), 52 deletions(-)
  delete mode 100755 contrib/maintainers-verify.sh

-- 
2.34.1

Comments

Martin Liška Jan. 17, 2022, 10:22 a.m. | #1
On 1/14/22 10:28, Martin Liška wrote:
> Ready to be installed?


There's no reply, I'm going to push it. The current script
is broken anyway.

Cheers,
Martin

Patch

diff --git a/contrib/maintainers-verify.sh b/contrib/maintainers-verify.sh
deleted file mode 100755
index 226c158fdaa..00000000000
--- a/contrib/maintainers-verify.sh
+++ /dev/null
@@ -1,45 +0,0 @@ 
-#!/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/gcc.src/maintainers.exp b/gcc/testsuite/gcc.src/maintainers.exp
index 9ce84f76ac1..63361dd5e4b 100644
--- a/gcc/testsuite/gcc.src/maintainers.exp
+++ b/gcc/testsuite/gcc.src/maintainers.exp
@@ -14,22 +14,27 @@ 
  # along with GCC; see the file COPYING3.  If not see
  # <http://www.gnu.org/licenses/>.
  
-load_lib "gcc-defs.exp"
+load_lib "target-supports.exp"
  
  proc gcc_src_run_maintainers_verify_sh {} {
-    set script maintainers-verify.sh
+    set script check-MAINTAINERS.py
  
      global srcdir
      set rootdir $srcdir/../..
      set contrib $rootdir/contrib
-
      set maintainers $rootdir/MAINTAINERS
  
-    set verify_output [exec $contrib/$script $maintainers]
-    if { "$verify_output"  == "" } {
+    if { ![check_effective_target_python3] } {
+      unsupported "$script python3 is missing"
+      return
+    }
+
+    set result [remote_exec host $contrib/$script $maintainers]
+    set status [lindex $result 0]
+    if { $status == 0 } then {
  	pass "$script"
      } else {
-	send_log "$verify_output\n"
+	send_log "$result\n"
  	fail "$script"
      }
  }
@@ -40,4 +45,3 @@  if ![gcc_parallel_test_run_p maintainers] {
  gcc_parallel_test_enable 0
  gcc_src_run_maintainers_verify_sh
  gcc_parallel_test_enable 1
-
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index c1ad97c6bd2..12c5ca5da33 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -11722,3 +11722,15 @@  proc check_effective_target___OPTIMIZE__ {} {
  	#endif
      } [current_compiler_flags]]
  }
+
+# Return 1 if python3 is available.
+
+proc check_effective_target_python3 { } {
+    set result [remote_exec host "python3 --version"]
+    set status [lindex $result 0]
+    if { $status == 0 } then {
+        return 1;
+    } else {
+        return 0;
+    }
+}