port: tests: /proc/self/fd is Linux only, use /dev/fd on other Unices
authorMichael Jeanson <mjeanson@efficios.com>
Tue, 20 Oct 2020 19:02:45 +0000 (15:02 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 6 Nov 2020 20:02:38 +0000 (15:02 -0500)
Change-Id: I2be8120c7dce3f12daaf12a190810a145afa50b6
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
tests/unit/test_fd_tracker.c

index db9b4248b4b137d239d58872b0bfa9a86e46aa2f..c4248ed813059f5f768e0f013e0fc51ab1d46172 100644 (file)
@@ -40,6 +40,13 @@ int lttng_opt_mi;
 #define TMP_DIR_PATTERN "/tmp/fd-tracker-XXXXXX"
 #define TEST_UNLINK_DIRECTORY_NAME "unlinked_files"
 
+#ifdef __linux__
+#define SELF_FD_DIR "/proc/self/fd"
+#else
+/* Most Unices have /dev/fd */
+#define SELF_FD_DIR "/dev/fd"
+#endif
+
 /*
  * Count of fds, beyond stdin, stderr, stdout that were open
  * at the launch of the test. This allows the test to succeed when
@@ -84,9 +91,9 @@ int fd_count(void)
        struct dirent *entry;
        int count = 0;
 
-       dir = opendir("/proc/self/fd");
+       dir = opendir(SELF_FD_DIR);
        if (!dir) {
-               perror("# Failed to enumerate /proc/self/fd/ to count the number of used file descriptors");
+               perror("# Failed to enumerate " SELF_FD_DIR " to count the number of used file descriptors");
                count = -1;
                goto end;
        }
@@ -100,7 +107,7 @@ int fd_count(void)
        /* Don't account for the file descriptor opened by opendir(). */
        count--;
        if (closedir(dir)) {
-               perror("# Failed to close test program's self/fd directory file descriptor");
+               perror("# Failed to close test program's " SELF_FD_DIR " directory file descriptor");
        }
 end:
        return count;
This page took 0.034529 seconds and 4 git commands to generate.