From: Micah Cowan Date: Sat, 5 Sep 2009 01:32:52 +0000 (-0700) Subject: Error-checking improvements to WgetTest.pm. X-Git-Tag: v1.13~248^2~3 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=1fe5ddb7feb233de8b312c24a2b3a482316026aa Error-checking improvements to WgetTest.pm. --- diff --git a/tests/ChangeLog b/tests/ChangeLog index 702c9d73..9b3cbe07 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +2009-09-04 Micah Cowan + + * WgetTest.pm.in (run): Error-checking improvements. + 2009-09-02 Micah Cowan * Makefile.am (unit-tests): explicit dependency is diff --git a/tests/WgetTest.pm.in b/tests/WgetTest.pm.in index c4c0d4d9..01657412 100644 --- a/tests/WgetTest.pm.in +++ b/tests/WgetTest.pm.in @@ -69,12 +69,18 @@ sub new { sub run { my $self = shift; my $result_message = "Test successful.\n"; + my $errcode; printf "Running test $self->{_name}\n"; # Setup - $self->_setup(); + my $new_result = $self->_setup(); chdir ("$self->{_workdir}/$self->{_name}/input"); + if (defined $new_result) { + $result_message = $new_result; + $errcode = 1; + goto cleanup; + } # Launch server my $pid = $self->_fork_and_launch_server(); @@ -84,7 +90,7 @@ sub run { my $cmdline = $self->{_cmdline}; $cmdline = $self->_substitute_port($cmdline); print "Calling $cmdline\n"; - my $errcode = + $errcode = ($cmdline =~ m{^/.*}) ? system ($cmdline) : system ("$self->{_workdir}/../src/$cmdline"); @@ -99,13 +105,14 @@ sub run { # Verify download unless ($errcode == $self->{_errcode}) { $result_message = "Test failed: wrong code returned (was: $errcode, expected: $self->{_errcode})\n"; + goto cleanup; } my $error_str; if ($error_str = $self->_verify_download()) { $result_message = $error_str; } - # Cleanup + cleanup: $self->_cleanup(); print $result_message; @@ -144,9 +151,10 @@ sub _setup { } chdir ("../input"); - $self->_setup_server(); + my $ret = $self->_setup_server(); chdir ($self->{_workdir}); + return $ret; }