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

Side by Side Diff: runtime/tests/vm/dart/optimized_stacktrace_line_and_column_test.dart

Issue 2759973004: Fix observatory tests broken by running dartfmt. Temporarily reverted formatting for evaluate_activ… (Closed)
Patch Set: Created 3 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 // Test correct source positions in stack trace with optimized functions. 4 // Test correct source positions in stack trace with optimized functions.
5 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 6
7 // (1) Test normal exception. 7 // (1) Test normal exception.
8 foo(x) => bar(x); 8 foo(x) => bar(x);
9 9
10 bar(x) { 10 bar(x) {
11 if (x == null) throw 42; // throw at position 11:18 11 if (x == null) throw 42; // throw at position 11:18
12 return x + 1; 12 return x + 1;
13 } 13 }
14 14
15 test1() { 15 test1() {
16 // First unoptimized. 16 // First unoptimized.
17 try { 17 try {
18 foo(null); 18 foo(null);
19 Expect.fail("Unreachable"); 19 Expect.fail("Unreachable");
20 } catch (e, stacktrace) { 20 } catch (e, stacktrace) {
21 String s = stacktrace.toString(); 21 String s = stacktrace.toString();
22 print(s); 22 print(s);
23 Expect.isFalse(s.contains("-1:-1"), "A"); 23 Expect.isFalse(s.contains("-1:-1"), "A");
24 Expect.isTrue(s.contains("optimized_stacktrace_line_and_column_test.dart:11: 18"), "B"); 24 Expect.isTrue(
25 s.contains("optimized_stacktrace_line_and_column_test.dart:11:18"),
26 "B");
25 } 27 }
26 28
27 // Optimized. 29 // Optimized.
28 for (var i=0; i<10000; i++) foo(42); 30 for (var i = 0; i < 10000; i++) foo(42);
29 try { 31 try {
30 foo(null); 32 foo(null);
31 Expect.fail("Unreachable"); 33 Expect.fail("Unreachable");
32 } catch (e, stacktrace) { 34 } catch (e, stacktrace) {
33 String s = stacktrace.toString(); 35 String s = stacktrace.toString();
34 print(s); 36 print(s);
35 Expect.isFalse(s.contains("-1:-1"), "C"); 37 Expect.isFalse(s.contains("-1:-1"), "C");
36 Expect.isTrue(s.contains("optimized_stacktrace_line_and_column_test.dart:11: 18"), "D"); 38 Expect.isTrue(
39 s.contains("optimized_stacktrace_line_and_column_test.dart:11:18"),
40 "D");
37 } 41 }
38 } 42 }
39 43
40
41 // (2) Test checked mode exceptions. 44 // (2) Test checked mode exceptions.
42 maximus(x) => moritz(x); 45 maximus(x) => moritz(x);
43 46
44 moritz(x) { 47 moritz(x) {
45 if (x == 333) return 42 ? 0 : 1; // Throws in checked mode. 48 if (x == 333) return 42 ? 0 : 1; // Throws in checked mode.
46 if (x == 777) { 49 if (x == 777) {
47 bool b = x; // Throws in checked mode. 50 bool b = x; // Throws in checked mode.
48 return b; 51 return b;
49 } 52 }
50 53
51 return x + 1; 54 return x + 1;
52 } 55 }
53 56
54 test2() { 57 test2() {
55 for (var i=0; i<100000; i++) maximus(42); 58 for (var i = 0; i < 100000; i++) maximus(42);
56 try { 59 try {
57 maximus(333); 60 maximus(333);
58 } catch (e, stacktrace) { 61 } catch (e, stacktrace) {
59 String s = stacktrace.toString(); 62 String s = stacktrace.toString();
60 print(s); 63 print(s);
61 Expect.isTrue(s.contains("maximus"), "E"); 64 Expect.isTrue(s.contains("maximus"), "E");
62 Expect.isTrue(s.contains("moritz"), "F"); 65 Expect.isTrue(s.contains("moritz"), "F");
63 Expect.isFalse(s.contains("-1:-1"), "G"); 66 Expect.isFalse(s.contains("-1:-1"), "G");
64 } 67 }
65 68
66 try { 69 try {
67 maximus(777); 70 maximus(777);
68 } catch (e, stacktrace) { 71 } catch (e, stacktrace) {
69 String s = stacktrace.toString(); 72 String s = stacktrace.toString();
70 print(s); 73 print(s);
71 Expect.isTrue(s.contains("maximus"), "H"); 74 Expect.isTrue(s.contains("maximus"), "H");
72 Expect.isTrue(s.contains("moritz"), "I"); 75 Expect.isTrue(s.contains("moritz"), "I");
73 Expect.isFalse(s.contains("-1:-1"), "J"); 76 Expect.isFalse(s.contains("-1:-1"), "J");
74 } 77 }
75 } 78 }
76 79
77 main() { 80 main() {
78 test1(); 81 test1();
79 test2(); 82 test2();
80 } 83 }
OLDNEW
« no previous file with comments | « runtime/tests/vm/dart/inline_stack_frame_test.dart ('k') | runtime/tests/vm/dart/optimized_stacktrace_line_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698