]> granicus.if.org Git - php/commitdiff
Fixed bug #62148 mail_skipif doesn't skip imap tests on Release Build
authorMatt Ficken <mattficken@php.net>
Fri, 25 May 2012 08:34:33 +0000 (10:34 +0200)
committerAnatoliy Belsky <ab@php.net>
Fri, 25 May 2012 08:34:33 +0000 (10:34 +0200)
ext/standard/tests/mail/mail_skipif.inc

index 2f4fbf3d6f3f30a67567fb04144144fef384be11..006594021d28e0eb3a26bca83e1f0b2662eceafd 100644 (file)
@@ -1,5 +1,15 @@
 <?php
 extension_loaded('imap') or die('skip imap extension not available in this build');
+
+if( substr(PHP_OS, 0, 3) == 'WIN' && extension_loaded('sockets')) {
+       // be sure mail server is accessible... on PHP 5.3.13 release build, using test-pack PHP-5.3-r1af8b3f,
+       // the code below didn't skip test even though there was no mail server
+       //     test then failed (no mail server to test against)
+       $socket  = socket_create(AF_INET, SOCK_RAW, 1);
+       socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 10, 'usec' => 10));
+       // imap uses tcp port 143
+       socket_connect($socket, "localhost", 143) or die ("skip can't socket to mail server");
+}
  
 // Change these to make tests run successfully
 $mailbox  = '{localhost}';