diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-12-19 11:37:23 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-12-21 06:44:55 +0200 |
commit | 4114a93dff6f497e8c5fc4c2328fc2a774d9ef15 (patch) | |
tree | 9b36e64d0e43ab54f64b1858d947da254a9c2937 /test/test.h | |
parent | 907602eab5d6071e0b979807b697e1d3fd6ac6c3 (diff) |
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>
Diffstat (limited to 'test/test.h')
-rw-r--r-- | test/test.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/test.h b/test/test.h new file mode 100644 index 00000000..c85eeb5d --- /dev/null +++ b/test/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__ */ |