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.
471 linhas
12 KiB
Plaintext
471 linhas
12 KiB
Plaintext
Program %s/flow_excep.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
|
break main()
|
|
Breakpoint 1 set upon entering main()
|
|
But wont break until function main has been loaded.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
next
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
Break at main() on line 56 of %s/flow_excep.php
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
57
|
|
|
|
next
|
|
int(3)
|
|
Break at main() on line 58 of %s/flow_excep.php
|
|
57
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
|
|
next
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Caught Thrown from foo 7 in foo()
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
Break at main() on line 59 of %s/flow_excep.php
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
60 }
|
|
|
|
continue
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
step
|
|
Break at throwFromCallee() on line 30 of %s/flow_excep.php
|
|
29 function throwFromCallee($a) {
|
|
30 $x = $a + 1;
|
|
31 try {
|
|
|
|
out
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
Break at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
next 2
|
|
int(3)
|
|
Break at main() on line 58 of %s/flow_excep.php
|
|
57
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
|
|
step
|
|
Break at foo() on line 41 of %s/flow_excep.php
|
|
40 function foo($a) {
|
|
41 $x = $a + 1;
|
|
42 $x = throwAndCatch($x);
|
|
|
|
next
|
|
Break at foo() on line 42 of %s/flow_excep.php
|
|
41 $x = $a + 1;
|
|
42 $x = throwAndCatch($x);
|
|
43 try {
|
|
|
|
step
|
|
Break at throwAndCatch() on line 13 of %s/flow_excep.php
|
|
12 function throwAndCatch($a) {
|
|
13 $x = $a + 1;
|
|
14 try {
|
|
|
|
out
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Break at foo() on line 42 of %s/flow_excep.php
|
|
41 $x = $a + 1;
|
|
42 $x = throwAndCatch($x);
|
|
43 try {
|
|
|
|
out
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Caught Thrown from foo 7 in foo()
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
Break at main() on line 58 of %s/flow_excep.php
|
|
57
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
|
|
continue
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
step
|
|
Break at throwFromCallee() on line 30 of %s/flow_excep.php
|
|
29 function throwFromCallee($a) {
|
|
30 $x = $a + 1;
|
|
31 try {
|
|
|
|
next
|
|
Break at throwFromCallee() on line 32 of %s/flow_excep.php
|
|
31 try {
|
|
32 throwNoCatch($x);
|
|
33 } catch (Ex1 $e) {
|
|
|
|
next
|
|
Break at throwFromCallee() on line 31 of %s/flow_excep.php
|
|
30 $x = $a + 1;
|
|
31 try {
|
|
32 throwNoCatch($x);
|
|
33 } catch (Ex1 $e) {
|
|
34 printf("Caught %s in throwFromCallee()\n", $e->getMessage());
|
|
35 $x++;
|
|
36 }
|
|
37 return $x;
|
|
|
|
next
|
|
Break at throwFromCallee() on line 34 of %s/flow_excep.php
|
|
33 } catch (Ex1 $e) {
|
|
34 printf("Caught %s in throwFromCallee()\n", $e->getMessage());
|
|
35 $x++;
|
|
|
|
next
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
Break at throwFromCallee() on line 35 of %s/flow_excep.php
|
|
34 printf("Caught %s in throwFromCallee()\n", $e->getMessage());
|
|
35 $x++;
|
|
36 }
|
|
|
|
continue
|
|
int(3)
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Caught Thrown from foo 7 in foo()
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
step
|
|
Break at throwFromCallee() on line 30 of %s/flow_excep.php
|
|
29 function throwFromCallee($a) {
|
|
30 $x = $a + 1;
|
|
31 try {
|
|
|
|
next
|
|
Break at throwFromCallee() on line 32 of %s/flow_excep.php
|
|
31 try {
|
|
32 throwNoCatch($x);
|
|
33 } catch (Ex1 $e) {
|
|
|
|
step
|
|
Break at throwNoCatch() on line 24 of %s/flow_excep.php
|
|
23 function throwNoCatch($a) {
|
|
24 $x = $a + 1;
|
|
25 $e = new Ex1('Thrown from throwNoCatch '.$x);
|
|
|
|
out
|
|
Break at throwFromCallee() on line 31 of %s/flow_excep.php
|
|
30 $x = $a + 1;
|
|
31 try {
|
|
32 throwNoCatch($x);
|
|
33 } catch (Ex1 $e) {
|
|
34 printf("Caught %s in throwFromCallee()\n", $e->getMessage());
|
|
35 $x++;
|
|
36 }
|
|
37 return $x;
|
|
|
|
next
|
|
Break at throwFromCallee() on line 34 of %s/flow_excep.php
|
|
33 } catch (Ex1 $e) {
|
|
34 printf("Caught %s in throwFromCallee()\n", $e->getMessage());
|
|
35 $x++;
|
|
|
|
out
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
Break at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
continue
|
|
int(3)
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Caught Thrown from foo 7 in foo()
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
step
|
|
Break at throwFromCallee() on line 30 of %s/flow_excep.php
|
|
29 function throwFromCallee($a) {
|
|
30 $x = $a + 1;
|
|
31 try {
|
|
|
|
next
|
|
Break at throwFromCallee() on line 32 of %s/flow_excep.php
|
|
31 try {
|
|
32 throwNoCatch($x);
|
|
33 } catch (Ex1 $e) {
|
|
|
|
step
|
|
Break at throwNoCatch() on line 24 of %s/flow_excep.php
|
|
23 function throwNoCatch($a) {
|
|
24 $x = $a + 1;
|
|
25 $e = new Ex1('Thrown from throwNoCatch '.$x);
|
|
|
|
next
|
|
Break at throwNoCatch() on line 25 of %s/flow_excep.php
|
|
24 $x = $a + 1;
|
|
25 $e = new Ex1('Thrown from throwNoCatch '.$x);
|
|
26 throw $e;
|
|
|
|
next
|
|
Break at throwNoCatch() on line 26 of %s/flow_excep.php
|
|
25 $e = new Ex1('Thrown from throwNoCatch '.$x);
|
|
26 throw $e;
|
|
27 }
|
|
|
|
step
|
|
Break at throwFromCallee() on line 31 of %s/flow_excep.php
|
|
30 $x = $a + 1;
|
|
31 try {
|
|
32 throwNoCatch($x);
|
|
33 } catch (Ex1 $e) {
|
|
34 printf("Caught %s in throwFromCallee()\n", $e->getMessage());
|
|
35 $x++;
|
|
36 }
|
|
37 return $x;
|
|
|
|
step
|
|
Break at throwFromCallee() on line 34 of %s/flow_excep.php
|
|
33 } catch (Ex1 $e) {
|
|
34 printf("Caught %s in throwFromCallee()\n", $e->getMessage());
|
|
35 $x++;
|
|
|
|
continue
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
int(3)
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Caught Thrown from foo 7 in foo()
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
next 2
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
int(3)
|
|
Break at main() on line 58 of %s/flow_excep.php
|
|
57
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
|
|
step
|
|
Break at foo() on line 41 of %s/flow_excep.php
|
|
40 function foo($a) {
|
|
41 $x = $a + 1;
|
|
42 $x = throwAndCatch($x);
|
|
|
|
next 2
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Break at foo() on line 44 of %s/flow_excep.php
|
|
43 try {
|
|
44 $x = throwAndCatch($x);
|
|
45 throw new Ex1('Thrown from foo '.$x);
|
|
|
|
step
|
|
Break at throwAndCatch() on line 13 of %s/flow_excep.php
|
|
12 function throwAndCatch($a) {
|
|
13 $x = $a + 1;
|
|
14 try {
|
|
|
|
next
|
|
Break at throwAndCatch() on line 15 of %s/flow_excep.php
|
|
14 try {
|
|
15 throw new Ex2('Thrown from throwAndCatch '.$x);
|
|
16 } catch (Ex2 $e) {
|
|
|
|
next
|
|
Break at throwAndCatch() on line 14 of %s/flow_excep.php
|
|
13 $x = $a + 1;
|
|
14 try {
|
|
15 throw new Ex2('Thrown from throwAndCatch '.$x);
|
|
16 } catch (Ex2 $e) {
|
|
17 printf("Caught %s in throwAndCatch()\n", $e->getMessage());
|
|
18 $x++;
|
|
19 }
|
|
20 return $x;
|
|
|
|
next
|
|
Break at throwAndCatch() on line 17 of %s/flow_excep.php
|
|
16 } catch (Ex2 $e) {
|
|
17 printf("Caught %s in throwAndCatch()\n", $e->getMessage());
|
|
18 $x++;
|
|
|
|
out
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Break at foo() on line 44 of %s/flow_excep.php
|
|
43 try {
|
|
44 $x = throwAndCatch($x);
|
|
45 throw new Ex1('Thrown from foo '.$x);
|
|
|
|
next
|
|
Break at foo() on line 45 of %s/flow_excep.php
|
|
44 $x = throwAndCatch($x);
|
|
45 throw new Ex1('Thrown from foo '.$x);
|
|
46 } catch (Exception $e) {
|
|
|
|
next
|
|
Break at foo() on line 43 of %s/flow_excep.php
|
|
42 $x = throwAndCatch($x);
|
|
43 try {
|
|
44 $x = throwAndCatch($x);
|
|
45 throw new Ex1('Thrown from foo '.$x);
|
|
46 } catch (Exception $e) {
|
|
47 printf("Caught %s in foo()\n", $e->getMessage());
|
|
48 $x = throwAndCatch($x);
|
|
49 $x++;
|
|
50 }
|
|
51 return $x;
|
|
|
|
next
|
|
Break at foo() on line 47 of %s/flow_excep.php
|
|
46 } catch (Exception $e) {
|
|
47 printf("Caught %s in foo()\n", $e->getMessage());
|
|
48 $x = throwAndCatch($x);
|
|
|
|
out
|
|
Caught Thrown from foo 7 in foo()
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
Break at main() on line 58 of %s/flow_excep.php
|
|
57
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
|
|
continue
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
next 2
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
int(3)
|
|
Break at main() on line 58 of %s/flow_excep.php
|
|
57
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
|
|
step
|
|
Break at foo() on line 41 of %s/flow_excep.php
|
|
40 function foo($a) {
|
|
41 $x = $a + 1;
|
|
42 $x = throwAndCatch($x);
|
|
|
|
next 6
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Caught Thrown from foo 7 in foo()
|
|
Break at foo() on line 48 of %s/flow_excep.php
|
|
47 printf("Caught %s in foo()\n", $e->getMessage());
|
|
48 $x = throwAndCatch($x);
|
|
49 $x++;
|
|
|
|
next
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
Break at foo() on line 49 of %s/flow_excep.php
|
|
48 $x = throwAndCatch($x);
|
|
49 $x++;
|
|
50 }
|
|
|
|
continue
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
next 2
|
|
Caught Thrown from throwNoCatch 3 in throwFromCallee()
|
|
int(3)
|
|
Break at main() on line 58 of %s/flow_excep.php
|
|
57
|
|
58 $x = foo(2);
|
|
59 var_dump($x);
|
|
|
|
step
|
|
Break at foo() on line 41 of %s/flow_excep.php
|
|
40 function foo($a) {
|
|
41 $x = $a + 1;
|
|
42 $x = throwAndCatch($x);
|
|
|
|
next 6
|
|
Caught Thrown from throwAndCatch 4 in throwAndCatch()
|
|
Caught Thrown from throwAndCatch 6 in throwAndCatch()
|
|
Caught Thrown from foo 7 in foo()
|
|
Break at foo() on line 48 of %s/flow_excep.php
|
|
47 printf("Caught %s in foo()\n", $e->getMessage());
|
|
48 $x = throwAndCatch($x);
|
|
49 $x++;
|
|
|
|
step
|
|
Break at throwAndCatch() on line 13 of %s/flow_excep.php
|
|
12 function throwAndCatch($a) {
|
|
13 $x = $a + 1;
|
|
14 try {
|
|
|
|
next
|
|
Break at throwAndCatch() on line 15 of %s/flow_excep.php
|
|
14 try {
|
|
15 throw new Ex2('Thrown from throwAndCatch '.$x);
|
|
16 } catch (Ex2 $e) {
|
|
|
|
out
|
|
Caught Thrown from throwAndCatch 8 in throwAndCatch()
|
|
Break at foo() on line 48 of %s/flow_excep.php
|
|
47 printf("Caught %s in foo()\n", $e->getMessage());
|
|
48 $x = throwAndCatch($x);
|
|
49 $x++;
|
|
|
|
next
|
|
Break at foo() on line 49 of %s/flow_excep.php
|
|
48 $x = throwAndCatch($x);
|
|
49 $x++;
|
|
50 }
|
|
|
|
continue
|
|
int(10)
|
|
Program %s/flow_excep.php exited normally.
|
|
run
|
|
Breakpoint 1 reached at main() on line 55 of %s/flow_excep.php
|
|
54 function main() {
|
|
55 $x = throwFromCallee(1);
|
|
56 var_dump($x);
|
|
|
|
quit
|