tests: libxl: do not run the emulator

Ever since commit c5a00350 the libxl parser invokes the emulator
to probe which device model to use.

Commit b90c4b5 introduced a workaround that used a stable path
which was very likely to result in the answer matching the default.
However the test is still affected by the host state and the binary
gets invoked if present.

Mock the libxlDomainGetEmulatorType function to stop wasting CPU
cycles every time a 'make check' is run on a system with xen installed.

For example xlconfigtest gets faster by 90 %

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: b90c4b5f50
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
This commit is contained in:
Ján Tomko 2020-02-22 13:56:19 +01:00
parent 6c1889ed70
commit a97e17c4e2
2 changed files with 9 additions and 1 deletions

View File

@ -50,4 +50,5 @@ libxlMakeDomainCapabilities(virDomainCapsPtr domCaps,
size_t nfirmwares);
int
libxlDomainGetEmulatorType(const virDomainDef *def);
libxlDomainGetEmulatorType(const virDomainDef *def)
G_GNUC_NO_INLINE;

View File

@ -30,6 +30,7 @@
# include "virfile.h"
# include "virsocket.h"
# include "libxl/libxl_capabilities.h"
VIR_MOCK_IMPL_RET_VOID(xs_daemon_open,
struct xs_handle *)
@ -123,4 +124,10 @@ VIR_MOCK_IMPL_RET_ARGS(stat, int,
return real_stat(path, sb);
}
int
libxlDomainGetEmulatorType(const virDomainDef *def G_GNUC_UNUSED)
{
return LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN;
}
#endif /* WITH_LIBXL && WITH_YAJL */