From eddb74776301338b7066555076740689bb69e950 Mon Sep 17 00:00:00 2001 Message-Id: From: Shivaprasad G Bhat Date: Wed, 5 Aug 2015 18:18:36 +0200 Subject: [PATCH] tests: Prepare for subcore tests The nodeGetThreadsPerSubcore() function is mocked to return 8 for ppc64 tests, which corresponds to the default subcore mode. Update the expected output for the deconfigured-cpus nodeinfo test to account for this change. Signed-off-by: Shivaprasad G Bhat Signed-off-by: Andrea Bolognani (cherry picked from commit 3020f550cad1f928f6e98308453d00cd68fa0d86) Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1213713 Signed-off-by: Andrea Bolognani Signed-off-by: Jiri Denemark --- tests/Makefile.am | 6 ++++ .../nodeinfodata/linux-ppc64-deconf-cpus.expected | 2 +- tests/nodeinfomock.c | 35 ++++++++++++++++++++++ tests/nodeinfotest.c | 2 +- 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 tests/nodeinfomock.c diff --git a/tests/Makefile.am b/tests/Makefile.am index b202195..bde7f5b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -412,6 +412,7 @@ test_libraries = libshunload.la \ vircgroupmock.la \ virpcimock.la \ virnetdevmock.la \ + nodeinfomock.la \ $(NULL) if WITH_QEMU test_libraries += libqemumonitortestutils.la \ @@ -1048,6 +1049,11 @@ virpcimock_la_LIBADD = $(GNULIB_LIBS) \ ../src/libvirt.la virpcimock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS) +nodeinfomock_la_SOURCES = \ + nodeinfomock.c +nodeinfomock_la_CFLAGS = $(AM_CFLAGS) +nodeinfomock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS) + virnetdevtest_SOURCES = \ virnetdevtest.c testutils.h testutils.c virnetdevtest_CFLAGS = $(AM_CFLAGS) $(LIBNL_CFLAGS) diff --git a/tests/nodeinfodata/linux-ppc64-deconf-cpus.expected b/tests/nodeinfodata/linux-ppc64-deconf-cpus.expected index 304f423..113bfa8 100644 --- a/tests/nodeinfodata/linux-ppc64-deconf-cpus.expected +++ b/tests/nodeinfodata/linux-ppc64-deconf-cpus.expected @@ -1 +1 @@ -CPUs: 10/80, MHz: 3690, Nodes: 1, Sockets: 1, Cores: 80, Threads: 1 +CPUs: 80/80, MHz: 3690, Nodes: 1, Sockets: 1, Cores: 80, Threads: 1 diff --git a/tests/nodeinfomock.c b/tests/nodeinfomock.c new file mode 100644 index 0000000..b9c0152 --- /dev/null +++ b/tests/nodeinfomock.c @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2015 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 + * . + * + */ + +#include + +#include "internal.h" +#include "nodeinfo.h" + +int +nodeGetThreadsPerSubcore(virArch arch) +{ + int threads_per_subcore = 0; + + // Emulate SMT=8 on POWER hardware + if (ARCH_IS_PPC64(arch)) + threads_per_subcore = 8; + + return threads_per_subcore; +} diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c index 3fffdb2..ccef4a9 100644 --- a/tests/nodeinfotest.c +++ b/tests/nodeinfotest.c @@ -256,6 +256,6 @@ mymain(void) return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE; } -VIRT_TEST_MAIN(mymain) +VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/nodeinfomock.so") #endif /* __linux__ */ -- 2.5.0