aboutsummaryrefslogtreecommitdiff
path: root/framework/Framework.cpp
diff options
context:
space:
mode:
authorMoritz Pflanzer <moritz.pflanzer@arm.com>2017-07-26 17:00:37 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:16:42 +0100
commitfa811656a2bd39bcabfc7f52270f1f5d655e0537 (patch)
treea6f99d16a712d3bfa0e0b4b7013daf8404720a5a /framework/Framework.cpp
parent542002cf3d9acc2858e2311966cd9b060d70b5a6 (diff)
downloadComputeLibrary-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.cpp21
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();