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 /** | 5 /** |
6 * Classes and methods for executing tests. | 6 * Classes and methods for executing tests. |
7 * | 7 * |
8 * This module includes: | 8 * This module includes: |
9 * - Managing parallel execution of tests, including timeout checks. | 9 * - Managing parallel execution of tests, including timeout checks. |
10 * - Evaluating the output of each test as pass/fail/crash/timeout. | 10 * - Evaluating the output of each test as pass/fail/crash/timeout. |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 TestInformation info; | 71 TestInformation info; |
72 | 72 |
73 TestCase(this.displayName, | 73 TestCase(this.displayName, |
74 this.commands, | 74 this.commands, |
75 this.configuration, | 75 this.configuration, |
76 this.completedHandler, | 76 this.completedHandler, |
77 this.expectedOutcomes, | 77 this.expectedOutcomes, |
78 [this.isNegative = false, | 78 [this.isNegative = false, |
79 this.info = null]) { | 79 this.info = null]) { |
80 if (!isNegative) { | 80 if (!isNegative) { |
81 this.isNegative = displayName.contains("NegativeTest"); | 81 // TODO(sigmund): dissallow NegativeTest once the test rename overhaul is |
| 82 // done. |
| 83 this.isNegative = displayName.contains("NegativeTest") |
| 84 || displayName.contains("negative_test"); |
82 } | 85 } |
83 | 86 |
84 // Special command handling. If a special command is specified | 87 // Special command handling. If a special command is specified |
85 // we have to completely rewrite the command that we are using. | 88 // we have to completely rewrite the command that we are using. |
86 // We generate a new command-line that is the special command | 89 // We generate a new command-line that is the special command |
87 // where we replace '@' with the original command. | 90 // where we replace '@' with the original command. |
88 var specialCommand = configuration['special-command']; | 91 var specialCommand = configuration['special-command']; |
89 if (!specialCommand.isEmpty()) { | 92 if (!specialCommand.isEmpty()) { |
90 Expect.isTrue(specialCommand.contains('@'), | 93 Expect.isTrue(specialCommand.contains('@'), |
91 "special-command must contain a '@' char"); | 94 "special-command must contain a '@' char"); |
(...skipping 1067 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1159 // the developer doesn't waste his or her time trying to fix a bunch of | 1162 // the developer doesn't waste his or her time trying to fix a bunch of |
1160 // tests that appear to be broken but were actually just flakes that | 1163 // tests that appear to be broken but were actually just flakes that |
1161 // didn't get retried because there had already been one failure. | 1164 // didn't get retried because there had already been one failure. |
1162 bool allowRetry = _MAX_FAILED_NO_RETRY > _progress.numFailedTests; | 1165 bool allowRetry = _MAX_FAILED_NO_RETRY > _progress.numFailedTests; |
1163 new RunningProcess(test, allowRetry, this).start(); | 1166 new RunningProcess(test, allowRetry, this).start(); |
1164 } | 1167 } |
1165 _numProcesses++; | 1168 _numProcesses++; |
1166 } | 1169 } |
1167 } | 1170 } |
1168 } | 1171 } |
OLD | NEW |