diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2018-12-20 15:40:37 +0000 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-01-01 18:24:22 +0200 |
commit | 3900b0771ecb160f26a24b4a9bf72e827256e7da (patch) | |
tree | 7955c54f01b6f65aa664f1399e36eba7eb1347ab /test/libtest | |
parent | b43f56c46d65cc983936498492a85e7e377c212b (diff) |
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 <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/libtest')
-rw-r--r-- | test/libtest/meson.build | 7 | ||||
-rw-r--r-- | test/libtest/test.cpp | 31 | ||||
-rw-r--r-- | test/libtest/test.h | 32 |
3 files changed, 70 insertions, 0 deletions
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 <sstream> + +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__ */ |