| 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 |