automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.13.1-14-


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.13.1-14-g8288e78
Date: Wed, 02 Jan 2013 23:31:14 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=8288e78b83af0bdd660fdf1f8b0682e5a3d2b49d

The branch, maint has been updated
       via  8288e78b83af0bdd660fdf1f8b0682e5a3d2b49d (commit)
       via  c31863138afeab687ac719c363274fa7095a9b5e (commit)
      from  fe05207b40350b189727351c22871ae5075b186f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8288e78b83af0bdd660fdf1f8b0682e5a3d2b49d
Author: Stefano Lattarini <address@hidden>
Date:   Wed Jan 2 21:59:43 2013 +0100

    tests: more significant names for some tests
    
    * t/spy.sh: Rename...
    * t/spy-double-colon.sh: ... like this.
    * t/yacc4.sh: Rename...
    * t/yacc-misc.sh: ... like this.
    * t/yaccdry.sh: Rename...
    * t/yacc-dry.sh: ... like this.
    * t/yaccpp.sh: Rename...
    * t/yacc-cxx-grepping.sh: ... like this.
    * t/yaccvpath.sh: Rename...
    * t/yacc-vpath.sh: ... like this.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit c31863138afeab687ac719c363274fa7095a9b5e
Author: Stefano Lattarini <address@hidden>
Date:   Wed Jan 2 21:08:27 2013 +0100

    maint: add some of my maintainer-specific scripts
    
    They are likely not general enough for widespread use, but they
    are useful nonetheless.
    
    In the best-case scenario, they will start to be used by other
    people, and thus accordingly improved and made more general and
    flexible.
    
    In the worst case scenario, well, I still get to keep them in a
    centralized, blessed place, simplifying the deployment and use
    of them; so still a win for me :-)
    
    * maint/am-ft: New script.
    * maint/am-xft: Likewise.
    * maint/rename-tests: Likewise.
    * Makefile.am (EXTRA_DIST): Add them.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                           |    9 +++
 maint/am-ft                           |  109 +++++++++++++++++++++++++++++++++
 maint/am-xft                          |    3 +
 maint/rename-tests                    |   52 ++++++++++++++++
 t/list-of-tests.mk                    |   10 ++--
 t/{spy.sh => spy-double-colon.sh}     |    0
 t/{yaccpp.sh => yacc-cxx-grepping.sh} |    0
 t/{yaccdry.sh => yacc-dry.sh}         |    0
 t/{yacc4.sh => yacc-misc.sh}          |    0
 t/{yaccvpath.sh => yacc-vpath.sh}     |    0
 10 files changed, 178 insertions(+), 5 deletions(-)
 create mode 100755 maint/am-ft
 create mode 100755 maint/am-xft
 create mode 100755 maint/rename-tests
 rename t/{spy.sh => spy-double-colon.sh} (100%)
 rename t/{yaccpp.sh => yacc-cxx-grepping.sh} (100%)
 rename t/{yaccdry.sh => yacc-dry.sh} (100%)
 rename t/{yacc4.sh => yacc-misc.sh} (100%)
 rename t/{yaccvpath.sh => yacc-vpath.sh} (100%)

diff --git a/Makefile.am b/Makefile.am
index 030c2eb..f6db092 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -679,3 +679,12 @@ EXTRA_DIST += \
   old/ChangeLog.09 \
   old/ChangeLog.11 \
   old/TODO
