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>
This commit is contained in:
parent
b43f56c46d
commit
3900b0771e
5 changed files with 25 additions and 13 deletions
7
test/libtest/meson.build
Normal file
7
test/libtest/meson.build
Normal file
|
@ -0,0 +1,7 @@
|
|||
libtest_sources = files([
|
||||
'test.cpp',
|
||||
])
|
||||
|
||||
libtest = static_library('libtest', libtest_sources)
|
||||
|
||||
libtest_includes = include_directories('.')
|
31
test/libtest/test.cpp
Normal file
31
test/libtest/test.cpp
Normal file
|
@ -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;
|
||||
}
|
32
test/libtest/test.h
Normal file
32
test/libtest/test.h
Normal file
|
@ -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__ */
|
Loading…
Add table
Add a link
Reference in a new issue