]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: reserve more fds for commandtest
authorEric Blake <eblake@redhat.com>
Tue, 5 Feb 2013 16:15:20 +0000 (09:15 -0700)
committerEric Blake <eblake@redhat.com>
Tue, 5 Feb 2013 17:47:00 +0000 (10:47 -0700)
Commit 39c77fe triggered random failures, depending on the platform
and what other fds leak into the testsuite (for me, it passed on
RHEL 6 but failed on Fedora 18).  The reason was that we were
expecting an fd that fell outside of our reserved range.  By reserving
a larger range, the test once again passes on all platforms.

* tests/commandtest.c (mymain): Reserve enough fds.

tests/commanddata/test3.log
tests/commandtest.c

index bd06371c314e6524fb196c4cf7041e5a87972df6..c6da25345c9e7122c5d2208e4872e61a1030759c 100644 (file)
@@ -9,6 +9,6 @@ FD:0
 FD:1
 FD:2
 FD:5
-FD:8
+FD:7
 DAEMON:no
 CWD:/tmp
index f4e335fa0a0318fb5d127ed1cd81f1099045397d..93c6333bd744df005724e2e5cf8f38309cf8aabc 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * commandtest.c: Test the libCommand API
  *
- * Copyright (C) 2010-2012 Red Hat, Inc.
+ * Copyright (C) 2010-2013 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -960,7 +960,10 @@ mymain(void)
         dup2(fd, 3) < 0 ||
         dup2(fd, 4) < 0 ||
         dup2(fd, 5) < 0 ||
-        (fd > 5 && VIR_CLOSE(fd) < 0))
+        dup2(fd, 6) < 0 ||
+        dup2(fd, 7) < 0 ||
+        dup2(fd, 8) < 0 ||
+        (fd > 8 && VIR_CLOSE(fd) < 0))
         return EXIT_FAILURE;
 
     /* Prime the debug/verbose settings from the env vars,
@@ -978,6 +981,12 @@ mymain(void)
     VIR_FORCE_CLOSE(fd);
     fd = 5;
     VIR_FORCE_CLOSE(fd);
+    fd = 6;
+    VIR_FORCE_CLOSE(fd);
+    fd = 7;
+    VIR_FORCE_CLOSE(fd);
+    fd = 8;
+    VIR_FORCE_CLOSE(fd);
 
     virEventRegisterDefaultImpl();
     if (VIR_ALLOC(test) < 0) {