tests: Add a base Test class
The base Test class is meant to provide infrastructure common to all tests. It is very limited for now, and should be extended with at least logging and assertion handling. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
parent
907602eab5
commit
4114a93dff
3 changed files with 66 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
libtest_sources = files([
|
||||
'test.cpp',
|
||||
])
|
||||
|
||||
libtest = static_library('libtest', libtest_sources)
|
||||
|
||||
test_init = executable('test_init', 'init.cpp',
|
||||
link_with : libcamera,
|
||||
include_directories : libcamera_includes)
|
||||
|
|
28
test/test.cpp
Normal file
28
test/test.cpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
/* 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()
|
||||
{
|
||||
cleanup();
|
||||
}
|
||||
|
||||
int Test::execute()
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = init();
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return run();
|
||||
}
|
32
test/test.h
Normal file
32
test/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