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 ++++++++++++++++++++++++++++++++ test/media_device/meson.build | 6 ++---- test/meson.build | 25 ++++++++++++++++--------- test/test.cpp | 31 ------------------------------- test/test.h | 32 -------------------------------- 7 files changed, 88 insertions(+), 76 deletions(-) create mode 100644 test/libtest/meson.build create mode 100644 test/libtest/test.cpp create mode 100644 test/libtest/test.h delete mode 100644 test/test.cpp delete mode 100644 test/test.h 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__ */ diff --git a/test/media_device/meson.build b/test/media_device/meson.build index b1d21151..a73644a0 100644 --- a/test/media_device/meson.build +++ b/test/media_device/meson.build @@ -1,5 +1,3 @@ - media_device_test = executable('media_device_test', 'media_device_test.cpp', - link_with : [libcamera, libtest], - include_directories : [libcamera_internal_includes, - libtest_includes],) + link_with : test_libraries, + include_directories : test_includes_internal) diff --git a/test/meson.build b/test/meson.build index 6233d2c0..aabe79dd 100644 --- a/test/meson.build +++ b/test/meson.build @@ -1,17 +1,24 @@ -libtest_sources = files([ - 'test.cpp', -]) +subdir('libtest') -libtest = static_library('libtest', libtest_sources) -libtest_includes = include_directories('./') +test_libraries = [libcamera, libtest] + +test_includes_public = [ + libtest_includes, + libcamera_includes, +] + +test_includes_internal = [ + test_includes_public, + libcamera_internal_includes, +] test_init = executable('test_init', 'init.cpp', - link_with : libcamera, - include_directories : libcamera_includes) + link_with : test_libraries, + include_directories : test_includes_public) list = executable('list', 'list.cpp', - link_with : [libcamera, libtest], - include_directories : libcamera_includes) + link_with : test_libraries, + include_directories : test_includes_public) subdir('media_device') diff --git a/test/test.cpp b/test/test.cpp deleted file mode 100644 index 1bb6ebcb..00000000 --- a/test/test.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* 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/test.h b/test/test.h deleted file mode 100644 index c85eeb5d..00000000 --- a/test/test.h +++ /dev/null @@ -1,32 +0,0 @@ -/* 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