[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FYI] {maint} tests: prepare to move ./defs to t/ax/test-init.sh
From: |
Stefano Lattarini |
Subject: |
[FYI] {maint} tests: prepare to move ./defs to t/ax/test-init.sh |
Date: |
Sat, 27 Oct 2012 13:52:23 +0200 |
We don't do this in a sweeping passage, because that would cause
endless headaches in the synchronization between the maint, master
and ng/master branches. Instead, we setup our framework to allow
test scripts to work by sourcing either './defs' or 'test-init.sh',
so that we'll be able to make the transition gradual and painless.
* t/ax/test-init.sh: New, copied from the previous ./defs file.
* defs: Simply work by sourcing the new file.
* Makefile.am (dist_noinst_DATA): List the new file.
* t/README: Adjust to mandate the sourcing of 'test-init.sh' rather
than of './defs'.
* t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is
done to verify our new setup actually works.
* t/ac-output-old.tap: Likewise.
Signed-off-by: Stefano Lattarini <address@hidden>
---
Makefile.am | 1 +
defs | 13 +++++--------
t/README | 21 +++++++++++----------
t/ac-output-old.tap | 2 +-
t/ax/test-init.sh | 25 +++++++++++++++++++++++++
t/c-demo.sh | 2 +-
6 files changed, 44 insertions(+), 20 deletions(-)
create mode 100644 t/ax/test-init.sh
diff --git a/Makefile.am b/Makefile.am
index fc37f44..a48ab82 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -403,6 +403,7 @@ nodist_noinst_SCRIPTS = \
t/wrap/automake-$(APIVERSION)
dist_noinst_DATA = \
+ t/ax/test-init.sh \
t/ax/test-lib.sh \
t/ax/am-test-lib.sh \
t/ax/tap-functions.sh
diff --git a/defs b/defs
index 1ee1116..586181e 100644
--- a/defs
+++ b/defs
@@ -14,12 +14,9 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# This file is here for backward-compatibility with the existing
+# tests still unconverted to the use of 'test-init.sh'. It should
+# eventually be removed, once all the tests have been converted.
-set -e
-
-# Source the actual code for test initialization and setup.
-. test-lib.sh
-. am-test-lib.sh
-
-# Run that setup, and return control to the test script sourcing us.
-am_test_setup
+. test-init.sh
diff --git a/t/README b/t/README
index 06f087f..02cb3a5 100644
--- a/t/README
+++ b/t/README
@@ -142,8 +142,8 @@ Writing test cases
tools which can be taken for granted because they're listed in the
GNU Coding Standards (for example, 'gzip').
-* Include ./defs in every test script (see existing tests for examples
- of how to do this).
+* Include 'test-init.sh' in every test script (see existing tests for
+ examples of how to do this).
* Use the 'skip_' function to skip tests, with a meaningful message if
possible. Where convenient, use the 'warn_' function to print generic
@@ -162,7 +162,7 @@ Writing test cases
parallel one. For those tests that are *not* meant to work with the
parallel testsuite harness at all (these should be very very few),
set the shell variable 'am_serial_tests' to "yes" before including
- ./defs.
+ test-init.sh.
* Some tests in the Automake testsuite are auto-generated; those tests
might have custom extensions, but their basename (that is, with such
@@ -173,14 +173,15 @@ Writing test cases
to be confused with auto-generated tests; for example, 'u-v-w.sh'
or 'option-w0.tap' are *not* valid name for hand-written tests.
-* ./defs brings in some commonly required files, and sets a skeleton
- configure.ac. If possible, append to this file. In some cases
- you'll have to overwrite it, but this should be the exception. Note
- that configure.ac registers Makefile.in but do not output anything by
+* test-init.sh brings in some commonly required files, and sets a skeleton
+ configure.ac. If possible, append to this file. In some cases you'll
+ have to overwrite it, but this should be the exception. Note that
+ configure.ac registers Makefile.in but do not output anything by
default. If you need ./configure to create Makefile, append AC_OUTPUT
- to configure.ac. In case you don't want ./defs to pre-populate your
- test directory (which is a rare occurrence), set the 'am_create_testdir'
- shell variable to "empty" before sourcing ./defs.
+ to configure.ac. In case you don't want your test directory to be
+ pre-populate by test-init.sh (this should be a rare occurrence), set
+ the 'am_create_testdir' shell variable to "empty" before sourcing
+ test-init.sh.
* By default, the testcases are run with the errexit shell flag on,
to make it easier to catch failures you might not have thought of.
diff --git a/t/ac-output-old.tap b/t/ac-output-old.tap
index be7e349..e45fb5f 100755
--- a/t/ac-output-old.tap
+++ b/t/ac-output-old.tap
@@ -18,7 +18,7 @@
# line breaking in the use of AC_OUTPUT. Synthesised by a bunch
# of older tests (referenced below).
-. ./defs || exit 1
+. test-init.sh
plan_ 22
diff --git a/t/ax/test-init.sh b/t/ax/test-init.sh
new file mode 100644
index 0000000..1ee1116
--- /dev/null
+++ b/t/ax/test-init.sh
@@ -0,0 +1,25 @@
+# -*- shell-script -*-
+#
+# Copyright (C) 1996-2012 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
+
+# Source the actual code for test initialization and setup.
+. test-lib.sh
+. am-test-lib.sh
+
+# Run that setup, and return control to the test script sourcing us.
+am_test_setup
diff --git a/t/c-demo.sh b/t/c-demo.sh
index 2f51cf7..b0d1c47 100755
--- a/t/c-demo.sh
+++ b/t/c-demo.sh
@@ -19,7 +19,7 @@
required=cc
am_create_testdir=empty
-. ./defs || exit 1
+. test-init.sh
cat > configure.ac << 'END'
AC_INIT([GNU C Demo], [22.3.2], address@hidden)
--
1.8.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [FYI] {maint} tests: prepare to move ./defs to t/ax/test-init.sh,
Stefano Lattarini <=