| Index: pkg/dev_compiler/test/multitest.dart
|
| diff --git a/pkg/dev_compiler/test/multitest.dart b/pkg/dev_compiler/test/multitest.dart
|
| index 7451bfb05c4481e3271e1d6fb0659e22816f8966..95b856e0b56eb5b5d490811554d8dddc63a8ede2 100644
|
| --- a/pkg/dev_compiler/test/multitest.dart
|
| +++ b/pkg/dev_compiler/test/multitest.dart
|
| @@ -15,6 +15,11 @@ final validMultitestOutcomes = new Set<String>.from([
|
| 'checked mode compile-time error'
|
| ]);
|
|
|
| +final runtimeErrorOutcomes = [
|
| + 'runtime error',
|
| + 'dynamic type error',
|
| +];
|
| +
|
| // Require at least one non-space character before '//#'
|
| // Handle both //# and the legacy /// multitest regexp patterns.
|
| final _multiTestRegExp = new RegExp(r"\S *//[#/] \w+:(.*)");
|
| @@ -122,7 +127,12 @@ void extractTestsFromMultitest(String filePath, String contents,
|
| // joining the lines.
|
| var marker = '// Test created from multitest named $filePath.'
|
| '$line_separator';
|
| - for (var test in testsAsLines.values) test.add(marker);
|
| + testsAsLines.forEach((key, test) {
|
| + if (runtimeErrorOutcomes.any(outcomes[key].contains)) {
|
| + test.add('final _expectRuntimeError = true;');
|
| + }
|
| + test.add(marker);
|
| + });
|
|
|
| var keysToDelete = [];
|
| // Check that every key (other than the none case) has at least one outcome
|
|
|