]> granicus.if.org Git - php/commitdiff
Fixed bug #46845 Test expected to fail, but pass, don't cause error
authorZoe Slattery <zoe@php.net>
Wed, 31 Dec 2008 17:32:54 +0000 (17:32 +0000)
committerZoe Slattery <zoe@php.net>
Wed, 31 Dec 2008 17:32:54 +0000 (17:32 +0000)
run-tests.php

index d8f0acc538086a048ba73f23df78599465f53e3d..0c2ecb942dcb8a39dc64cbcc3fd202ca85e5f167 100755 (executable)
@@ -1786,10 +1786,16 @@ COMMAND $cmd
                        if (isset($old_php)) {
                                $php = $old_php;
                        }
-                       if (!$leaked && !$failed_headers) {
-                               show_result("PASS", $tested, $tested_file, '', $temp_filenames);
-                               return 'PASSED';
-                       }
+
+                        if (!$leaked && !$failed_headers) {
+                            if (isset($section_text['XFAIL'] )) {
+                                $warn = true;
+                                $info = " (warn: XFAIL section but test passes)";
+                            }else {
+                                show_result("PASS", $tested, $tested_file, '', $temp_filenames);
+                                return 'PASSED';
+                            }
+                        }
                }
 
        } else {
@@ -1810,9 +1816,14 @@ COMMAND $cmd
                                $php = $old_php;
                        }
 
-                       if (!$leaked && !$failed_headers) {
-                               show_result("PASS", $tested, $tested_file, '', $temp_filenames);
-                               return 'PASSED';
+                        if (!$leaked && !$failed_headers) {
+                            if (isset($section_text['XFAIL'] )) {
+                                $warn = true;
+                                $info = " (warn: XFAIL section but test passes)";
+                            }else {
+                                show_result("PASS", $tested, $tested_file, '', $temp_filenames);
+                                return 'PASSED';
+                            }
                        }
                }