diff options
author | Moritz Pflanzer <moritz.pflanzer@arm.com> | 2017-07-26 17:00:37 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-09-17 14:16:42 +0100 |
commit | fa811656a2bd39bcabfc7f52270f1f5d655e0537 (patch) | |
tree | a6f99d16a712d3bfa0e0b4b7013daf8404720a5a /framework/Framework.cpp | |
parent | 542002cf3d9acc2858e2311966cd9b060d70b5a6 (diff) | |
download | ComputeLibrary-fa811656a2bd39bcabfc7f52270f1f5d655e0537.tar.gz |
COMPMID-415: Add --stop-on-error
Change-Id: I557934e8f065d8877344c945980b33139c2a5c97
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/81831
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'framework/Framework.cpp')
-rw-r--r-- | framework/Framework.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/framework/Framework.cpp b/framework/Framework.cpp index 056ee59860..ac7248c43c 100644 --- a/framework/Framework.cpp +++ b/framework/Framework.cpp @@ -198,6 +198,16 @@ bool Framework::throw_errors() const return _throw_errors; } +void Framework::set_stop_on_error(bool stop_on_error) +{ + _stop_on_error = stop_on_error; +} + +bool Framework::stop_on_error() const +{ + return _stop_on_error; +} + bool Framework::is_selected(const TestInfo &info) const { if((info.mode & _dataset_mode) == DatasetMode::DISABLED) @@ -345,9 +355,16 @@ void Framework::run_test(const TestInfo &info, TestCaseFactory &test_factory) _current_test_result = nullptr; - if(test_factory.status() == TestCaseFactory::Status::EXPECTED_FAILURE && result.status == TestResult::Status::FAILED) + if(result.status == TestResult::Status::FAILED) { - result.status = TestResult::Status::EXPECTED_FAILURE; + if(info.status == TestCaseFactory::Status::EXPECTED_FAILURE) + { + result.status = TestResult::Status::EXPECTED_FAILURE; + } + else if(_stop_on_error) + { + throw std::runtime_error("Abort on first error."); + } } result.measurements = profiler.measurements(); |