[svn] Merging fix for b20431: automated testing via "make test".

This commit is contained in:
micah 2007-07-11 23:10:48 -07:00
parent 78aefb3bbf
commit 829f83bf5b
28 changed files with 92 additions and 56 deletions

View File

@ -86,7 +86,7 @@ SUBDIRS = src doc po tests util windows
# default target
all: src/config.h Makefile $(SUBDIRS)
unittest: src/config.h Makefile
test: src/config.h Makefile
cd tests && $(MAKE) $(MAKEDEFS) $@
check: all

View File

@ -476,7 +476,8 @@ dnl
dnl Create output
dnl
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile util/Makefile
po/Makefile.in tests/Makefile windows/Makefile])
po/Makefile.in tests/Makefile tests/WgetTest.pm
windows/Makefile])
AC_CONFIG_HEADERS([src/config.h])
AH_BOTTOM([
#include "config-post.h"

View File

@ -5,9 +5,9 @@ package FTPTest;
use strict;
use FTPServer;
use Test;
use WgetTest;
our @ISA = qw(Test);
our @ISA = qw(WgetTest);
my $VERSION = 0.01;

View File

@ -5,9 +5,9 @@ package HTTPTest;
use strict;
use HTTPServer;
use Test;
use WgetTest;
our @ISA = qw(Test);
our @ISA = qw(WgetTest);
my $VERSION = 0.01;

View File

@ -74,7 +74,38 @@ GETOPT_OBJ = @GETOPT_OBJ@
all:
unittest: test$(exeext)
.PHONY: test
test: run-unit-tests run-px-tests
run-unit-tests: unit-tests$(exeext)
./unit-tests$(exeext)
run-px-tests: WgetTest.pm
./Test-c-full.px && echo && echo
./Test-c-partial.px && echo && echo
./Test-c.px && echo && echo
# ./Test-E-k-K.px && echo && echo
# ./Test-E-k.px && echo && echo
./Test-ftp.px && echo && echo
# ./Test-HTTP-Content-Disposition.px && echo && echo
# ./Test-HTTP-Content-Disposition-1.px && echo && echo
# ./Test-HTTP-Content-Disposition-2.px && echo && echo
./Test-N-current.px && echo && echo
# ./Test-nonexisting-quiet.px && echo && echo
# ./Test-noop.px && echo && echo
# ./Test-np.px && echo && echo
# ./Test-N.px && echo && echo
./Test-O-nonexisting.px && echo && echo
./Test-O.px && echo && echo
# ./Test-Restrict-Lowercase.px && echo && echo
# ./Test-Restrict-Uppercase.px && echo && echo
./Test--spider-fail.px && echo && echo
./Test--spider.px && echo && echo
./Test--spider-r.px && echo && echo
WgetTest.pm: WgetTest.pm.in @top_srcdir@/config.status
cd @top_srcdir@ && ./config.status
#
# Dependencies for test binary
@ -227,7 +258,7 @@ xmalloc.o: ../src/xmalloc.c $(HEADERS)
$(COMPILE) -DTESTING -c $<
test$(exeext): $(TESTOBJ)
unit-tests$(exeext): $(TESTOBJ)
$(LINK) $(TESTOBJ) $(LIBS)
#
@ -235,7 +266,7 @@ test$(exeext): $(TESTOBJ)
#
clean:
$(RM) *.o test$(exeext) *~ *.bak core core.[0-9]*
$(RM) *.o unit-tests$(exeext) *~ *.bak core core.[0-9]*
distclean: clean
$(RM) Makefile

4
tests/Test--spider-fail.px Normal file → Executable file
View File

@ -32,7 +32,7 @@ my %urls = (
},
);
my $cmdline = "wget --spider http://localhost:8080/nonexistent";
my $cmdline = $WgetTest::WGETPATH . " --spider http://localhost:8080/nonexistent";
my $expected_error_code = 256;
@ -46,7 +46,7 @@ my $the_test = HTTPTest->new (name => "Test--spider-fail",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test--spider-r.px Normal file → Executable file
View File

@ -89,7 +89,7 @@ my %urls = (
},
);
my $cmdline = "wget --spider -r http://localhost:8080/";
my $cmdline = $WgetTest::WGETPATH . " --spider -r http://localhost:8080/";
my $expected_error_code = 0;
@ -103,7 +103,7 @@ my $the_test = HTTPTest->new (name => "Test--spider-r",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test--spider.px Normal file → Executable file
View File

@ -32,7 +32,7 @@ my %urls = (
},
);
my $cmdline = "wget --spider http://localhost:8080/index.html";
my $cmdline = $WgetTest::WGETPATH . " --spider http://localhost:8080/index.html";
my $expected_error_code = 256;
@ -46,7 +46,7 @@ my $the_test = HTTPTest->new (name => "Test--spider",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-E-k-K.px Normal file → Executable file
View File

@ -60,7 +60,7 @@ my %urls = (
},
);
my $cmdline = "wget -d -r -nd -E -k -K http://localhost:8080/index.php";
my $cmdline = $WgetTest::WGETPATH . " -d -r -nd -E -k -K http://localhost:8080/index.php";
my $expected_error_code = 0;
@ -83,7 +83,7 @@ my $the_test = HTTPTest->new (name => "Test-E-k-K",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-E-k.px Normal file → Executable file
View File

@ -60,7 +60,7 @@ my %urls = (
},
);
my $cmdline = "wget -r -nd -E -k http://localhost:8080/index.php";
my $cmdline = $WgetTest::WGETPATH . " -r -nd -E -k http://localhost:8080/index.php";
my $expected_error_code = 0;
@ -80,7 +80,7 @@ my $the_test = HTTPTest->new (name => "Test-E-k",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-HTTP-Content-Disposition-1.px Normal file → Executable file
View File

@ -37,7 +37,7 @@ my %urls = (
},
);
my $cmdline = "wget http://localhost:8080/dummy.html";
my $cmdline = $WgetTest::WGETPATH . " http://localhost:8080/dummy.html";
my $expected_error_code = 0;
@ -70,7 +70,7 @@ my $the_test = HTTPTest->new (name => "Test-HTTP-Content-Disposition-1",
errcode => $expected_error_code,
existing => \%existing_files,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-HTTP-Content-Disposition-2.px Normal file → Executable file
View File

@ -37,7 +37,7 @@ my %urls = (
},
);
my $cmdline = "wget --no-content-disposition http://localhost:8080/dummy.html";
my $cmdline = $WgetTest::WGETPATH . " --no-content-disposition http://localhost:8080/dummy.html";
my $expected_error_code = 0;
@ -70,7 +70,7 @@ my $the_test = HTTPTest->new (name => "Test-HTTP-Content-Disposition-2",
errcode => $expected_error_code,
existing => \%existing_files,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-HTTP-Content-Disposition.px Normal file → Executable file
View File

@ -33,7 +33,7 @@ my %urls = (
},
);
my $cmdline = "wget http://localhost:8080/dummy.html";
my $cmdline = $WgetTest::WGETPATH . " http://localhost:8080/dummy.html";
my $expected_error_code = 0;
@ -50,7 +50,7 @@ my $the_test = HTTPTest->new (name => "Test-HTTP-Content-Disposition",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-N-current.px Normal file → Executable file
View File

@ -27,7 +27,7 @@ my %urls = (
},
);
my $cmdline = "wget -c http://localhost:8080/somefile.txt";
my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:8080/somefile.txt";
my $expected_error_code = 0;
@ -51,7 +51,7 @@ my $the_test = HTTPTest->new (name => "Test-N-current",
errcode => $expected_error_code,
existing => \%existing_files,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-N-old.px Normal file → Executable file
View File

@ -33,7 +33,7 @@ my %urls = (
},
);
my $cmdline = "wget -N http://localhost:8080/somefile.txt";
my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:8080/somefile.txt";
my $expected_error_code = 0;
@ -59,7 +59,7 @@ my $the_test = HTTPTest->new (name => "Test-N-old",
errcode => $expected_error_code,
existing => \%existing_files,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-N.px Normal file → Executable file
View File

@ -24,7 +24,7 @@ my %urls = (
},
);
my $cmdline = "wget -N http://localhost:8080/dummy.txt";
my $cmdline = $WgetTest::WGETPATH . " -N http://localhost:8080/dummy.txt";
my $expected_error_code = 0;
@ -42,7 +42,7 @@ my $the_test = HTTPTest->new (name => "Test-N",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-O-nonexisting.px Normal file → Executable file
View File

@ -23,7 +23,7 @@ my %urls = (
},
);
my $cmdline = "wget --quiet -O out http://localhost:8080/nonexistent";
my $cmdline = $WgetTest::WGETPATH . " --quiet -O out http://localhost:8080/nonexistent";
my $expected_error_code = 256;
@ -40,7 +40,7 @@ my $the_test = HTTPTest->new (name => "Test-O-nonexisting",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-O.px Normal file → Executable file
View File

@ -23,7 +23,7 @@ my %urls = (
},
);
my $cmdline = "wget -O out http://localhost:8080/dummy.txt";
my $cmdline = $WgetTest::WGETPATH . " -O out http://localhost:8080/dummy.txt";
my $expected_error_code = 0;
@ -40,7 +40,7 @@ my $the_test = HTTPTest->new (name => "Test-O",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-Restrict-Lowercase.px Normal file → Executable file
View File

@ -32,7 +32,7 @@ my %urls = (
},
);
my $cmdline = "wget --restrict-file-names=lowercase http://localhost:8080/SomePage.html";
my $cmdline = $WgetTest::WGETPATH . " --restrict-file-names=lowercase http://localhost:8080/SomePage.html";
my $expected_error_code = 0;
@ -49,7 +49,7 @@ my $the_test = HTTPTest->new (name => "Test-Restrict-Lowercase",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-Restrict-Uppercase.px Normal file → Executable file
View File

@ -32,7 +32,7 @@ my %urls = (
},
);
my $cmdline = "wget --restrict-file-names=uppercase http://localhost:8080/SomePage.html";
my $cmdline = $WgetTest::WGETPATH . " --restrict-file-names=uppercase http://localhost:8080/SomePage.html";
my $expected_error_code = 0;
@ -49,7 +49,7 @@ my $the_test = HTTPTest->new (name => "Test-Restrict-Uppercase",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-c-full.px Normal file → Executable file
View File

@ -27,7 +27,7 @@ my %urls = (
},
);
my $cmdline = "wget -c http://localhost:8080/somefile.txt";
my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:8080/somefile.txt";
my $expected_error_code = 0;
@ -51,7 +51,7 @@ my $the_test = HTTPTest->new (name => "Test-c-full",
errcode => $expected_error_code,
existing => \%existing_files,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-c-partial.px Normal file → Executable file
View File

@ -32,7 +32,7 @@ my %urls = (
},
);
my $cmdline = "wget -c http://localhost:8080/somefile.txt";
my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:8080/somefile.txt";
my $expected_error_code = 0;
@ -56,7 +56,7 @@ my $the_test = HTTPTest->new (name => "Test-c-partial",
errcode => $expected_error_code,
existing => \%existing_files,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-c.px Normal file → Executable file
View File

@ -27,7 +27,7 @@ my %urls = (
},
);
my $cmdline = "wget -c http://localhost:8080/somefile.txt";
my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:8080/somefile.txt";
my $expected_error_code = 0;
@ -48,7 +48,7 @@ my $the_test = HTTPTest->new (name => "Test-c",
errcode => $expected_error_code,
existing => \%existing_files,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-ftp.px Normal file → Executable file
View File

@ -21,7 +21,7 @@ my %urls = (
},
);
my $cmdline = "wget -S ftp://localhost:8021/afile.txt";
my $cmdline = $WgetTest::WGETPATH . " -S ftp://localhost:8021/afile.txt";
my $expected_error_code = 0;
@ -38,7 +38,7 @@ my $the_test = FTPTest->new (name => "Test-ftp",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-nonexisting-quiet.px Normal file → Executable file
View File

@ -23,7 +23,7 @@ my %urls = (
},
);
my $cmdline = "wget --quiet http://localhost:8080/nonexistent";
my $cmdline = $WgetTest::WGETPATH . " --quiet http://localhost:8080/nonexistent";
my $expected_error_code = 256;
@ -37,7 +37,7 @@ my $the_test = HTTPTest->new (name => "Test-nonexisting-quiet",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-noop.px Normal file → Executable file
View File

@ -33,7 +33,7 @@ my %urls = (
},
);
my $cmdline = "wget http://localhost:8080/";
my $cmdline = $WgetTest::WGETPATH . " http://localhost:8080/";
my $expected_error_code = 0;
@ -50,7 +50,7 @@ my $the_test = HTTPTest->new (name => "Test-noop",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

4
tests/Test-np.px Normal file → Executable file
View File

@ -119,7 +119,7 @@ my %urls = (
},
);
my $cmdline = "wget -np -nH -r http://localhost:8080/firstlevel/";
my $cmdline = $WgetTest::WGETPATH . " -np -nH -r http://localhost:8080/firstlevel/";
my $expected_error_code = 0;
@ -142,7 +142,7 @@ my $the_test = HTTPTest->new (name => "Test-np",
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
$the_test->run();
exit $the_test->run();
# vim: et ts=4 sw=4

View File

@ -1,6 +1,6 @@
#!/usr/bin/perl -w
package Test;
package WgetTest;
$VERSION = 0.01;
use strict;
@ -8,6 +8,8 @@ use strict;
use Cwd;
use File::Path;
our $WGETPATH = "@top_srcdir@/src/wget";
my @unexpected_downloads = ();
{
@ -39,7 +41,7 @@ sub new {
my $caller_is_obj = ref($caller);
my $class = $caller_is_obj || $caller;
#print STDERR "class = ", $class, "\n";
#print STDERR "_attr_data {workdir} = ", $Test::_attr_data{_workdir}, "\n";
#print STDERR "_attr_data {workdir} = ", $WgetTest::_attr_data{_workdir}, "\n";
my $self = bless {}, $class;
foreach my $attrname ($self->_standard_keys()) {
#print STDERR "attrname = ", $attrname, " value = ";
@ -92,7 +94,8 @@ sub run {
unless ($errcode == $self->{_errcode}) {
$result_message = "Test failed: wrong code returned (was: $errcode, expected: $self->{_errcode})\n";
}
if (my $error_str = $self->_verify_download()) {
my $error_str;
if ($error_str = $self->_verify_download()) {
$result_message = $error_str;
}
@ -100,6 +103,7 @@ sub run {
$self->_cleanup();
print $result_message;
return $errcode != $self->{_errcode} || ($error_str ? 1 : 0);
}