diff options
author | Mike Gerwitz <mike.gerwitz@rtspecialty.com> | 2018-02-16 12:19:37 -0500 |
---|---|---|
committer | Mike Gerwitz <mike.gerwitz@rtspecialty.com> | 2018-02-19 15:21:14 -0500 |
commit | 47f0f4039b9c6d4a9898714dcca4692fd8af154a (patch) | |
tree | 2b92cae5fa2c0e57b474a4652aee2da7a7358513 /progtest/bin | |
parent | 0c020b736d8d46f18e2e671d7b928e146db5572e (diff) | |
download | tame-47f0f4039b9c6d4a9898714dcca4692fd8af154a.tar.gz tame-47f0f4039b9c6d4a9898714dcca4692fd8af154a.tar.bz2 tame-47f0f4039b9c6d4a9898714dcca4692fd8af154a.zip |
progtest: Initial working console runner
Diffstat (limited to 'progtest/bin')
-rw-r--r-- | progtest/bin/runner.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/progtest/bin/runner.js b/progtest/bin/runner.js new file mode 100644 index 0000000..98a134e --- /dev/null +++ b/progtest/bin/runner.js @@ -0,0 +1,51 @@ +/** + * Test case runner script + * + * Copyright (C) 2018 R-T Specialty, LLC. + * + * This file is part of TAME. + * + * TAME is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +"use strict"; + +const program = require( process.argv[ 2 ] ); +const filename = process.argv[ 3 ]; + +const fs = require( 'fs' ); +const yaml_reader = require( 'js-yaml' ); + +const TestCase = require( '../src/TestCase' ); +const YamlTestReader = require( '../src/reader/YamlTestReader' ); +const ConstResolver = require( '../src/reader/ConstResolver' ); +const DateResolver = require( '../src/reader/DateResolver' ); +const TestRunner = require( '../src/TestRunner' ); +const ConsoleTestReporter = require( '../src/reporter/ConsoleTestReporter' ); + +const runner = TestRunner( + ConsoleTestReporter( process.stdout ), + program +); + +const reader = YamlTestReader + .use( DateResolver ) + .use( ConstResolver( program ) ) + ( yaml_reader, TestCase ); + +const cases = reader.loadCases( + fs.readFileSync( filename, 'utf8' ) +); + +const results = runner.runTests( cases ); |