diff options
Diffstat (limited to 'test/libtest/test.h')
-rw-r--r-- | test/libtest/test.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/test/libtest/test.h b/test/libtest/test.h index 26d4b94b..3a90885d 100644 --- a/test/libtest/test.h +++ b/test/libtest/test.h @@ -2,12 +2,13 @@ /* * Copyright (C) 2018, Google Inc. * - * test.h - libcamera test base class + * libcamera test base class */ -#ifndef __TEST_TEST_H__ -#define __TEST_TEST_H__ + +#pragma once #include <sstream> +#include <string> enum TestStatus { TestPass = 0, @@ -21,18 +22,24 @@ public: Test(); virtual ~Test(); + void setArgs(int argc, char *argv[]); int execute(); + const std::string &self() const { return self_; } + protected: virtual int init() { return 0; } virtual int run() = 0; virtual void cleanup() {} + +private: + std::string self_; }; -#define TEST_REGISTER(klass) \ +#define TEST_REGISTER(Klass) \ int main(int argc, char *argv[]) \ { \ - return klass().execute(); \ + Klass klass; \ + klass.setArgs(argc, argv); \ + return klass.execute(); \ } - -#endif /* __TEST_TEST_H__ */ |