Re: [PATCH] tests: Fix libxlxml2domconfigtest

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

 



On 11/11/22 02:09, Michal Prívozník wrote:
On 11/11/22 03:25, Jim Fehlig wrote:
Downstream CI recently encountered failures of libxlxml2domconfigtest when
building libvirt packages against Xen 4.17 rc3 packages. The test fails on
vnuma_hvm config, where suddently the actual json produced by
libxl_domain_config_to_json() contains a 'pnode' entry in the 'vnuma_nodes'
list, which is absent in the expected json. It appears the test has thus far
passed by luck. E.g. I was able to make the test pass in the failing
environment by changing the meson buildtype from debugoptimized to debug.

When a VM config contains vnuma settings, libxlMakeVnumaList() checks if the
number of requested vnuma nodes exceeds the number of physical nodes. The
number of physical nodes is retrieved with libxl_get_physinfo(), which can
return wildly different results in the context of unit tests. This change
mocks libxl_get_physinfo() to return consistent results. All fields of the
libxl_physinfo struct are set to 0 except nr_nodes, which is set to 6 to
ensure the vnuma_hvm configuration is properly tested.

Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxx>
---
  tests/libxlmock.c                           | 15 +++++++++++++++
  tests/libxlxml2domconfigdata/vnuma-hvm.json |  5 +++++
  2 files changed, 20 insertions(+)

diff --git a/tests/libxlmock.c b/tests/libxlmock.c
index 4754597e5b..205d34df19 100644
--- a/tests/libxlmock.c
+++ b/tests/libxlmock.c
@@ -70,6 +70,21 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version_info,
      return &info;
  }
+VIR_MOCK_IMPL_RET_ARGS(libxl_get_physinfo,
+                       int,
+                       libxl_ctx *, ctx,
+                       libxl_physinfo *, physinfo)
+{
+    memset(physinfo, 0, sizeof(*physinfo));
+    physinfo->nr_nodes = 6;
+
+    /* silence gcc warning about unused function */
+    if (0)
+        real_libxl_get_physinfo(ctx, physinfo);
+
+    return 0;
+}
+
  VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
                         int, 0,
                         libxl_ctx *, ctx,
diff --git a/tests/libxlxml2domconfigdata/vnuma-hvm.json b/tests/libxlxml2domconfigdata/vnuma-hvm.json
index 2556c82d5f..c90ee823a4 100644
--- a/tests/libxlxml2domconfigdata/vnuma-hvm.json
+++ b/tests/libxlxml2domconfigdata/vnuma-hvm.json
@@ -39,6 +39,7 @@
                      41,
                      51
                  ],
+		"pnode": 1,

These look misaligned... and in fact they are, because you've used TABs.
Can you please switch to spaces?

Opps. I changed all the offending lines before pushing.

Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>

Thanks!
Jim





[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