summaryrefslogtreecommitdiff
path: root/regress
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2020-05-21 13:42:10 +0000
committerrillig <rillig@pkgsrc.org>2020-05-21 13:42:10 +0000
commit40e0a199cd77330a5d7edc0ef61d38b50887d0e2 (patch)
treef46a8390e10ad3f1b0cb56eec9d5e90a9b4588c8 /regress
parent92418464350826d33bffeb80a53ba30fbd83b4b7 (diff)
downloadpkgsrc-40e0a199cd77330a5d7edc0ef61d38b50887d0e2.tar.gz
mk/configure: completely rewrite check for unknown configure options
The previous implementation could not reliably detect outdated configure options. This was apparent in devel/gettext-tools, where the option --with-included-libcroco had become unknown between May 2019 and May 2020, but the check was not run. The behavior is the same in the pkgsrc default configuration. Only if GNU_CONFIGURE_STRICT=yes, the new check is activated and will make packages fail that previously succeeded to build. Since that variable is not widely known, there won't be much sudden breakage, if any.
Diffstat (limited to 'regress')
-rw-r--r--regress/gnu-configure-strict/spec47
-rw-r--r--regress/gnu-configure-strict/t-gettext-tools.test35
-rw-r--r--regress/gnu-configure-strict/t-simple-unrecognized.test12
-rw-r--r--regress/gnu-configure-strict/t-subdirs-ok.test20
-rw-r--r--regress/gnu-configure-strict/t-subdirs-only-in-main.test20
-rw-r--r--regress/gnu-configure-strict/t-subdirs-unrecognized.test21
-rw-r--r--regress/gnu-configure-strict/t-verbose.test41
-rw-r--r--regress/infra-unittests/gnu-configure-strict.sh399
8 files changed, 399 insertions, 196 deletions
diff --git a/regress/gnu-configure-strict/spec b/regress/gnu-configure-strict/spec
deleted file mode 100644
index 43aae978b5a..00000000000
--- a/regress/gnu-configure-strict/spec
+++ /dev/null
@@ -1,47 +0,0 @@
-# $NetBSD: spec,v 1.1 2019/05/04 15:16:51 rillig Exp $
-#
-# Checks that analyzing unknown CONFIGURE_ARGS produces the expected results,
-# for both packages containing only a single configure scripts and those
-# containing multiple configure scripts.
-
-set -eu
-
-tmpdir=${TMPDIR:-/tmp}/pkgsrc-gnu-configure
-rm -rf "$tmpdir"
-mkdir -p "$tmpdir"
-
-require_file() {
- if diff -u "$3" "$1" > /dev/null; then
- :
- else
- regress_fail "Expected files to be equal."
- diff -u "$3" "$1" || true
- fi
-}
-
-do_test_case() {
- testname=${1%.test}
-
- awk '/^# end/ { relevant = 0 } relevant { print } /^# begin/ { relevant = 1 }' \
- < "$1" > "$tmpdir/$testname.expected"
-
- awk -f $PKGSRCDIR/mk/configure/gnu-configure-unknown.awk \
- "$1" > "$tmpdir/$testname.actual"
-
- require_file "$tmpdir/$testname.actual" --equals "$tmpdir/$testname.expected"
-}
-
-do_test() {
- do_test_case "t-simple-unrecognized.test"
- do_test_case "t-gettext-tools.test"
- do_test_case "t-subdirs-ok.test"
- do_test_case "t-subdirs-unrecognized.test"
- do_test_case "t-subdirs-only-in-main.test"
- export PKG_VERBOSE=yes
- do_test_case "t-verbose.test"
- unset PKG_VERBOSE
-}
-
-check_result() {
- exit_status 0
-}
diff --git a/regress/gnu-configure-strict/t-gettext-tools.test b/regress/gnu-configure-strict/t-gettext-tools.test
deleted file mode 100644
index d1fadba62f4..00000000000
--- a/regress/gnu-configure-strict/t-gettext-tools.test
+++ /dev/null
@@ -1,35 +0,0 @@
-# $NetBSD: t-gettext-tools.test,v 1.1 2019/05/04 15:16:51 rillig Exp $
-
-This is the output of running "bmake configure GNU_CONFIGURE_STRICT=warn"
-in devel/gettext-tools. That package has several subdirectories, and some
-of them even run multiple configure scripts.
-
-===> Configuring for gettext-tools-0.19.8.1nb1
-...
-=== configuring in gettext-runtime
-...
-configure: WARNING: unrecognized options: --with-included-libcroco, --without-git, --with-xz, --without-emacs, --disable-openmp
-...
-=== configuring in libasprintf
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-configure: WARNING: unrecognized options: --with-included-libcroco, --without-git, --with-xz, --without-emacs, --disable-openmp
-...
-=== configuring in gettext-tools
-...
-=== configuring in examples
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-
-Each of the subdirectories flags several options as unrecognized, but in
-summary, each of the given options is used in at least one subdirectory,
-which in this case is gettext-tools.
-
-# begin expected output
-good: all 8 options are used somewhere
-please set GNU_CONFIGURE_STRICT=no in the package
-# end expected output
diff --git a/regress/gnu-configure-strict/t-simple-unrecognized.test b/regress/gnu-configure-strict/t-simple-unrecognized.test
deleted file mode 100644
index 6d903eef4a5..00000000000
--- a/regress/gnu-configure-strict/t-simple-unrecognized.test
+++ /dev/null
@@ -1,12 +0,0 @@
-# $NetBSD: t-simple-unrecognized.test,v 1.1 2019/05/04 15:16:51 rillig Exp $
-
-In most configure scripts there are no calls to other configure scripts.
-In that case the only "subdir" is the main configure script itself.
-
-===> Configuring for screen-4.6.2nb1
-...
-configure: WARNING: unrecognized options: --enable-feature
-
-# begin
-option --enable-feature is unknown in all 1 configure scripts
-# end
diff --git a/regress/gnu-configure-strict/t-subdirs-ok.test b/regress/gnu-configure-strict/t-subdirs-ok.test
deleted file mode 100644
index ba94b7ad0d3..00000000000
--- a/regress/gnu-configure-strict/t-subdirs-ok.test
+++ /dev/null
@@ -1,20 +0,0 @@
-# $NetBSD: t-subdirs-ok.test,v 1.1 2019/05/04 15:16:51 rillig Exp $
-
-===> Configuring for package-1.0
-...
-=== configuring in subdir1
-...
-configure: WARNING: unrecognized options: --only-subdir2
-...
-=== configuring in subdir2
-...
-configure: WARNING: unrecognized options: --only-subdir1
-...
-
-No output expected since each of the unrecognized options is used in the
-other subdirectory.
-
-# begin expected output
-good: all 2 options are used somewhere
-please set GNU_CONFIGURE_STRICT=no in the package
-# end expected output
diff --git a/regress/gnu-configure-strict/t-subdirs-only-in-main.test b/regress/gnu-configure-strict/t-subdirs-only-in-main.test
deleted file mode 100644
index 7e5fddfb1ad..00000000000
--- a/regress/gnu-configure-strict/t-subdirs-only-in-main.test
+++ /dev/null
@@ -1,20 +0,0 @@
-# $NetBSD: t-subdirs-only-in-main.test,v 1.1 2019/05/04 15:16:51 rillig Exp $
-
-===> Configuring for package-1.0
-...
-=== configuring in subdir1
-...
-configure: WARNING: unrecognized options: --enable-feature
-...
-=== configuring in subdir2
-...
-configure: WARNING: unrecognized options: --enable-feature
-...
-
-The option is unrecognized in all subdirectories. Yet the main configure
-script didn't complain. Therefore it cannot be removed.
-
-# begin expected output
-good: all 1 options are used somewhere
-please set GNU_CONFIGURE_STRICT=no in the package
-# end expected output
diff --git a/regress/gnu-configure-strict/t-subdirs-unrecognized.test b/regress/gnu-configure-strict/t-subdirs-unrecognized.test
deleted file mode 100644
index 753fb7191c0..00000000000
--- a/regress/gnu-configure-strict/t-subdirs-unrecognized.test
+++ /dev/null
@@ -1,21 +0,0 @@
-# $NetBSD: t-subdirs-unrecognized.test,v 1.1 2019/05/04 15:16:51 rillig Exp $
-
-===> Configuring for package-1.0
-...
-configure: WARNING: unrecognized options: --enable-feature
-...
-=== configuring in subdir1
-...
-configure: WARNING: unrecognized options: --enable-feature
-...
-=== configuring in subdir2
-...
-configure: WARNING: unrecognized options: --enable-feature
-...
-
-Since the option is unrecognized in both the main directory and in all
-subdirectories, it can be removed without side effect.
-
-# begin expected output
-option --enable-feature is unknown in all 3 configure scripts
-# end expected output
diff --git a/regress/gnu-configure-strict/t-verbose.test b/regress/gnu-configure-strict/t-verbose.test
deleted file mode 100644
index 55a02124d97..00000000000
--- a/regress/gnu-configure-strict/t-verbose.test
+++ /dev/null
@@ -1,41 +0,0 @@
-# $NetBSD: t-verbose.test,v 1.1 2019/05/04 15:16:51 rillig Exp $
-
-This is the output of running "bmake configure GNU_CONFIGURE_STRICT=warn"
-in devel/gettext-tools. That package has several subdirectories, and some
-of them even run multiple configure scripts.
-
-===> Configuring for gettext-tools-0.19.8.1nb1
-...
-=== configuring in gettext-runtime
-...
-configure: WARNING: unrecognized options: --with-included-libcroco, --without-git, --with-xz, --without-emacs, --disable-openmp
-...
-=== configuring in libasprintf
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-configure: WARNING: unrecognized options: --with-included-libcroco, --without-git, --with-xz, --without-emacs, --disable-openmp
-...
-=== configuring in gettext-tools
-...
-=== configuring in examples
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-...
-configure: WARNING: unrecognized options: --disable-csharp, --disable-java, --with-included-libcroco, --without-git, --with-xz, --without-included-gettext, --without-emacs, --disable-openmp
-
-Each of the subdirectories flags several options as unrecognized, but in
-summary, each of the given options is used in at least one subdirectory,
-which in this case is gettext-tools.
-
-# begin expected output
-good: option --with-included-libcroco is known in 2 of 5 configure scripts
-good: option --without-git is known in 2 of 5 configure scripts
-good: option --with-xz is known in 2 of 5 configure scripts
-good: option --without-emacs is known in 2 of 5 configure scripts
-good: option --disable-openmp is known in 2 of 5 configure scripts
-good: option --disable-csharp is known in 3 of 5 configure scripts
-good: option --disable-java is known in 3 of 5 configure scripts
-good: option --without-included-gettext is known in 3 of 5 configure scripts
-# end expected output
diff --git a/regress/infra-unittests/gnu-configure-strict.sh b/regress/infra-unittests/gnu-configure-strict.sh
new file mode 100644
index 00000000000..746856a162a
--- /dev/null
+++ b/regress/infra-unittests/gnu-configure-strict.sh
@@ -0,0 +1,399 @@
+#! /bin/sh
+# $NetBSD: gnu-configure-strict.sh,v 1.1 2020/05/21 13:42:10 rillig Exp $
+#
+# Tests for GNU_CONFIGURE_STRICT handling in mk/configure/gnu-configure.mk.
+#
+
+set -eu
+
+. './test.subr'
+
+test_case_set_up() {
+ create_file 'setup.mk' <<-EOF
+ ECHO= echo
+ FIND= find
+ GREP= grep
+ SED= sed
+ SORT= sort
+ TR= tr
+
+ RUN= @set -eu; # be extra strict
+ ERROR_MSG= echo 'error:'
+
+ GNU_CONFIGURE_PREFIX= unused-GNU_CONFIGURE_PREFIX
+ PREFIX= unused-PREFIX
+ OPSYS= NetBSD
+ WRKDIR= $PWD
+ WRKSRC= $PWD
+ EOF
+}
+
+
+if test_case_begin 'single configure'; then
+
+ create_file 'testcase.mk' <<-EOF
+ GNU_CONFIGURE_STRICT= yes
+ CONFIGURE_DIRS= .
+ CONFIGURE_ARGS= --enable-known
+ CONFIGURE_ARGS+= --disable-known
+ CONFIGURE_ARGS+= --with-known
+ CONFIGURE_ARGS+= --without-known
+
+ .include "setup.mk"
+ .include "mk/configure/gnu-configure.mk"
+ EOF
+ create_file 'configure' <<-EOF
+ enable_known
+ with_known
+ EOF
+
+ run_bmake 'testcase.mk' '_check-unknown-configure-options' \
+ 1> "$tmpdir/output" 2>&1 \
+ && exitcode=0 || exitcode=$?
+
+ assert_that "$tmpdir/output" --file-is-empty
+
+ test_case_end
+fi
+
+
+if test_case_begin 'neither --enable nor --with given'; then
+
+ # Make sure that there is no shell syntax error in the for loop.
+ #
+ # This test also covers the case where the configure script has
+ # some options that are not mentioned in CONFIGURE_ARGS.
+
+ create_file 'testcase.mk' <<-EOF
+ GNU_CONFIGURE_STRICT= yes
+ CONFIGURE_DIRS= .
+
+ .include "setup.mk"
+ .include "mk/configure/gnu-configure.mk"
+ EOF
+ create_file 'configure' <<-EOF
+ enable_known
+ with_known
+ EOF
+
+ run_bmake 'testcase.mk' '_check-unknown-configure-options' \
+ 1> "$tmpdir/output" 2>&1 \
+ && exitcode=0 || exitcode=$?
+
+ assert_that "$tmpdir/output" --file-is-empty
+
+ test_case_end
+fi
+
+
+if test_case_begin 'some unknown options'; then
+
+ create_file 'testcase.mk' <<-EOF
+ GNU_CONFIGURE_STRICT= yes
+ CONFIGURE_DIRS= .
+
+ CONFIGURE_ARGS= --enable-unknown-1
+ CONFIGURE_ARGS+= --disable-unknown-2
+ CONFIGURE_ARGS+= --with-unknown-3
+ CONFIGURE_ARGS+= --without-unknown-4
+
+ .include "setup.mk"
+ .include "mk/configure/gnu-configure.mk"
+ EOF
+ create_file 'configure' <<-EOF
+ enable_known
+ with_known
+ EOF
+
+ run_bmake 'testcase.mk' '_check-unknown-configure-options' \
+ 1> "$tmpdir/output" 2>&1 \
+ && exitcode=0 || exitcode=$?
+
+ assert_that "$exitcode" --equals '1'
+ assert_that "$tmpdir/output" --file-is-lines \
+ 'error: [gnu-configure.mk] option --enable-unknown-1 not found in ./configure' \
+ 'error: [gnu-configure.mk] option --disable-unknown-2 not found in ./configure' \
+ 'error: [gnu-configure.mk] option --with-unknown-3 not found in ./configure' \
+ 'error: [gnu-configure.mk] option --without-unknown-4 not found in ./configure' \
+ '*** Error code 1' \
+ '' \
+ 'Stop.' \
+ "$make: stopped in $PWD"
+
+ test_case_end
+fi
+
+
+if test_case_begin 'unknown options in multiple configures'; then
+
+ create_file 'testcase.mk' <<-EOF
+ GNU_CONFIGURE_STRICT= yes
+ CONFIGURE_DIRS= .
+
+ CONFIGURE_ARGS= --enable-main
+ CONFIGURE_ARGS+= --with-main
+ CONFIGURE_ARGS+= --enable-sub1
+ CONFIGURE_ARGS+= --with-sub1
+ CONFIGURE_ARGS+= --enable-sub2
+ CONFIGURE_ARGS+= --with-sub2
+
+ .include "setup.mk"
+ .include "mk/configure/gnu-configure.mk"
+ EOF
+ create_file 'configure' <<-EOF
+ enable_main
+ with_main
+ EOF
+ create_file 'subdir1/configure' <<-EOF
+ enable_sub1
+ EOF
+ create_file 'subdir2/configure' <<-EOF
+ with_sub2
+ EOF
+
+ run_bmake 'testcase.mk' '_check-unknown-configure-options' \
+ 1> "$tmpdir/output" 2>&1 \
+ && exitcode=0 || exitcode=$?
+
+ assert_that "$exitcode" --equals '1'
+ assert_that "$tmpdir/output" --file-is-lines \
+ 'error: [gnu-configure.mk] option --enable-sub2 not found in ./configure ./subdir1/configure ./subdir2/configure' \
+ 'error: [gnu-configure.mk] option --with-sub1 not found in ./configure ./subdir1/configure ./subdir2/configure' \
+ '*** Error code 1' \
+ '' \
+ 'Stop.' \
+ "$make: stopped in $PWD"
+
+ test_case_end
+fi
+
+
+if test_case_begin 'realistic example from gettext-tools-0.20.2 as of 2020-05-21'; then
+
+ # Each of the subdirectories flags several options as unrecognized,
+ # but in summary, each of the given options is used in at least one
+ # subdirectory, which in this case is gettext-tools.
+
+ create_file './configure' <<-EOF
+ enable_option_checking
+ enable_silent_rules
+ enable_dependency_tracking
+ enable_java
+ enable_csharp
+ enable_largefile
+ enable_threads
+ enable_shared
+ enable_static
+ with_pic
+ enable_fast_install
+ with_aix_soname
+ with_gnu_ld
+ with_sysroot
+ enable_libtool_lock
+ enable_nls
+ enable_rpath
+ with_libiconv_prefix
+ enable_c__
+ with_included_gettext
+ with_libintl_prefix
+ enable_cross_guesses
+ enable_relocatable
+ enable_libasprintf
+ enable_curses
+ with_libncurses_prefix
+ with_libtermcap_prefix
+ with_libxcurses_prefix
+ with_libcurses_prefix
+ enable_namespacing
+ with_libtextstyle_prefix
+ enable_openmp
+ enable_acl
+ with_included_libunistring
+ with_libunistring_prefix
+ with_included_libxml
+ with_libxml2_prefix
+ with_included_regex
+ with_emacs
+ with_lispdir
+ with_git
+ with_cvs
+ with_bzip2
+ with_xz
+ EOF
+ create_file './gettext-runtime/configure' <<-EOF
+ enable_option_checking
+ enable_silent_rules
+ enable_dependency_tracking
+ enable_java
+ enable_csharp
+ enable_largefile
+ enable_threads
+ enable_shared
+ enable_static
+ with_pic
+ enable_fast_install
+ with_aix_soname
+ with_gnu_ld
+ with_sysroot
+ enable_libtool_lock
+ enable_nls
+ enable_rpath
+ with_libiconv_prefix
+ enable_c__
+ with_included_gettext
+ with_libintl_prefix
+ enable_cross_guesses
+ enable_relocatable
+ enable_libasprintf
+ EOF
+ create_file './gettext-runtime/libasprintf/configure' <<-EOF
+ enable_option_checking
+ enable_silent_rules
+ enable_dependency_tracking
+ enable_shared
+ enable_static
+ with_pic
+ enable_fast_install
+ with_aix_soname
+ with_gnu_ld
+ with_sysroot
+ enable_libtool_lock
+ enable_cross_guesses
+ EOF
+ create_file './gettext-tools/configure' <<-EOF
+ enable_option_checking
+ enable_silent_rules
+ enable_dependency_tracking
+ enable_java
+ enable_csharp
+ enable_largefile
+ enable_threads
+ enable_shared
+ enable_static
+ with_pic
+ enable_fast_install
+ with_aix_soname
+ with_gnu_ld
+ with_sysroot
+ enable_libtool_lock
+ enable_nls
+ enable_rpath
+ with_libiconv_prefix
+ enable_c__
+ with_included_gettext
+ with_libintl_prefix
+ with_installed_libtextstyle
+ with_libtextstyle_prefix
+ with_installed_csharp_dll
+ enable_openmp
+ enable_cross_guesses
+ enable_acl
+ with_included_libunistring
+ with_libunistring_prefix
+ with_included_libxml
+ with_libxml2_prefix
+ enable_relocatable
+ with_included_regex
+ with_emacs
+ with_lispdir
+ with_git
+ with_cvs
+ with_bzip2
+ with_xz
+ EOF
+ create_file './gettext-tools/examples/configure' <<-EOF
+ enable_option_checking
+ enable_silent_rules
+ enable_nls
+ EOF
+ create_file './libtextstyle/configure' <<-EOF
+ enable_option_checking
+ enable_silent_rules
+ enable_dependency_tracking
+ enable_largefile
+ enable_shared
+ enable_static
+ with_pic
+ enable_fast_install
+ with_aix_soname
+ with_gnu_ld
+ with_sysroot
+ enable_libtool_lock
+ enable_cross_guesses
+ enable_rpath
+ with_libiconv_prefix
+ enable_curses
+ with_libncurses_prefix
+ with_libtermcap_prefix
+ with_libxcurses_prefix
+ with_libcurses_prefix
+ enable_namespacing
+ EOF
+
+ create_file 'testcase.mk' <<-EOF
+ GNU_CONFIGURE_STRICT= yes
+ CONFIGURE_DIRS= .
+ CONFIGURE_ARGS+= --disable-csharp
+ CONFIGURE_ARGS+= --disable-java
+ CONFIGURE_ARGS+= --with-included-libcroco
+ CONFIGURE_ARGS+= --without-git
+ CONFIGURE_ARGS+= --with-xz
+ CONFIGURE_ARGS+= --without-included-gettext
+ CONFIGURE_ARGS+= --without-emacs
+ CONFIGURE_ARGS+= --disable-openmp
+ CONFIGURE_ARGS+= --prefix=/home/pbulk/pkg
+ CONFIGURE_ARGS+= --build=x86_64--netbsd
+ CONFIGURE_ARGS+= --host=x86_64--netbsd
+ CONFIGURE_ARGS+= --infodir=/home/pbulk/pkg/info
+ CONFIGURE_ARGS+= --mandir=/home/pbulk/pkg/man
+
+ .include "setup.mk"
+ #RUN=set -eux;
+ .include "mk/configure/gnu-configure.mk"
+ EOF
+
+ run_bmake 'testcase.mk' '_check-unknown-configure-options' \
+ 1> "$tmpdir/output" 2>&1 \
+ && exitcode=0 || exitcode=$?
+
+ # There is one option that is unknown in all configure scripts.
+ #
+ # This was already reported by the implementation before May
+ # 2020. That check was expensive to run though, therefore it
+ # had to be run manually.
+ #
+ # In May 2019, when GNU_CONFIGURE_STRICT=no was added to the
+ # package, the check reported: "good: all 8 options are used
+ # somewhere". With the update to 0.20.2, the option had been
+ # removed but the check was never run again. This made the
+ # check pretty useless since detecting outdated definitions was
+ # its primary purpose.
+ #
+ # In May 2020, if the old check had been run, it reported:
+ # "option --with-included-libcroco is unknown in all 6 configure
+ # scripts".
+ #
+ # The May 2020 implementation of this check does not require
+ # packages with multiple configure scripts to set this variable,
+ # which immediately flags these outdated definitions instead of
+ # hiding them just because it had worked some day in the past.
+ # Furthermore, it is very cheap to run since it statically
+ # analyzes the configure scripts instead of running them.
+ #
+ # This approach also has its drawbacks though. It does not
+ # detect cases in which only some of the configure scripts are
+ # actually used for a build but the unknown option is defined in
+ # one of the unused configure scripts. This case happens less
+ # often than a regular package update, therefore it is
+ # acceptable.
+
+ assert_that "$exitcode" --equals '1'
+ assert_that "$tmpdir/output" --file-is-lines \
+ 'error: [gnu-configure.mk] option --with-included-libcroco not found in ./configure ./gettext-runtime/configure ./gettext-runtime/libasprintf/configure ./gettext-tools/configure ./gettext-tools/examples/configure ./libtextstyle/configure' \
+ '*** Error code 1' \
+ '' \
+ 'Stop.' \
+ "$make: stopped in $PWD"
+
+ test_case_end
+fi