diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-11-29 23:02:27 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-12-01 08:54:12 +0200 |
commit | b24d9c4413b9d7f55f4105adeb7cf9a2450d3204 (patch) | |
tree | c896a9d23ffe729ffdac5146b965fe2e83fbdee8 /test/libtest/test.h | |
parent | 68e4f70a6937a69339c3f48502cd4e332c3a16ca (diff) |
test: Store path to the test executable in Test class
Store the path to the test executable, found in argv[0], in the Test
instance. This can be useful for tests that need to fork processes.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'test/libtest/test.h')
-rw-r--r-- | test/libtest/test.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/test/libtest/test.h b/test/libtest/test.h index ee01a225..23b07743 100644 --- a/test/libtest/test.h +++ b/test/libtest/test.h @@ -8,6 +8,7 @@ #pragma once #include <sstream> +#include <string> enum TestStatus { TestPass = 0, @@ -21,16 +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) \ -int main([[maybe_unused]] int argc, [[maybe_unused]] char *argv[]) \ +#define TEST_REGISTER(Klass) \ +int main(int argc, char *argv[]) \ { \ - return klass().execute(); \ + Klass klass; \ + klass.setArgs(argc, argv); \ + return klass.execute(); \ } |