]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
test: raise fd limit to maximum before running fdpass tests
authorAlan Coopersmith <alan.coopersmith@oracle.com>
Sun, 13 Oct 2024 19:24:09 +0000 (12:24 -0700)
committerAlan Coopersmith <alan.coopersmith@oracle.com>
Sun, 13 Oct 2024 19:26:48 +0000 (12:26 -0700)
Many of these tests require more than the default fd limit on some systems,
so raise the limit, if we can, to give them a better chance of being able
to run.

Closes #176
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
test/fdpass.c

index cf344dae36ca476ff8ce3360fc5cc792cc23de1c..664fd1363e66943680b93bdc0e0420c83721e1ff 100644 (file)
@@ -910,6 +910,16 @@ main (int argc,
       if (getrlimit (RLIMIT_NOFILE, &lim) < 0)
         g_error ("Failed to get RLIMIT_NOFILE limit: %s", g_strerror (errno));
 
+      if ((lim.rlim_cur != RLIM_INFINITY) && (lim.rlim_cur < lim.rlim_max))
+        {
+          /* Many test require large number of file descriptors,
+           * so max out what they can use */
+          lim.rlim_cur = lim.rlim_max;
+          if (setrlimit (RLIMIT_NOFILE, &lim) < 0)
+            g_error ("Failed to set RLIMIT_NOFILE limit to %ld: %s",
+                     (long) lim.rlim_cur, g_strerror (errno));
+        }
+
       if (lim.rlim_cur != RLIM_INFINITY &&
           /* only run if we have a fairly generous margin of error
            * for stdout, stderr, duplicates, the D-Bus connection, etc. */