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

Side by Side Diff: tests/language/full_stacktrace2_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 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
13 var full_trace = s.fullStackTrace;
kasperl 2013/04/08 14:07:52 fullTrace
14 Expect.isTrue(full_trace.contains("func1"));
15 Expect.isTrue(full_trace.contains("func2"));
16 Expect.isTrue(full_trace.contains("func3"));
17 Expect.isTrue(full_trace.contains("func4"));
18 Expect.isTrue(full_trace.contains("func5"));
19 Expect.isTrue(full_trace.contains("func6"));
20 Expect.isTrue(full_trace.contains("func7"));
21 Expect.isTrue(full_trace.contains("main"));
22
23 var trace = s.stackTrace;
24 Expect.isTrue(trace.contains("func1"));
25 Expect.isTrue(trace.contains("func2"));
26 Expect.isTrue(trace.contains("func3"));
27
28 Expect.isFalse(trace.contains("func4"));
29 Expect.isFalse(trace.contains("func5"));
30 Expect.isFalse(trace.contains("func6"));
31 Expect.isFalse(trace.contains("func7"));
32 Expect.isFalse(trace.contains("main"));
33
34 print(s);
35
36 print("Full stack trace");
37 print(full_trace);
38
39 print("Stack trace");
40 print(trace);
41
42 throw; // This is a rethrow.
43 }
44 }
45 int func4() {
46 func3();
47 return 1;
48 }
49 int func5() {
50 try {
51 func4();
52 } on Object catch(e, s) {
53
54 var full_trace = s.fullStackTrace;
55 print(full_trace);
kasperl 2013/04/08 14:07:52 fullTrace
56 Expect.isTrue(full_trace.contains("func1"));
57 Expect.isTrue(full_trace.contains("func2"));
58 Expect.isTrue(full_trace.contains("func3"));
59 Expect.isTrue(full_trace.contains("func4"));
60 Expect.isTrue(full_trace.contains("func5"));
61 Expect.isTrue(full_trace.contains("func6"));
62 Expect.isTrue(full_trace.contains("func7"));
63 Expect.isTrue(full_trace.contains("main"));
64
65 var trace = s.stackTrace;
66 Expect.isTrue(trace.contains("func1"));
67 Expect.isTrue(trace.contains("func2"));
68 Expect.isTrue(trace.contains("func3"));
69 Expect.isTrue(trace.contains("func4"));
70 Expect.isTrue(trace.contains("func5"));
71
72 Expect.isFalse(trace.contains("func6"));
73 Expect.isFalse(trace.contains("func7"));
74 Expect.isFalse(trace.contains("main"));
75
76 print(s);
77
78 print("Full stack trace");
79 print(full_trace);
80
81 print("Stack trace");
82 print(trace);
83 }
84 return 1;
85 }
86 int func6() {
87 func5();
88 return 1;
89 }
90 int func7() {
91 func6();
92 return 1;
93 }
94 main() {
95 var i = func7();
96 Expect.equals(1, i);
97 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698