Commit:    dde552f2ee921550646c4236471c1252a9534b52
Author:    Xinchen Hui <larue...@gmail.com>         Fri, 13 Dec 2013 01:45:45 
+0800
Parents:   54213b462d725aa10088909feceac63aaa1896d8
Branches:  PHP-5.5

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=dde552f2ee921550646c4236471c1252a9534b52

Log:
Add Tests for #65784 in 5.5

Bugs:
https://bugs.php.net/65784

Changed paths:
  A  Zend/tests/bug65784.phpt


Diff:
diff --git a/Zend/tests/bug65784.phpt b/Zend/tests/bug65784.phpt
new file mode 100644
index 0000000..adc3411
--- /dev/null
+++ b/Zend/tests/bug65784.phpt
@@ -0,0 +1,62 @@
+--TEST--
+Fixed Bug #65784 (Segfault with finally)
+--XFAIL--
+This bug is not fixed in 5.5 due to ABI BC
+--FILE--
+<?php
+function foo1() {
+       try {
+               throw new Exception("not catch");
+               return true;
+       } finally {
+               try {
+                       throw new Exception("catched");
+               } catch (Exception $e) {
+               }
+       }
+}
+try {
+       $foo = foo1();
+       var_dump($foo);
+} catch (Exception $e) {
+       do {
+               var_dump($e->getMessage());
+       } while ($e = $e->getPrevious());
+}
+
+function foo2() {
+       try  {
+               try {
+                       throw new Exception("catched");
+                       return true;
+               } finally {
+                       try {
+                               throw new Exception("catched");
+                       } catch (Exception $e) {
+                       }
+               }
+       } catch (Exception $e) {
+       }
+}
+
+$foo = foo2();
+var_dump($foo);
+
+function foo3() {
+       try {
+               throw new Exception("not catched");
+               return true;
+       } finally {
+               try {
+                       throw new NotExists();
+               } catch (Exception $e) {
+               }
+       }
+}
+
+$bar = foo3();
+--EXPECTF--
+string(9) "not catch"
+NULL
+
+Fatal error: Class 'NotExists' not found in %sbug65784.php on line %d


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to