Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(777)

Side by Side Diff: tests/language/full_stacktrace3_test.dart

Issue 12316116: Add functionality to get full stack trace when exceptions are thrown. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 void func1() {
kasperl 2013/04/08 14:07:52 Missing copyright notice?
2 throw new Exception("Test peanut gallery request for Full stacktrace");
3 }
4 void func2() {
5 func1();
6 }
7 void func3() {
8 try {
9 func2();
10 } on Object catch(e, s) {
11 print(e);
12 var full_trace = s.fullStackTrace;
kasperl 2013/04/08 14:07:52 fullTrace
13 Expect.isTrue(full_trace.contains("func1"));
14 Expect.isTrue(full_trace.contains("func2"));
15 Expect.isTrue(full_trace.contains("func3"));
16 Expect.isTrue(full_trace.contains("func4"));
17 Expect.isTrue(full_trace.contains("func5"));
18 Expect.isTrue(full_trace.contains("func6"));
19 Expect.isTrue(full_trace.contains("func7"));
20 Expect.isTrue(full_trace.contains("main"));
21
22 var trace = s.stackTrace;
23 Expect.isTrue(trace.contains("func1"));
24 Expect.isTrue(trace.contains("func2"));
25 Expect.isTrue(trace.contains("func3"));
26
27 Expect.isFalse(trace.contains("func4"));
28 Expect.isFalse(trace.contains("func5"));
29 Expect.isFalse(trace.contains("func6"));
30 Expect.isFalse(trace.contains("func7"));
31 Expect.isFalse(trace.contains("main"));
32
33 print(s);
34
35 print("Full stack trace");
36 print(full_trace);
37
38 print("Stack trace");
39 print(trace);
40 throw new Exception("This is not a rethrow");
41 }
42 }
43 int func4() {
44 func3();
45 return 1;
46 }
47 int func5() {
48 try {
49 func4();
50 } on Object catch(e, s) {
51 var full_trace = s.fullStackTrace;
kasperl 2013/04/08 14:07:52 fullTrace
52 Expect.isFalse(full_trace.contains("func1"));
53 Expect.isFalse(full_trace.contains("func2"));
54 Expect.isTrue(full_trace.contains("func3"));
55 Expect.isTrue(full_trace.contains("func4"));
56 Expect.isTrue(full_trace.contains("func5"));
57 Expect.isTrue(full_trace.contains("func6"));
58 Expect.isTrue(full_trace.contains("func7"));
59 Expect.isTrue(full_trace.contains("main"));
60
61 var trace = s.stackTrace;
62 Expect.isFalse(trace.contains("func1"));
63 Expect.isFalse(trace.contains("func2"));
64
65 Expect.isTrue(trace.contains("func3"));
66 Expect.isTrue(trace.contains("func4"));
67 Expect.isTrue(trace.contains("func5"));
68
69 Expect.isFalse(trace.contains("func6"));
70 Expect.isFalse(trace.contains("func7"));
71 Expect.isFalse(trace.contains("main"));
72
73 print(s);
74
75 print("Full stack trace");
76 print(full_trace);
77
78 print("Stack trace");
79 print(trace);
80 }
81 return 1;
82 }
83 int func6() {
84 func5();
85 return 1;
86 }
87 int func7() {
88 func6();
89 return 1;
90 }
91 main() {
92 var i = func7();
93 Expect.equals(1, i);
94 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698