The original virNumaGetNodeCPUs() returns an empty virBitmap if
given NUMA node has no CPUs. But that's not how our mock behaves
- it looks under $fakesysfs/node/node$N/cpulist only to find an
empty file which is then passed to virBitmapParseUnlimited()
which threats such input as error.
Fortunately, we don't have any fake sysfs data where this path is
hit, but we might soon.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/virnumamock.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tests/virnumamock.c b/tests/virnumamock.c
index 3a203ded77..ff9c6e951d 100644
--- a/tests/virnumamock.c
+++ b/tests/virnumamock.c
@@ -172,7 +172,12 @@ virNumaGetNodeCPUs(int node, virBitmap **cpus)
SYSFS_SYSTEM_PATH, node) < 0)
return -1;
- *cpus = virBitmapParseUnlimited(cpulist);
+ if (STREQ(cpulist, "")) {
+ unsigned int max_n_cpus = virNumaGetMaxCPUs();
+ *cpus = virBitmapNew(max_n_cpus);
+ } else {
+ *cpus = virBitmapParseUnlimited(cpulist);
+ }
if (!*cpus)
goto cleanup;
--
2.26.3