From d06a8ebe8f1737881fb316ca266d3dd2ab679155 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 14 Aug 2018 15:02:56 +0200 Subject: [PATCH] tests: qemuxml2argvmock: Allow 'safe' file descriptors in mocked virCommandPassFD Allow FDs which are marked as safe for FD passing. Signed-off-by: Peter Krempa Reviewed-by: John Ferlan --- tests/qemuxml2argvmock.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/tests/qemuxml2argvmock.c b/tests/qemuxml2argvmock.c index 4df92cf396..581f720227 100644 --- a/tests/qemuxml2argvmock.c +++ b/tests/qemuxml2argvmock.c @@ -184,12 +184,26 @@ virNetDevRunEthernetScript(const char *ifname ATTRIBUTE_UNUSED, return 0; } +static void (*real_virCommandPassFD)(virCommandPtr cmd, int fd, unsigned int flags); + +static const int testCommandPassSafeFDs[] = { -1 }; + void -virCommandPassFD(virCommandPtr cmd ATTRIBUTE_UNUSED, - int fd ATTRIBUTE_UNUSED, - unsigned int flags ATTRIBUTE_UNUSED) +virCommandPassFD(virCommandPtr cmd, + int fd, + unsigned int flags) { - /* nada */ + size_t i; + + for (i = 0; i < ARRAY_CARDINALITY(testCommandPassSafeFDs); i++) { + if (testCommandPassSafeFDs[i] == fd) { + if (!real_virCommandPassFD) + VIR_MOCK_REAL_INIT(virCommandPassFD); + + real_virCommandPassFD(cmd, fd, flags); + return; + } + } } int