mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-13 19:57:53 +08:00
Add configure --enable-tap-tests option
Don't skip the TAP tests anymore when IPC::Run is not found. This will fail normally now.
This commit is contained in:
parent
4ffa8806ee
commit
16381b2a78
41
configure
vendored
41
configure
vendored
@ -728,6 +728,7 @@ CPPFLAGS
|
||||
LDFLAGS
|
||||
CFLAGS
|
||||
CC
|
||||
enable_tap_tests
|
||||
enable_dtrace
|
||||
DTRACEFLAGS
|
||||
DTRACE
|
||||
@ -806,6 +807,7 @@ enable_debug
|
||||
enable_profiling
|
||||
enable_coverage
|
||||
enable_dtrace
|
||||
enable_tap_tests
|
||||
with_blocksize
|
||||
with_segsize
|
||||
with_wal_blocksize
|
||||
@ -1474,6 +1476,7 @@ Optional Features:
|
||||
--enable-profiling build with profiling enabled
|
||||
--enable-coverage build with coverage testing instrumentation
|
||||
--enable-dtrace build with DTrace support
|
||||
--enable-tap-tests enable TAP tests (requires Perl and IPC::Run)
|
||||
--enable-depend turn on automatic dependency tracking
|
||||
--enable-cassert enable assertion checks (for debugging)
|
||||
--disable-thread-safety disable thread-safety in client libraries
|
||||
@ -3436,6 +3439,34 @@ fi
|
||||
|
||||
|
||||
|
||||
#
|
||||
# TAP tests
|
||||
#
|
||||
|
||||
|
||||
# Check whether --enable-tap-tests was given.
|
||||
if test "${enable_tap_tests+set}" = set; then :
|
||||
enableval=$enable_tap_tests;
|
||||
case $enableval in
|
||||
yes)
|
||||
:
|
||||
;;
|
||||
no)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
as_fn_error $? "no argument expected for --enable-tap-tests option" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
|
||||
else
|
||||
enable_tap_tests=no
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Block size
|
||||
#
|
||||
@ -14655,7 +14686,8 @@ done
|
||||
#
|
||||
# Check for test tools
|
||||
#
|
||||
for ac_prog in prove
|
||||
if test "$enable_tap_tests" = yes; then
|
||||
for ac_prog in prove
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
@ -14697,6 +14729,13 @@ fi
|
||||
test -n "$PROVE" && break
|
||||
done
|
||||
|
||||
if test -z "$PROVE"; then
|
||||
as_fn_error $? "prove not found" "$LINENO" 5
|
||||
fi
|
||||
if test -z "$PERL"; then
|
||||
as_fn_error $? "Perl not found" "$LINENO" 5
|
||||
fi
|
||||
fi
|
||||
|
||||
# Thread testing
|
||||
|
||||
|
17
configure.in
17
configure.in
@ -223,6 +223,13 @@ fi
|
||||
AC_SUBST(DTRACEFLAGS)])
|
||||
AC_SUBST(enable_dtrace)
|
||||
|
||||
#
|
||||
# TAP tests
|
||||
#
|
||||
PGAC_ARG_BOOL(enable, tap-tests, no,
|
||||
[enable TAP tests (requires Perl and IPC::Run)])
|
||||
AC_SUBST(enable_tap_tests)
|
||||
|
||||
#
|
||||
# Block size
|
||||
#
|
||||
@ -1908,7 +1915,15 @@ AC_CHECK_PROGS(OSX, [osx sgml2xml sx])
|
||||
#
|
||||
# Check for test tools
|
||||
#
|
||||
AC_CHECK_PROGS(PROVE, prove)
|
||||
if test "$enable_tap_tests" = yes; then
|
||||
AC_CHECK_PROGS(PROVE, prove)
|
||||
if test -z "$PROVE"; then
|
||||
AC_MSG_ERROR([prove not found])
|
||||
fi
|
||||
if test -z "$PERL"; then
|
||||
AC_MSG_ERROR([Perl not found])
|
||||
fi
|
||||
fi
|
||||
|
||||
# Thread testing
|
||||
|
||||
|
@ -1271,6 +1271,16 @@ su - postgres
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--enable-tap-tests</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enable tests using the Perl TAP tools. This requires a Perl
|
||||
installation and the Perl module <literal>IPC::Run</literal>.
|
||||
See <xref linkend="regress-tap"> for more information.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
|
@ -676,7 +676,7 @@ make -C src/bin check PROVE_FLAGS='--reverse'
|
||||
|
||||
<para>
|
||||
The tests written in Perl require the Perl
|
||||
module <literal>IPC::Run</literal>, otherwise most tests will be skipped.
|
||||
module <literal>IPC::Run</literal>.
|
||||
This module is available from CPAN or an operating system package.
|
||||
</para>
|
||||
</sect1>
|
||||
|
@ -174,6 +174,7 @@ enable_nls = @enable_nls@
|
||||
enable_debug = @enable_debug@
|
||||
enable_dtrace = @enable_dtrace@
|
||||
enable_coverage = @enable_coverage@
|
||||
enable_tap_tests = @enable_tap_tests@
|
||||
enable_thread_safety = @enable_thread_safety@
|
||||
|
||||
python_enable_shared = @python_enable_shared@
|
||||
@ -310,6 +311,8 @@ define ld_library_path_var
|
||||
$(if $(filter $(PORTNAME),darwin),DYLD_LIBRARY_PATH,$(if $(filter $(PORTNAME),aix),LIBPATH,LD_LIBRARY_PATH))
|
||||
endef
|
||||
|
||||
ifeq ($(enable_tap_tests),yes)
|
||||
|
||||
define prove_installcheck
|
||||
cd $(srcdir) && TESTDIR='$(CURDIR)' PATH="$(bindir):$$PATH" PGPORT='6$(DEF_PGPORT)' $(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) t/*.pl
|
||||
endef
|
||||
@ -320,6 +323,11 @@ $(MAKE) -C $(top_builddir) DESTDIR='$(CURDIR)'/tmp_check/install install >'$(CUR
|
||||
cd $(srcdir) && TESTDIR='$(CURDIR)' PATH="$(CURDIR)/tmp_check/install$(bindir):$$PATH" $(call add_to_path,$(ld_library_path_var),$(CURDIR)/tmp_check/install$(libdir)) PGPORT='6$(DEF_PGPORT)' $(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) t/*.pl
|
||||
endef
|
||||
|
||||
else
|
||||
prove_installcheck = @echo "TAP tests not enabled"
|
||||
prove_check = $(prove_installcheck)
|
||||
endif
|
||||
|
||||
# Installation.
|
||||
|
||||
install_bin = @install_bin@
|
||||
|
@ -25,19 +25,9 @@ our @EXPORT = qw(
|
||||
use Cwd;
|
||||
use File::Spec;
|
||||
use File::Temp ();
|
||||
use IPC::Run qw(run start);
|
||||
use Test::More;
|
||||
|
||||
BEGIN
|
||||
{
|
||||
eval {
|
||||
require IPC::Run;
|
||||
import IPC::Run qw(run start);
|
||||
1;
|
||||
} or do
|
||||
{
|
||||
plan skip_all => "IPC::Run not available";
|
||||
};
|
||||
}
|
||||
|
||||
# Set to untranslated messages, to be able to compare program output
|
||||
# with expected strings.
|
||||
|
Loading…
x
Reference in New Issue
Block a user