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. --- I'll wait a bit for a review, but if I don't get one, I'll push this under the build-breaker rule. tests/commanddata/test3.log | 2 +- tests/commandtest.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/commanddata/test3.log b/tests/commanddata/test3.log index bd06371..c6da253 100644 --- a/tests/commanddata/test3.log +++ b/tests/commanddata/test3.log @@ -9,6 +9,6 @@ FD:0 FD:1 FD:2 FD:5 -FD:8 +FD:7 DAEMON:no CWD:/tmp diff --git a/tests/commandtest.c b/tests/commandtest.c index f4e335f..93c6333 100644 --- a/tests/commandtest.c +++ b/tests/commandtest.c @@ -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) { -- 1.8.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list