diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ipc/unixsocket.cpp | 4 | ||||
-rw-r--r-- | test/ipc/unixsocket_ipc.cpp | 4 | ||||
-rw-r--r-- | test/libtest/test.cpp | 5 | ||||
-rw-r--r-- | test/libtest/test.h | 15 | ||||
-rw-r--r-- | test/log/log_process.cpp | 4 | ||||
-rw-r--r-- | test/process/process_test.cpp | 5 |
6 files changed, 29 insertions, 8 deletions
diff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp index 7270bf4d..4fc1c10a 100644 --- a/test/ipc/unixsocket.cpp +++ b/test/ipc/unixsocket.cpp @@ -501,5 +501,7 @@ int main(int argc, char **argv) return slave.run(ipcfd); } - return UnixSocketTest().execute(); + UnixSocketTest test; + test.setArgs(argc, argv); + return test.execute(); } diff --git a/test/ipc/unixsocket_ipc.cpp b/test/ipc/unixsocket_ipc.cpp index ab5d2557..2e3b52ca 100644 --- a/test/ipc/unixsocket_ipc.cpp +++ b/test/ipc/unixsocket_ipc.cpp @@ -227,5 +227,7 @@ int main(int argc, char **argv) return slave.run(ipcfd); } - return UnixSocketTestIPC().execute(); + UnixSocketTestIPC test; + test.setArgs(argc, argv); + return test.execute(); } diff --git a/test/libtest/test.cpp b/test/libtest/test.cpp index fd9f3d74..af37b4dd 100644 --- a/test/libtest/test.cpp +++ b/test/libtest/test.cpp @@ -17,6 +17,11 @@ Test::~Test() { } +void Test::setArgs([[maybe_unused]] int argc, char *argv[]) +{ + self_ = argv[0]; +} + int Test::execute() { int ret; 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(); \ } diff --git a/test/log/log_process.cpp b/test/log/log_process.cpp index a56a3998..ca835133 100644 --- a/test/log/log_process.cpp +++ b/test/log/log_process.cpp @@ -154,5 +154,7 @@ int main(int argc, char **argv) return child.run(status, num); } - return LogProcessTest().execute(); + LogProcessTest test; + test.setArgs(argc, argv); + return test.execute(); } diff --git a/test/process/process_test.cpp b/test/process/process_test.cpp index 378d680b..96bea17f 100644 --- a/test/process/process_test.cpp +++ b/test/process/process_test.cpp @@ -9,7 +9,6 @@ #include <unistd.h> #include <vector> - #include <libcamera/base/event_dispatcher.h> #include <libcamera/base/thread.h> #include <libcamera/base/timer.h> @@ -106,5 +105,7 @@ int main(int argc, char **argv) return child.run(status); } - return ProcessTest().execute(); + ProcessTest test; + test.setArgs(argc, argv); + return test.execute(); } |