| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 | 4 |
| 5 // The following set of variables should be set by the caller that | 5 // The following set of variables should be set by the caller that |
| 6 // #sources this file. | 6 // #sources this file. |
| 7 /** Whether to include elapsed time. */ | 7 /** Whether to include elapsed time. */ |
| 8 | 8 |
| 9 part of test_controller; | 9 part of test_controller; |
| 10 | 10 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 String baseUrl; | 35 String baseUrl; |
| 36 | 36 |
| 37 /** The print function to use. */ | 37 /** The print function to use. */ |
| 38 Function tprint; | 38 Function tprint; |
| 39 | 39 |
| 40 /** A callback function to notify the caller we are done. */ | 40 /** A callback function to notify the caller we are done. */ |
| 41 Function notifyDone; | 41 Function notifyDone; |
| 42 | 42 |
| 43 // Variable below here are local to this file. | 43 // Variable below here are local to this file. |
| 44 var passCount = 0, failCount = 0, errorCount = 0; | 44 var passCount = 0, failCount = 0, errorCount = 0; |
| 45 Date start; | 45 DateTime start; |
| 46 | 46 |
| 47 class Macros { | 47 class Macros { |
| 48 static const String testTime = '<TIME>'; | 48 static const String testTime = '<TIME>'; |
| 49 static const String testfile = '<FILENAME>'; | 49 static const String testfile = '<FILENAME>'; |
| 50 static const String testGroup = '<GROUPNAME>'; | 50 static const String testGroup = '<GROUPNAME>'; |
| 51 static const String testDescription = '<TESTNAME>'; | 51 static const String testDescription = '<TESTNAME>'; |
| 52 static const String testMessage = '<MESSAGE>'; | 52 static const String testMessage = '<MESSAGE>'; |
| 53 static const String testStacktrace = '<STACK>'; | 53 static const String testStacktrace = '<STACK>'; |
| 54 } | 54 } |
| 55 | 55 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 72 var idx = label.lastIndexOf('###'); | 72 var idx = label.lastIndexOf('###'); |
| 73 var group = '', test = ''; | 73 var group = '', test = ''; |
| 74 if (idx >= 0) { | 74 if (idx >= 0) { |
| 75 group = '${label.substring(0, idx).replaceAll("###", " ")} '; | 75 group = '${label.substring(0, idx).replaceAll("###", " ")} '; |
| 76 test = '${label.substring(idx+3)} '; | 76 test = '${label.substring(idx+3)} '; |
| 77 } else { | 77 } else { |
| 78 test = '$label '; | 78 test = '$label '; |
| 79 } | 79 } |
| 80 var elapsed = ''; | 80 var elapsed = ''; |
| 81 if (includeTime) { | 81 if (includeTime) { |
| 82 var end = new Date.now(); | 82 var end = new DateTime.now(); |
| 83 double duration = (end.difference(start)).inMilliseconds.toDouble(); | 83 double duration = (end.difference(start)).inMilliseconds.toDouble(); |
| 84 duration /= 1000; | 84 duration /= 1000; |
| 85 elapsed = '${duration.toStringAsFixed(3)}s '; | 85 elapsed = '${duration.toStringAsFixed(3)}s '; |
| 86 } | 86 } |
| 87 tprint(formatMessage('$testfile ', group, test, elapsed, result, message)); | 87 tprint(formatMessage('$testfile ', group, test, elapsed, result, message)); |
| 88 } | 88 } |
| 89 | 89 |
| 90 pass(start, label) { | 90 pass(start, label) { |
| 91 ++passCount; | 91 ++passCount; |
| 92 outputResult(start, label, 'pass'); | 92 outputResult(start, label, 'pass'); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 120 complete() { | 120 complete() { |
| 121 if (summarize) { | 121 if (summarize) { |
| 122 printSummary(testfile, passCount, failCount, errorCount); | 122 printSummary(testfile, passCount, failCount, errorCount); |
| 123 } | 123 } |
| 124 notifyDone(failCount > 0 ? -1 : 0); | 124 notifyDone(failCount > 0 ? -1 : 0); |
| 125 } | 125 } |
| 126 | 126 |
| 127 runTextLayoutTest(testNum) { | 127 runTextLayoutTest(testNum) { |
| 128 var url = '$baseUrl?test=$testNum'; | 128 var url = '$baseUrl?test=$testNum'; |
| 129 var stdout = new List(); | 129 var stdout = new List(); |
| 130 start = new Date.now(); | 130 start = new DateTime.now(); |
| 131 Process.start(drt, [url]).then((process) { | 131 Process.start(drt, [url]).then((process) { |
| 132 // Drain stderr to not leak resources. | 132 // Drain stderr to not leak resources. |
| 133 process.stderr.onData = process.stderr.read; | 133 process.stderr.onData = process.stderr.read; |
| 134 StringInputStream stdoutStringStream = | 134 StringInputStream stdoutStringStream = |
| 135 new StringInputStream(process.stdout); | 135 new StringInputStream(process.stdout); |
| 136 stdoutStringStream.onLine = () { | 136 stdoutStringStream.onLine = () { |
| 137 if (stdoutStringStream.closed) return; | 137 if (stdoutStringStream.closed) return; |
| 138 var line = stdoutStringStream.readLine(); | 138 var line = stdoutStringStream.readLine(); |
| 139 while (null != line) { | 139 while (null != line) { |
| 140 stdout.add(line); | 140 stdout.add(line); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 if (!done) error(start, label, 'Failed to parse output'); | 206 if (!done) error(start, label, 'Failed to parse output'); |
| 207 runTextLayoutTest(testNum + 1); | 207 runTextLayoutTest(testNum + 1); |
| 208 } | 208 } |
| 209 }; | 209 }; |
| 210 }); | 210 }); |
| 211 } | 211 } |
| 212 | 212 |
| 213 runPixelLayoutTest(int testNum) { | 213 runPixelLayoutTest(int testNum) { |
| 214 var url = '$baseUrl?test=$testNum'; | 214 var url = '$baseUrl?test=$testNum'; |
| 215 var stdout = new List(); | 215 var stdout = new List(); |
| 216 start = new Date.now(); | 216 start = new DateTime.now(); |
| 217 Process.start(drt, ["$url'-p"]).then((process) { | 217 Process.start(drt, ["$url'-p"]).then((process) { |
| 218 // Drain stderr to not leak resources. | 218 // Drain stderr to not leak resources. |
| 219 process.stderr.onData = process.stderr.read; | 219 process.stderr.onData = process.stderr.read; |
| 220 ListInputStream stdoutStream = process.stdout; | 220 ListInputStream stdoutStream = process.stdout; |
| 221 stdoutStream.onData = () { | 221 stdoutStream.onData = () { |
| 222 if (!stdoutStream.closed) { | 222 if (!stdoutStream.closed) { |
| 223 var data = stdoutStream.read(); | 223 var data = stdoutStream.read(); |
| 224 stdout.addAll(data); | 224 stdout.addAll(data); |
| 225 } | 225 } |
| 226 }; | 226 }; |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 | 313 |
| 314 void runPixelLayoutTests() { | 314 void runPixelLayoutTests() { |
| 315 init(); | 315 init(); |
| 316 runPixelLayoutTest(0); | 316 runPixelLayoutTest(0); |
| 317 } | 317 } |
| 318 | 318 |
| 319 void runTextLayoutTests() { | 319 void runTextLayoutTests() { |
| 320 init(); | 320 init(); |
| 321 runTextLayoutTest(0); | 321 runTextLayoutTest(0); |
| 322 } | 322 } |
| OLD | NEW |