diff options
author | Austin Schaffer <austin.schaffer@ryansg.com> | 2020-03-09 12:21:32 -0400 |
---|---|---|
committer | Austin Schaffer <austin.schaffer@ryansg.com> | 2020-03-12 13:00:33 -0400 |
commit | 433fc01e77dce17ac119d5263180352e1367822a (patch) | |
tree | 2479972c558be32e9643bdee52649190ff188ad0 | |
parent | 940d41817fb6b81e798aaf2ce30a89fe85b8dcdc (diff) | |
download | tame-433fc01e77dce17ac119d5263180352e1367822a.tar.gz tame-433fc01e77dce17ac119d5263180352e1367822a.tar.bz2 tame-433fc01e77dce17ac119d5263180352e1367822a.zip |
[DEV-7160] Do not allow terminating classifications for test runner
-rw-r--r-- | core/retry.xml | 2 | ||||
-rw-r--r-- | progtest/src/TestCase.js | 12 | ||||
-rw-r--r-- | progtest/src/TestRunner.js | 22 |
3 files changed, 27 insertions, 9 deletions
diff --git a/core/retry.xml b/core/retry.xml index 10d6828..069f2c6 100644 --- a/core/retry.xml +++ b/core/retry.xml @@ -20,7 +20,7 @@ </classify> <t:assert failure="Retrying suppliers are ineligible" - neg-yields="_nassert-supplier-pending"> + as="-assert-supplier-pending"> <t:match-eq on="__retry" value="FALSE" /> </t:assert> </template> diff --git a/progtest/src/TestCase.js b/progtest/src/TestCase.js index 7d69457..9258caf 100644 --- a/progtest/src/TestCase.js +++ b/progtest/src/TestCase.js @@ -38,6 +38,11 @@ module.exports = Class( 'TestCase', return this._caseData.description || ""; }, + get allow_failures() + { + return this._caseData.allow_failures || false; + }, + get data() { return this._caseData.data || {}; @@ -72,9 +77,10 @@ module.exports = Class( 'TestCase', } ); return module.exports( { - description: this.description, - data: new_data, - expect: new_expect, + description: this.description, + allow_failures: this.allow_failures, + data: new_data, + expect: new_expect, } ); }, diff --git a/progtest/src/TestRunner.js b/progtest/src/TestRunner.js index ac172d0..a969e49 100644 --- a/progtest/src/TestRunner.js +++ b/progtest/src/TestRunner.js @@ -111,10 +111,22 @@ module.exports = Class( 'TestRunner', * * @return {Object<desc,i,total,failures>} test results */ - 'protected runTest'( { description: desc, data, expect }, test_i, total ) - { + 'protected runTest'( + { + description: desc, + allow_failures, + data, + expect, + }, + test_i, + total + ) { + const can_term = ( typeof allow_failures === 'string' ) + ? !( allow_failures.toLowerCase() === 'true') + : !allow_failures; + // no input map---#rate uses params directly - const result = this._tryRun( data ); + const result = this._tryRun( data, can_term ); const cmp = Object.keys( expect ).map( field => [ @@ -163,14 +175,14 @@ module.exports = Class( 'TestRunner', * * @return {Object|Error} result or error */ - 'private _tryRun'( data ) + 'private _tryRun'( data, can_term ) { // no input map---#rate uses params directly try { this._verifyKnownParams( data ); - return this._program.rater( data ).vars; + return this._program.rater( data, can_term ).vars; } catch( e ) { |