From 3900b0771ecb160f26a24b4a9bf72e827256e7da Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Thu, 20 Dec 2018 15:40:37 +0000 Subject: test: Move test objects to libtest Create a subdirectory to contain the libtest helper library. Define two variables to clarify when tests are aimed at public or internal components. Signed-off-by: Kieran Bingham Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- test/libtest/meson.build | 7 +++++++ test/libtest/test.cpp | 31 +++++++++++++++++++++++++++++++ test/libtest/test.h | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 test/libtest/meson.build create mode 100644 test/libtest/test.cpp create mode 100644 test/libtest/test.h (limited to 'test/libtest') diff --git a/test/libtest/meson.build b/test/libtest/meson.build new file mode 100644 index 00000000..b998154d --- /dev/null +++ b/test/libtest/meson.build @@ -0,0 +1,7 @@ +libtest_sources = files([ + 'test.cpp', +]) + +libtest = static_library('libtest', libtest_sources) + +libtest_includes = include_directories('.') diff --git a/test/libtest/test.cpp b/test/libtest/test.cpp new file mode 100644 index 00000000..1bb6ebcb --- /dev/null +++ b/test/libtest/test.cpp @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2018, Google Inc. + * + * test.cpp - libcamera test base class + */ + +#include "test.h" + +Test::Test() +{ +} + +Test::~Test() +{ +} + +int Test::execute() +{ + int ret; + + ret = init(); + if (ret < 0) + return ret; + + ret = run(); + + cleanup(); + + return ret; +} diff --git a/test/libtest/test.h b/test/libtest/test.h new file mode 100644 index 00000000..c85eeb5d --- /dev/null +++ b/test/libtest/test.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2018, Google Inc. + * + * test.h - libcamera test base class + */ +#ifndef __TEST_TEST_H__ +#define __TEST_TEST_H__ + +#include + +class Test +{ +public: + Test(); + virtual ~Test(); + + int execute(); + +protected: + virtual int init() { return 0; } + virtual int run() = 0; + virtual void cleanup() { } +}; + +#define TEST_REGISTER(klass) \ +int main(int argc, char *argv[]) \ +{ \ + return klass().execute(); \ +} + +#endif /* __TEST_TEST_H__ */ -- cgit v1.2.1