aboutsummaryrefslogtreecommitdiff
path: root/tests/test-helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-helpers.c')
-rw-r--r--tests/test-helpers.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/test-helpers.c b/tests/test-helpers.c
index b2189d8..20b6690 100644
--- a/tests/test-helpers.c
+++ b/tests/test-helpers.c
@@ -29,6 +29,7 @@
#include <errno.h>
#include <dirent.h>
#include <stdio.h>
+#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <sys/time.h>
@@ -67,11 +68,19 @@ count_open_fds(void)
void
exec_fd_leak_check(int nr_expected_fds)
{
- const char *exe = "./exec-fd-leak-checker";
+ const char *exe = "exec-fd-leak-checker";
char number[16] = { 0 };
+ const char *test_build_dir = getenv("TEST_BUILD_DIR");
+ char exe_path[256] = { 0 };
+
+ if (test_build_dir == NULL || test_build_dir[0] == 0) {
+ test_build_dir = ".";
+ }
+
+ snprintf(exe_path, sizeof exe_path - 1, "%s/%s", test_build_dir, exe);
snprintf(number, sizeof number - 1, "%d", nr_expected_fds);
- execl(exe, exe, number, (char *)NULL);
+ execl(exe_path, exe, number, (char *)NULL);
assert(0 && "execing fd leak checker failed");
}