tests: introduce qemucaps2xmlmock

We need to mock virFileExists to return true for "/dev/kvm" because the
test should not depend on host system.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Pavel Hrdina 2015-03-25 15:35:46 +01:00
parent a894d61ba1
commit eb05cb0d5c
3 changed files with 41 additions and 1 deletions

View File

@ -406,6 +406,7 @@ test_libraries = libshunload.la \
if WITH_QEMU
test_libraries += libqemumonitortestutils.la \
qemuxml2argvmock.la \
qemucaps2xmlmock.la \
$(NULL)
endif WITH_QEMU
@ -606,6 +607,12 @@ qemucaps2xmltest_SOURCES = \
$(NULL)
qemucaps2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemucaps2xmlmock_la_SOURCES = \
qemucaps2xmlmock.c
qemucaps2xmlmock_la_CFLAGS = $(AM_CFLAGS)
qemucaps2xmlmock_la_LDFLAGS = -module -avoid-version \
-rpath /evil/libtool/hack/to/force/shared/lib/creation
qemuagenttest_SOURCES = \
qemuagenttest.c \
testutils.c testutils.h \

33
tests/qemucaps2xmlmock.c Normal file
View File

@ -0,0 +1,33 @@
/*
* Copyright (C) 2015 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
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Pavel Hrdina <phrdina@redhat.com>
*/
#include <config.h>
#include <unistd.h>
#include "internal.h"
#include "virfile.h"
bool
virFileExists(const char *path)
{
if (STREQ(path, "/dev/kvm"))
return true;
return access(path, F_OK) == 0;
}

View File

@ -207,4 +207,4 @@ mymain(void)
return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}
VIRT_TEST_MAIN(mymain)
VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/qemucaps2xmlmock.so")