diff options
author | Anthony Barbier <anthony.barbier@arm.com> | 2017-09-28 12:01:10 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | f6705ec6ed137233680929e941c674af6baae1dc (patch) | |
tree | 01e042ca01e80cec627cb76b537a3c5e5d65b7b5 /tests/framework/Framework.cpp | |
parent | 349feef33ed931a4b24f34f76482e80428973873 (diff) | |
download | ComputeLibrary-f6705ec6ed137233680929e941c674af6baae1dc.tar.gz |
COMPMID-417 Allow the tests to run even when assets are not present
Change-Id: Ief165b1d583a70cbe35aae93f05ddfe962196323
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89503
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Diffstat (limited to 'tests/framework/Framework.cpp')
-rw-r--r-- | tests/framework/Framework.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/framework/Framework.cpp b/tests/framework/Framework.cpp index 9a67cca184..318f9b1d4c 100644 --- a/tests/framework/Framework.cpp +++ b/tests/framework/Framework.cpp @@ -216,6 +216,16 @@ bool Framework::stop_on_error() const return _stop_on_error; } +void Framework::set_error_on_missing_assets(bool error_on_missing_assets) +{ + _error_on_missing_assets = error_on_missing_assets; +} + +bool Framework::error_on_missing_assets() const +{ + return _error_on_missing_assets; +} + void Framework::run_test(const TestInfo &info, TestCaseFactory &test_factory) { if(test_factory.status() == TestCaseFactory::Status::DISABLED) @@ -269,6 +279,33 @@ void Framework::run_test(const TestInfo &info, TestCaseFactory &test_factory) result.status = TestResult::Status::SUCCESS; } } + catch(const FileNotFound &error) + { + if(_error_on_missing_assets) + { + if(_log_level >= LogLevel::ERRORS && _printer != nullptr) + { + TestError test_error(error.what(), LogLevel::ERRORS); + _printer->print_error(test_error, is_expected_failure); + } + + result.status = TestResult::Status::FAILED; + + if(_throw_errors) + { + throw; + } + } + else + { + if(_log_level >= LogLevel::DEBUG && _printer != nullptr) + { + _printer->print_info(error.what()); + } + + result.status = TestResult::Status::NOT_RUN; + } + } catch(const TestError &error) { if(_log_level >= error.level() && _printer != nullptr) |