This aims to prevent needlessly wasted time debugging a non-working test
case, and to avoid writing incorrect test cases that happen to succeed even
though their inputs aren't properly defined.
For example, a common error is to use the name of a bucket field rather than
the name of the param that it maps to.
* progtest/src/TestRunner.js (_verifyKnownParams): New method.
(_tryRun): Use it.
* progtest/test/TestRunnerTest.js: New test case. Modify existing test
cases to define used params.
* progtest/test/_stub/program.js (exports.rater.params): Declare used param.
This now uses year ranges, which I'll update annually.
This also renames "R-T Specialty" to "Ryan Specialty Group". The latter is
the parent company of the former. I was originally employed under the
former when LoVullo Associates was purchased, by I now work for the parent
company.
Not a very useful test runner if it doesn't ever fail, now is it?
* Makefile.am (check): Invoke new test/runner-test. Depend on modindex.
* bin/runner.js: Exit with non-zero status on assertion failure.
* test/_stub: Add stub program with good and bad test cases to test
exit code.
* test/runner-test: Add system test.
Terminating classifications will occur any time there is actual data
validation, since we're passing no data at all.
* progtest/src/env.js (common): Pass argument to program#rater to suppress
terminating classifications.
* progtest/src/reader/YamlTestReader.js (loadCases): Handle absence of any
test cases.
* progtest/test/reader/YamlTestReaderTest.js: New respective test.
Performance hit is too great; automated tests need to be _fast_!
* src/AsyncTestRunner.js: New TestRunner subtype.
* src/TestRunner.js (_runAsync): Rename to virtual protected
`runAllTests'; this method is overridden by aforementioned subtype.
* src/env.js: Use it.