From ed2e78089b688c0beaa9dc79a808546af58a7d52 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Fri, 30 Oct 2020 14:56:49 +0100 Subject: [PATCH] tests: Add mock library for virGetHostname and virGetHostUUID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'qemu_migration_cookie' module uses these. Provide a stable override for tests. Signed-off-by: Peter Krempa Reviewed-by: Daniel Henrique Barboza Reviewed-by: Ján Tomko --- src/util/virutil.h | 2 +- src/util/viruuid.h | 2 +- tests/meson.build | 1 + tests/virhostidmock.c | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 tests/virhostidmock.c diff --git a/src/util/virutil.h b/src/util/virutil.h index 8b0e38e335..46328727c1 100644 --- a/src/util/virutil.h +++ b/src/util/virutil.h @@ -92,7 +92,7 @@ static inline int pthread_sigmask(int how, } #endif -char *virGetHostname(void); +char *virGetHostname(void) G_GNUC_NO_INLINE; char *virGetHostnameQuiet(void); char *virGetUserDirectory(void); diff --git a/src/util/viruuid.h b/src/util/viruuid.h index 6ea01bb7c1..5d64e58405 100644 --- a/src/util/viruuid.h +++ b/src/util/viruuid.h @@ -41,7 +41,7 @@ int virSetHostUUIDStr(const char *host_uuid); -int virGetHostUUID(unsigned char *host_uuid) ATTRIBUTE_NONNULL(1); +int virGetHostUUID(unsigned char *host_uuid) ATTRIBUTE_NONNULL(1) G_GNUC_NO_INLINE; int virUUIDIsValid(unsigned char *uuid); diff --git a/tests/meson.build b/tests/meson.build index 3956c6c5f9..ebac2131dc 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -105,6 +105,7 @@ if conf.has('WITH_QEMU') { 'name': 'qemucpumock' }, { 'name': 'qemuhotplugmock' }, { 'name': 'qemuxml2argvmock' }, + { 'name': 'virhostidmock' }, ] endif diff --git a/tests/virhostidmock.c b/tests/virhostidmock.c new file mode 100644 index 0000000000..bdf61c18ad --- /dev/null +++ b/tests/virhostidmock.c @@ -0,0 +1,36 @@ +/* + * 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 + * . + */ + +#include + +#include "util/virutil.h" +#include "util/viruuid.h" + +char * +virGetHostname(void) +{ + return g_strdup("hostname"); +} + + +int +virGetHostUUID(unsigned char *uuid) +{ + /* uuidgen --sha1 --namespace @dns --name "hostname" */ + const char *fakeuuid = "4a802f00-4cba-5df6-9679-a08c4c5b577f"; + + return virUUIDParse(fakeuuid, uuid); +}