[PATCH 1/4] tests: Introduce chxml2xmlmock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



As of previous commit, the CH driver checks for /dev/kvm and/or
/dev/mshv presence. In order to make chxml2xmltest work
regardless of host configuration, introduce a mock that pretends
both of these files are accessible.

Fixes: 51c14df9670ba2f5d193b700f39e6464e1bc18c6
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 tests/chxml2xmlmock.c | 33 +++++++++++++++++++++++++++++++++
 tests/chxml2xmltest.c |  2 +-
 tests/meson.build     |  3 +++
 3 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 tests/chxml2xmlmock.c

diff --git a/tests/chxml2xmlmock.c b/tests/chxml2xmlmock.c
new file mode 100644
index 0000000000..73b210f35e
--- /dev/null
+++ b/tests/chxml2xmlmock.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2024 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/>.
+ */
+
+#include <config.h>
+#include <unistd.h>
+
+#include "internal.h"
+#include "virfile.h"
+
+bool
+virFileExists(const char *path)
+{
+    if (STREQ(path, "/dev/kvm"))
+        return true;
+    if (STREQ(path, "/dev/mshv"))
+        return true;
+    return access(path, F_OK) == 0;
+}
diff --git a/tests/chxml2xmltest.c b/tests/chxml2xmltest.c
index 97b485dc4a..a5a75a1505 100644
--- a/tests/chxml2xmltest.c
+++ b/tests/chxml2xmltest.c
@@ -74,4 +74,4 @@ mymain(void)
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
-VIR_TEST_MAIN(mymain)
+VIR_TEST_MAIN_PRELOAD(mymain, VIR_TEST_MOCK("chxml2xml"))
diff --git a/tests/meson.build b/tests/meson.build
index 4fc00e27da..3fcfa6b1e0 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -350,6 +350,9 @@ if conf.has('WITH_CH')
   tests += [
     { 'name': 'chxml2xmltest', 'link_with': [ ch_driver_impl ] },
   ]
+  mock_libs += [
+    { 'name': 'chxml2xmlmock' },
+  ]
 endif
 
 if conf.has('WITH_ESX')
-- 
2.43.0
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux