diff options
-rw-r--r-- | tests/benchmark_examples/RunExample.cpp | 15 | ||||
-rw-r--r-- | tests/validate_examples/RunExample.cpp | 19 | ||||
-rw-r--r-- | tests/validate_examples/ValidateExample.h | 5 | ||||
-rw-r--r-- | tests/validate_examples/cl_gemm.cpp | 5 |
4 files changed, 34 insertions, 10 deletions
diff --git a/tests/benchmark_examples/RunExample.cpp b/tests/benchmark_examples/RunExample.cpp index 05430e7628..81c879ff2d 100644 --- a/tests/benchmark_examples/RunExample.cpp +++ b/tests/benchmark_examples/RunExample.cpp @@ -59,17 +59,26 @@ public: void do_setup() override { ARM_COMPUTE_ERROR_ON_NULLPTR(g_example.get()); - g_example->do_setup(g_example_argv.size(), &g_example_argv[0]); + _is_setup = g_example->do_setup(g_example_argv.size(), &g_example_argv[0]); } void do_run() override { - g_example->do_run(); + if(_is_setup) + { + g_example->do_run(); + } } void do_teardown() override { - g_example->do_teardown(); + if(_is_setup) + { + g_example->do_teardown(); + } g_example = nullptr; } + +private: + bool _is_setup{ false }; }; int run_example(int argc, char **argv, std::unique_ptr<Example> example) diff --git a/tests/validate_examples/RunExample.cpp b/tests/validate_examples/RunExample.cpp index b4e5d37648..d842c5bd6f 100644 --- a/tests/validate_examples/RunExample.cpp +++ b/tests/validate_examples/RunExample.cpp @@ -68,21 +68,30 @@ public: void do_setup() override { ARM_COMPUTE_ERROR_ON_NULLPTR(g_example.get()); - g_example->do_setup(g_example_argv.size(), &g_example_argv[0]); + _is_setup = g_example->do_setup(g_example_argv.size(), &g_example_argv[0]); } void do_run() override { - g_example->do_run(); + if(_is_setup) + { + g_example->do_run(); + } } void do_teardown() override { - if(validate) + if(_is_setup) { - g_example->do_validate(); + if(validate) + { + g_example->do_validate(); + } + g_example->do_teardown(); } - g_example->do_teardown(); g_example = nullptr; } + +private: + bool _is_setup{ false }; }; int run_example(int argc, char **argv, std::unique_ptr<ValidateExample> example) diff --git a/tests/validate_examples/ValidateExample.h b/tests/validate_examples/ValidateExample.h index 4dd552ab10..2721508336 100644 --- a/tests/validate_examples/ValidateExample.h +++ b/tests/validate_examples/ValidateExample.h @@ -48,7 +48,10 @@ public: * @param[in] argc Argument count. * @param[in] argv Argument values. */ - virtual void do_setup(int argc, char **argv) {}; + virtual bool do_setup(int argc, char **argv) + { + return true; + }; /** Run the example. */ virtual void do_run() {}; /** Run reference implementation and validate against the target output diff --git a/tests/validate_examples/cl_gemm.cpp b/tests/validate_examples/cl_gemm.cpp index f37e073dc3..e0aefbf359 100644 --- a/tests/validate_examples/cl_gemm.cpp +++ b/tests/validate_examples/cl_gemm.cpp @@ -59,8 +59,9 @@ constexpr float tolerance_num_f16 = 0.02f; /**< F16 Toleran class CLGEMMValidateExample : public ValidateExample { public: - void do_setup(int argc, char **argv) override + bool do_setup(int argc, char **argv) override { + //TODO(antbar01): Update to use command line interface ? CLScheduler::get().default_init(); if(argc == 2) { @@ -215,6 +216,8 @@ public: fill(CLAccessor(src0), 0); fill(CLAccessor(src1), 1); fill(CLAccessor(src2), 2); + + return true; } void print_parameters(framework::Printer &printer) override |