libcamera/test/libtest/test.h
Kieran Bingham e3bb826e66 test: libtest: Add test return codes
The meson test infrastructure uses return codes to determine test
results. Define these values for use in tests.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[Use an enum instead of macros for test return codes.]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2019-01-01 18:24:22 +02:00

38 lines
588 B
C++

/* 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>
enum TestStatus {
TestPass = 0,
TestFail = -1,
TestSkip = 77,
};
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__ */