mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
add ./configure valgrind support to test suites
This commit is contained in:
parent
3eff3ad69a
commit
9c34d4ed09
@ -1,3 +1,7 @@
|
||||
2014-10-28 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||||
|
||||
* configure.ac: add --enable-valgrind-tests
|
||||
|
||||
2014-10-28 Giuseppe Scrivano <gscrivan@redhat.com>
|
||||
|
||||
* cfg.mk (local-checks-to-skip): Add sc_makefile_at_at_check.
|
||||
|
20
configure.ac
20
configure.ac
@ -100,6 +100,25 @@ ENABLE_DEBUG=$enableval, ENABLE_DEBUG=yes)
|
||||
test x"${ENABLE_DEBUG}" = xyes && AC_DEFINE([ENABLE_DEBUG], 1,
|
||||
[Define if you want the debug output support compiled in.])
|
||||
|
||||
dnl
|
||||
dnl Check for valgrind
|
||||
dnl
|
||||
AC_ARG_ENABLE(valgrind-tests,
|
||||
AS_HELP_STRING([--enable-valgrind-tests], [enable using Valgrind for tests]),
|
||||
[ac_enable_valgrind=$enableval], [ac_enable_valgrind=no])
|
||||
if test "${ac_enable_valgrind}" != "no" ; then
|
||||
AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no)
|
||||
if test "$HAVE_VALGRIND" = "yes" ; then
|
||||
VALGRIND_TESTS="1"
|
||||
AC_SUBST(VALGRIND_TESTS)
|
||||
VALGRIND_INFO="Test suite will be run under Valgrind"
|
||||
else
|
||||
VALGRIND_INFO="Valgrind not found"
|
||||
fi
|
||||
else
|
||||
VALGRIND_INFO="Valgrind testing not enabled"
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl Find the compiler
|
||||
dnl
|
||||
@ -599,4 +618,5 @@ AC_MSG_NOTICE([Summary of build options:
|
||||
NTLM: $ENABLE_NTLM
|
||||
OPIE: $ENABLE_OPIE
|
||||
Debugging: $ENABLE_DEBUG
|
||||
Valgrind: $VALGRIND_INFO
|
||||
])
|
||||
|
@ -1,3 +1,9 @@
|
||||
2014-10-25 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||||
|
||||
* test/base_test.py (gen_cmd_line): generate valgrind command line if requested
|
||||
* README: amend description of VALGRIND_TESTS
|
||||
* Makefile.am: set/export VALGRIND_TESTS
|
||||
|
||||
2014-10-01 Darshit Shah <darnir@gmail.com>
|
||||
|
||||
* Makefile.am: Run the tests in Python's Optimizedmode
|
||||
|
@ -27,7 +27,8 @@
|
||||
|
||||
|
||||
AUTOMAKE_OPTIONS = parallel-tests
|
||||
AM_TESTS_ENVIRONMENT = export WGETRC=/dev/null; MAKE_CHECK=True; export MAKE_CHECK; export PYTHONPATH=$$PYTHONPATH:$(srcdir);
|
||||
AM_TESTS_ENVIRONMENT = export WGETRC=/dev/null; MAKE_CHECK=True; export MAKE_CHECK;\
|
||||
export PYTHONPATH=$$PYTHONPATH:$(srcdir); export VALGRIND_TESTS="@VALGRIND_TESTS@";
|
||||
TESTS = Test-auth-basic-fail.py \
|
||||
Test-auth-basic.py \
|
||||
Test-auth-both.py \
|
||||
|
@ -93,8 +93,10 @@ Environment Variables:
|
||||
valgrind.
|
||||
* NO_CLEANUP: Do not remove the temporary files created by the test.
|
||||
This will prevent the ${testname}-test directory from being deleted
|
||||
* VALGRIND_TESTS: If this variable is set, the test suite will execute all the
|
||||
tests through valgrind's memcheck tool.
|
||||
* VALGRIND_TESTS: If this variable is set and contains the valgrind command line,
|
||||
the test suite will execute all the tests via this command.
|
||||
If it is set to "1", valgrind memcheck is enabled with hard coded options.
|
||||
This variable is set by ./configure --enable-valgrind-tests.
|
||||
|
||||
|
||||
File Structure:
|
||||
|
@ -100,11 +100,14 @@ class BaseTest:
|
||||
"..", '..', 'src', "wget"))
|
||||
wget_options = '--debug --no-config %s' % self.wget_options
|
||||
|
||||
if os.getenv("VALGRIND_TESTS"):
|
||||
valgrind_test = "valgrind --error-exitcode=301 --leak-check=full --track-origins=yes"
|
||||
valgrind = os.getenv("VALGRIND_TESTS", "")
|
||||
if valgrind in ("", "0"):
|
||||
cmd_line = '%s %s ' % (wget_path, wget_options)
|
||||
elif valgrind == "1":
|
||||
cmd_line = 'valgrind --error-exitcode=301 --leak-check=yes --track-origins=yes %s %s ' % (wget_path, wget_options)
|
||||
else:
|
||||
valgrind_test = ""
|
||||
cmd_line = '%s %s %s ' % (valgrind_test, wget_path, wget_options)
|
||||
cmd_line = '%s %s %s ' % (os.getenv("VALGRIND_TESTS", ""), wget_path, wget_options)
|
||||
|
||||
for protocol, urls, domain in zip(self.protocols,
|
||||
self.urls,
|
||||
self.domains):
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-10-25 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||||
|
||||
* WgetTests.pm (run): generate valgrind command line if requested
|
||||
* Makefile.am: set/export VALGRIND_TESTS
|
||||
|
||||
2014-10-28 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||||
|
||||
* tests/Test-proxied-https-auth.px: synchronize client and server
|
||||
|
@ -140,6 +140,7 @@ CLEANFILES = *~ *.bak core core.[0-9]*
|
||||
|
||||
TESTS = ./unit-tests$(EXEEXT) $(PX_TESTS)
|
||||
TEST_EXTENSIONS = .px
|
||||
AM_TESTS_ENVIRONMENT = export WGETRC=/dev/null; export SYSTEM_WGETRC=/dev/null;
|
||||
PX_LOG_COMPILER = $(PERL)
|
||||
AM_PX_LOG_FLAGS = -I$(srcdir)
|
||||
AM_TESTS_ENVIRONMENT = export WGETRC=/dev/null; export SYSTEM_WGETRC=/dev/null;\
|
||||
export VALGRIND_TESTS="@VALGRIND_TESTS@";
|
||||
|
@ -88,13 +88,22 @@ sub run {
|
||||
|
||||
# Call wget
|
||||
chdir ("$self->{_workdir}/$self->{_name}/output");
|
||||
|
||||
my $cmdline = $self->{_cmdline};
|
||||
$cmdline = $self->_substitute_port($cmdline);
|
||||
$cmdline = ($cmdline =~ m{^/.*}) ? $cmdline : "$self->{_workdir}/$cmdline";
|
||||
|
||||
my $valgrind = $ENV{VALGRIND_TESTS};
|
||||
if (!defined $valgrind || $valgrind == "" || $valgrind == "0") {
|
||||
# Valgrind not requested - leave $cmdline as it is
|
||||
} elsif ($valgrind == "1") {
|
||||
$cmdline = "valgrind --error-exitcode=301 --leak-check=yes --track-origins=yes " . $cmdline;
|
||||
} else {
|
||||
$cmdline = $valgrind . " " . $cmdline;
|
||||
}
|
||||
|
||||
print "Calling $cmdline\n";
|
||||
$errcode =
|
||||
($cmdline =~ m{^/.*})
|
||||
? system ($cmdline)
|
||||
: system ("$self->{_workdir}/$cmdline");
|
||||
$errcode = system($cmdline);
|
||||
$errcode >>= 8; # XXX: should handle abnormal error codes.
|
||||
|
||||
# Shutdown server
|
||||
|
Loading…
Reference in New Issue
Block a user