0d14e585fd
In general, a test which gets its input piped in is not really interacting with a terminal like it normally would. Thus, letting it think it has the same terminal as the environment is incorrect. More specifically, hphpd uses Readline, which inspects the TERM env var and based on that and a stunning array of other options will attempt to initialize the terminal with extra control characters on first use. It would be tough to try to control for all of the different options and ensure they're all the same, and honestly testing Readline is not the objective of our tests anyway. Thus, I'm forcing TERM to 'dumb' when a test has input to ensure a) a simple terminal which requires no control characters and b) consistency no matter what environment is present when the tests are run.
166 linhas
5.2 KiB
Plaintext
166 linhas
5.2 KiB
Plaintext
Program %s/exception1.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
|
exception MyException
|
|
Breakpoint 1 set right before throwing MyException
|
|
But note that class MyException has yet been loaded.
|
|
break list
|
|
1 ALWAYS right before throwing MyException (unbound)
|
|
run
|
|
Program %s/exception1.php exited normally.
|
|
exception NotAnException
|
|
Breakpoint 2 not set right before throwing NotAnException
|
|
Because class NotAnException is not an exception.
|
|
break list
|
|
1 ALWAYS right before throwing MyException
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
exception Exception
|
|
Breakpoint 1 set right before throwing Exception
|
|
break list
|
|
1 ALWAYS right before throwing Exception
|
|
@ throw_exception()
|
|
Breakpoint 1 reached: Throwing Exception at throw_exception() on line 11 of %s/exception1.php
|
|
10 function throw_exception() {
|
|
11 throw new Exception();
|
|
12 }
|
|
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit a php exception : exception 'Exception' with message '' in %s/exception1.php:11
|
|
Stack trace:
|
|
#0 (1): throw_exception()
|
|
#1 (1): include()
|
|
#2 {main}
|
|
exception MyException
|
|
Breakpoint 1 set right before throwing MyException
|
|
@ throw_myexception()
|
|
Breakpoint 1 reached: Throwing MyException at throw_myexception() on line 15 of %s/exception1.php
|
|
14 function throw_myexception() {
|
|
15 throw new MyException();
|
|
16 }
|
|
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit a php exception : exception 'MyException' with message '' in %s/exception1.php:15
|
|
Stack trace:
|
|
#0 (1): throw_myexception()
|
|
#1 (1): include()
|
|
#2 {main}
|
|
exception error
|
|
Breakpoint 1 set right after an error
|
|
@ error_undefined_class()
|
|
Breakpoint 1 reached: An error occurred at error_undefined_class() on line 19 of %s/exception1.php
|
|
18 function error_undefined_class() {
|
|
19 $x = new NoSuchClass();
|
|
20 }
|
|
|
|
Error Message: Class undefined: NoSuchClass
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit fatal : Class undefined: NoSuchClass
|
|
#0 at %s/exception1.php:19]
|
|
#1 error_undefined_class(), called at [:1]
|
|
#2 include(), called at [:1]
|
|
|
|
exception Exception
|
|
Breakpoint 1 set right before throwing Exception
|
|
@ \Outer\throw_exception()
|
|
Breakpoint 1 reached: Throwing Exception at Outer\throw_exception() on line 29 of %s/exception1.php
|
|
28 function throw_exception() {
|
|
29 throw new \Exception();
|
|
30 }
|
|
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit a php exception : exception 'Exception' with message '' in %s/exception1.php:29
|
|
Stack trace:
|
|
#0 (1): Outer\throw_exception()
|
|
#1 (1): include()
|
|
#2 {main}
|
|
exception \Outer\MyException
|
|
Breakpoint 1 set right before throwing Outer\MyException
|
|
@ Outer\throw_myexception()
|
|
Breakpoint 1 reached: Throwing Outer\MyException at Outer\throw_myexception() on line 33 of %s/exception1.php
|
|
32 function throw_myexception() {
|
|
33 throw new MyException();
|
|
34 }
|
|
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit a php exception : exception 'Outer\MyException' with message '' in %s/exception1.php:33
|
|
Stack trace:
|
|
#0 (1): Outer\throw_myexception()
|
|
#1 (1): include()
|
|
#2 {main}
|
|
exception error
|
|
Breakpoint 1 set right after an error
|
|
@ \Outer\error_undefined_class()
|
|
Breakpoint 1 reached: An error occurred at Outer\error_undefined_class() on line 37 of %s/exception1.php
|
|
36 function error_undefined_class() {
|
|
37 $x = new NoSuchClass();
|
|
38 }
|
|
|
|
Error Message: Class undefined: Outer\NoSuchClass
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit fatal : Class undefined: Outer\NoSuchClass
|
|
#0 at %s/exception1.php:37]
|
|
#1 Outer\error_undefined_class(), called at [:1]
|
|
#2 include(), called at [:1]
|
|
|
|
exception Exception
|
|
Breakpoint 1 set right before throwing Exception
|
|
@ \Outer\Inner\throw_exception()
|
|
Breakpoint 1 reached: Throwing Exception at Outer\Inner\throw_exception() on line 47 of %s/exception1.php
|
|
46 function throw_exception() {
|
|
47 throw new \Exception();
|
|
48 }
|
|
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit a php exception : exception 'Exception' with message '' in %s/exception1.php:47
|
|
Stack trace:
|
|
#0 (1): Outer\Inner\throw_exception()
|
|
#1 (1): include()
|
|
#2 {main}
|
|
exception Outer\Inner\MyException
|
|
Breakpoint 1 set right before throwing Outer\Inner\MyException
|
|
@ Outer\Inner\throw_myexception()
|
|
Breakpoint 1 reached: Throwing Outer\Inner\MyException at Outer\Inner\throw_myexception() on line 51 of %s/exception1.php
|
|
50 function throw_myexception() {
|
|
51 throw new MyException();
|
|
52 }
|
|
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit a php exception : exception 'Outer\Inner\MyException' with message '' in %s/exception1.php:51
|
|
Stack trace:
|
|
#0 (1): Outer\Inner\throw_myexception()
|
|
#1 (1): include()
|
|
#2 {main}
|
|
exception error
|
|
Breakpoint 1 set right after an error
|
|
@ \Outer\Inner\error_undefined_class()
|
|
Breakpoint 1 reached: An error occurred at Outer\Inner\error_undefined_class() on line 55 of %s/exception1.php
|
|
54 function error_undefined_class() {
|
|
55 $x = new NoSuchClass();
|
|
56 }
|
|
|
|
Error Message: Class undefined: Outer\Inner\NoSuchClass
|
|
break clear all
|
|
All breakpoints are cleared.
|
|
continue
|
|
Hit fatal : Class undefined: Outer\Inner\NoSuchClass
|
|
#0 at %s/exception1.php:55]
|
|
#1 Outer\Inner\error_undefined_class(), called at [:1]
|
|
#2 include(), called at [:1]
|
|
|
|
quit
|