diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-11-29 23:16:35 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-12-01 08:54:24 +0200 |
commit | 59002a9e9d84417197999391c7d8c6af620fc1fb (patch) | |
tree | 33098fa6e3004d17f4a1cc28b38e5b7881953392 /test/ipc/unixsocket.cpp | |
parent | b24d9c4413b9d7f55f4105adeb7cf9a2450d3204 (diff) |
test: Replace "/proc/self/exe" with path to test binary
When tests are run under valgrind, /proc/self/exe points to valgrind,
not to the test binary. This results in failures for tests that need to
fork processes. Fix it by replacing "/proc/self/exe" with the path to
the test binary.
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/ipc/unixsocket.cpp')
-rw-r--r-- | test/ipc/unixsocket.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp index 4fc1c10a..b3568c06 100644 --- a/test/ipc/unixsocket.cpp +++ b/test/ipc/unixsocket.cpp @@ -209,8 +209,7 @@ protected: if (!pid_) { std::string arg = std::to_string(fd); - execl("/proc/self/exe", "/proc/self/exe", - arg.c_str(), nullptr); + execl(self().c_str(), self().c_str(), arg.c_str(), nullptr); /* Only get here if exec fails. */ exit(TestFail); @@ -464,7 +463,7 @@ private: int prepareFDs(IPCUnixSocket::Payload *message, unsigned int num) { - int fd = open("/proc/self/exe", O_RDONLY); + int fd = open(self().c_str(), O_RDONLY); if (fd < 0) return fd; |