]> sjero.net Git - wget/commitdiff
Allow proxied-https-auth test to function when building outside of source dir.
authorBenjamin Wolsey <bwy@benjaminwolsey.de>
Fri, 12 Jun 2009 07:06:10 +0000 (00:06 -0700)
committerBenjamin Wolsey <bwy@benjaminwolsey.de>
Fri, 12 Jun 2009 07:06:10 +0000 (00:06 -0700)
tests/ChangeLog
tests/Test-proxied-https-auth.px
tests/run-px

index 10fd1550d7b57db57ced4912300c388fda868474..2d0dc39239dd454b045c5b62575e23e72524893c 100644 (file)
@@ -1,3 +1,11 @@
+2009-06-11  Benjamin Wolsey <bwy@benjaminwolsey.de>
+
+       * Test-proxied-https-auth.px: Take an optional argument for the
+       top source directory, so we can find the cert and key.
+
+       * run-px: Provide the top source directory as an argument, so
+       scripts can find their way around.
+
 2009-04-11  Steven Schubiger  <stsc@member.fsf.org>
 
        * run-px: Skip testing with real rc files by setting 
index 4e3fb206dcdf8645a1815beead355aa3ce565c32..2b37f32b2feff30bac3be449244e765635bdcc11 100755 (executable)
@@ -5,6 +5,15 @@ use warnings;
 
 use WgetTest;  # For $WGETPATH.
 
+my $cert_path;
+my $key_path;
+
+if (@ARGV) {
+    my $top_srcdir = shift @ARGV;
+    $key_path = "$top_srcdir/tests/certs/server-key.pem";
+    $cert_path = "$top_srcdir/tests/certs/server-cert.pem";
+}
+
 # Have we even built an HTTPS-supporting Wget?
 {
     my @version_lines = `${WgetTest::WGETPATH} --version`;
@@ -55,8 +64,16 @@ sub do_server {
         $rspn = HTTP::Response->new(200, 'OK');
         $conn->send_response($rspn);
 
-        $conn = IO::Socket::SSL->new_from_fd($conn->fileno, SSL_server => 1,
-            SSL_passwd_cb => sub { return "Hello"; })
+        my %options = (
+            SSL_server => 1,
+            SSL_passwd_cb => sub { return "Hello"; });
+
+        $options{SSL_cert_file} = $cert_path if ($cert_path);
+        $options{SSL_key_file} = $key_path if ($key_path);
+
+        my @options = %options;
+
+        $conn = IO::Socket::SSL->new_from_fd($conn->fileno, @options)
             or die "Couldn't initiate SSL";
 
         $rqst = &get_request($conn)
index 0753c8ed319ed20580fb98c5880aaf621c601abd..33e4c60075f7b1c3a4a3a32e8ee88beedf6822a1 100755 (executable)
@@ -63,7 +63,7 @@ my @tested;
 
 foreach my $test (@tests) {
     print "Running $test\n\n";
-    system("$^X -I$top_srcdir/tests $top_srcdir/tests/$test");
+    system("$^X -I$top_srcdir/tests $top_srcdir/tests/$test $top_srcdir");
     push @tested, { name => $test, result => $? };
 }