[PATCH v2 5/9] tests: Add mock library for virGetHostname and virGetHostUUID

Ján Tomko jtomko at redhat.com
Wed Nov 4 14:37:27 UTC 2020


On a Wednesday in 2020, Peter Krempa wrote:
>The 'qemu_migration_cookie' module uses these. Provide a stable override
>for tests.
>
>Signed-off-by: Peter Krempa <pkrempa at redhat.com>
>---
> src/util/virutil.h |  2 +-
> src/util/viruuid.h |  2 +-
> tests/hostidmock.c | 36 ++++++++++++++++++++++++++++++++++++
> tests/meson.build  |  1 +
> 4 files changed, 39 insertions(+), 2 deletions(-)
> create mode 100644 tests/hostidmock.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/hostidmock.c b/tests/hostidmock.c
>new file mode 100644
>index 0000000000..bdf61c18ad
>--- /dev/null
>+++ b/tests/hostidmock.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
>+ * <http://www.gnu.org/licenses/>.
>+ */
>+
>+#include <config.h>
>+
>+#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);
>+}
>diff --git a/tests/meson.build b/tests/meson.build
>index 56a916c090..818fce65f3 100644
>--- a/tests/meson.build
>+++ b/tests/meson.build
>@@ -106,6 +106,7 @@ if conf.has('WITH_QEMU')
>     { 'name': 'qemucpumock' },
>     { 'name': 'qemuhotplugmock' },
>     { 'name': 'qemuxml2argvmock' },
>+    { 'name': 'hostidmock' },

'virhostidmock', please

Reviewed-by: Ján Tomko <jtomko at redhat.com>

Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20201104/6900fd36/attachment-0001.sig>


More information about the libvir-list mailing list