提交 8ab7d8ee 编写于 作者: D Daniel P. Berrange

Allow the iohelper path to be customized by test programs

Currently the fdstream function hardcodes the location
of the iohelper to LIBEXECDIR "/libvirt_iohelper". This
is not convenient when trying to write test cases which
use this code. Add a virFDStreamSetIOHelper method to
allow the test cases to point to the location of the
un-installed iohelper binary.
Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
上级 69c6a58a
......@@ -74,6 +74,18 @@ struct virFDStreamData {
virMutex lock;
};
static const char *iohelper_path = LIBEXECDIR "/libvirt_iohelper";
void virFDStreamSetIOHelper(const char *path)
{
if (path == NULL)
iohelper_path = LIBEXECDIR "/libvirt_iohelper";
else
iohelper_path = path;
}
static int virFDStreamRemoveCallback(virStreamPtr stream)
{
struct virFDStreamData *fdst = stream->privateData;
......@@ -634,7 +646,7 @@ virFDStreamOpenFileInternal(virStreamPtr st,
goto error;
}
cmd = virCommandNewArgList(LIBEXECDIR "/libvirt_iohelper",
cmd = virCommandNewArgList(iohelper_path,
path,
NULL);
virCommandAddArgFormat(cmd, "%llu", length);
......
......@@ -33,6 +33,9 @@ typedef void (*virFDStreamInternalCloseCb)(virStreamPtr st, void *opaque);
typedef void (*virFDStreamInternalCloseCbFreeOpaque)(void *opaque);
/* Only for use by test suite */
void virFDStreamSetIOHelper(const char *path);
int virFDStreamOpen(virStreamPtr st,
int fd);
......
......@@ -699,6 +699,7 @@ virFDStreamConnectUNIX;
virFDStreamCreateFile;
virFDStreamOpen;
virFDStreamOpenFile;
virFDStreamSetIOHelper;
# libvirt_internal.h
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册