+
+## ---------------------------------------- ##
+##  Maintainer-specific files and scripts.  ##
+## ---------------------------------------- ##
+  
+EXTRA_DIST += \
+  maint/am-ft \
+  maint/am-xft \
+  maint/rename-tests
diff --git a/maint/am-ft b/maint/am-ft
new file mode 100755
index 0000000..d8a2722
--- /dev/null
+++ b/maint/am-ft
@@ -0,0 +1,109 @@
+#!/usr/bin/env bash
+# Remote testing of Automake tarballs made easy.
+# This script requires Bash 4.x or later.
+# TODO: some documentation would be nice ...
+
+set -u
+me=${0##*/}
+
+fatal () { echo "$me: $*" >&2; exit 1; }
+
+cmd='
+  test_script=$HOME/.am-test/run
+  if test -f "$test_script" && test -x "$test_script"; then
+    "$test_script" "$@"
+  else
+    nice -n19 ./configure && nice -n19 make -j10 check
+  fi
+'
+
+remote=
+interactive=1
+while test $# -gt 0; do
+  case $1 in
+   -b|--batch) interactive=0;;
+   -c|--command) cmd=${2-}; shift;;
+   -*) fatal "'$1': invalid option";;
+    *) remote=$1; shift; break;;
+  esac
+  shift
+done
+[[ -n $remote ]] || fatal "no remote given"
+
+if ((interactive)); then
+  do_on_error='{
+    AM_TESTSUITE_FAILED=yes
+    export AM_TESTSUITE_FAILED
+    # We should not modify the environment with which the failed
+    # tests have run, hence do not read ".profile", ".bashrc", and
+    # company.
+    exec bash --noprofile --norc -i
+  }'
+else
+  do_on_error='exit $?'
+fi
+
+tarball=$(echo automake*.tar.xz)
+
+case $tarball in
+  *' '*) fatal "too many automake tarballs: $tarball";;
+esac
+
+test -f $tarball || fatal "no automake tarball found"
+
+distdir=${tarball%%.tar.xz}
+
+env='PATH=$HOME/bin:$PATH'
+if test -t 1; then
+  env+=" TERM='$TERM' AM_COLOR_TESTS=always"
+fi
+
+# This is tempting:
+#   $ ssh "command" arg-1 ... arg-2
+# but doesn't work as expected.  So we need the following hack
+# to propagate the command line arguments to the remote shell.
+quoted_args=--
+while (($# > 0)); do
+  case $1 in
+    *\'*) quoted_args+=" "$(printf '%s\n' "$1" | sed "s/'/'\\''/g");;
+       *) quoted_args+=" '$1'";;
+  esac
+  shift
+done
+
+set -e
+set -x
+
+scp $tarball $remote:tmp/
+
+# Multiple '-t' to force tty allocation.
+ssh -t -t $remote "
+  set -x; set -e; set -u;
+  set $quoted_args
+  cd tmp
+  if test -e $distdir; then
+    # Use 'perl', not only 'rm -rf', to correctly handle read-only
+    # files or directory.  Fall back to 'rm' if something goes awry.
+    perl -e 'use File::Path qw/rmtree/; rmtree(\"$distdir\")' \
+      || rm -rf $distdir || exit 1
+    test ! -e $distdir
+  fi
+  xz -dc $tarball | tar xf -
+  cd $distdir
+  "'
+  am_extra_acdir=$HOME/.am-test/extra-aclocal
+  am_extra_bindir=$HOME/.am-test/extra-bin
+  am_extra_setup=$HOME/.am-test/extra-setup.sh
+  if test -d "$am_extra_acdir"; then
+    export ACLOCAL_PATH=$am_extra_acdir${ACLOCAL_PATH+":$ACLOCAL_PATH"}
+  fi
+  if test -d "$am_extra_bindir"; then
+    export PATH=$am_extra_bindir:$PATH
+  fi
+  '"
+  export $env
+  if test -f \"\$am_extra_setup\"; then
+    . \"\$am_extra_setup\"
+  fi
+  ($cmd) || $do_on_error
+"
diff --git a/maint/am-xft b/maint/am-xft
new file mode 100755
index 0000000..564aa3b
--- /dev/null
+++ b/maint/am-xft
@@ -0,0 +1,3 @@
+#!/bin/sh
+MAKE=${MAKE-make} GIT=${GIT-git}
+$GIT clean -fdx && $MAKE bootstrap && $MAKE dist && exec am-ft "$@"
diff --git a/maint/rename-tests b/maint/rename-tests
new file mode 100755
index 0000000..6fce9fe
--- /dev/null
+++ b/maint/rename-tests
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+# Convenience script to rename test cases in Automake.
+
+set -e -u
+
+me=${0##*/}
+fatal () { echo "$me: $*" >&2; exit 1; }
+
+case $# in
+  0) input=$(cat);;
+  1) input=$(cat -- "$1");;
+  *) fatal "too many arguments";;
+esac
+
+AWK=${AWK-awk}
+SED=${SED-sed}
+
+[[ -f 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"
+
+# Validate and cleanup input.
+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")
+
+# Prepare git commit message.
+exec 5>$me.git-msg
+echo "tests: more significant names for some tests" >&5
+echo >&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
+fi
+
+git status
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 2a042ef..67578fb 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -991,7 +991,7 @@ t/spell.sh \
 t/spell2.sh \
 t/spell3.sh \
 t/spelling.sh \
-t/spy.sh \
+t/spy-double-colon.sh \
 t/spy-rm.tap \
 t/stdinc.sh \
 t/stamph2.sh \
@@ -1236,10 +1236,10 @@ t/werror3.sh \
 t/werror4.sh \
 t/whoami.sh \
 t/xsource.sh \
-t/yacc4.sh \
-t/yaccdry.sh \
-t/yaccpp.sh \
-t/yaccvpath.sh \
+t/yacc-misc.sh \
+t/yacc-dry.sh \
+t/yacc-cxx-grepping.sh \
+t/yacc-vpath.sh \
 t/yacc-auxdir.sh \
 t/yacc-basic.sh \
 t/yacc-cxx.sh \
diff --git a/t/spy.sh b/t/spy-double-colon.sh
similarity index 100%
rename from t/spy.sh
rename to t/spy-double-colon.sh
diff --git a/t/yaccpp.sh b/t/yacc-cxx-grepping.sh
similarity index 100%
rename from t/yaccpp.sh
rename to t/yacc-cxx-grepping.sh
diff --git a/t/yaccdry.sh b/t/yacc-dry.sh
similarity index 100%
rename from t/yaccdry.sh
rename to t/yacc-dry.sh
diff --git a/t/yacc4.sh b/t/yacc-misc.sh
similarity index 100%
rename from t/yacc4.sh
rename to t/yacc-misc.sh
diff --git a/t/yaccvpath.sh b/t/yacc-vpath.sh
similarity index 100%
rename from t/yaccvpath.sh
rename to t/yacc-vpath.sh


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]