Use gnulib, starting with its physmem and getaddrinfo modules.

New files go into these directories:
  gnulib/lib
  gnulib/m4
  gnulib/tests

* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile.  Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4.  Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file.  Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.

* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.


Author: Jim Meyering <meyering@redhat.com>
This commit is contained in:
Jim Meyering 2007-12-05 21:31:07 +00:00
parent 1d1cf57b9b
commit 261e7581b1
26 changed files with 225 additions and 105 deletions

View File

@ -9,27 +9,18 @@ config.cache
config.h config.h
config.h.in config.h.in
config.log config.log
config.guess
config.status config.status
config.sub
stamp-h stamp-h
stamp-h1 stamp-h1
libtool libtool
ltconfig ltconfig
ltmain.sh
update.log update.log
libvirt.pc libvirt.pc
libvirt.spec libvirt.spec
COPYING COPYING
m4 m4
ABOUT-NLS ABOUT-NLS
config.rpath
mkinstalldirs
coverage coverage
results.log results.log
libvirt-*.tar.gz libvirt-*.tar.gz
INSTALL INSTALL
compile
depcomp
install-sh
missing

View File

@ -1,3 +1,53 @@
Wed Dec 5 22:30:03 CET 2007 Jim Meyering <meyering@redhat.com>
Use gnulib, starting with its physmem and getaddrinfo modules.
New files go into these directories:
gnulib/lib
gnulib/m4
gnulib/tests
* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put
gl_EARLY before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile. Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4. Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file. Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib
-I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib
-I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.
* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.
Wed Dec 5 21:44:17 CET 2007 Daniel Veillard <veillard@redhat.com> Wed Dec 5 21:44:17 CET 2007 Daniel Veillard <veillard@redhat.com>
* qemud/remote.c: rename remoteDispatchAuthPolkitInit to * qemud/remote.c: rename remoteDispatchAuthPolkitInit to

View File

@ -1,8 +1,9 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
SUBDIRS = include src qemud proxy docs @PYTHON_SUBDIR@ tests po m4 scripts SUBDIRS = gnulib/lib include src qemud proxy docs gnulib/tests \
@PYTHON_SUBDIR@ tests po scripts
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \ EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \
libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \ libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \

View File

@ -57,7 +57,7 @@ fi
autopoint --force autopoint --force
#rm -rf m4 #rm -rf m4
libtoolize --copy --force libtoolize --copy --force
aclocal -I m4 aclocal -I m4 -I gnulib/m4
autoheader autoheader
automake --add-missing automake --add-missing
autoconf autoconf

117
bootstrap Executable file
View File

@ -0,0 +1,117 @@
#!/bin/sh
# Run this after autogen.sh, to pull in all of the gnulib-related bits.
# It's important to run *after* autogen.sh, since it updates some of
# the same files autogen.sh does, yet those from gnulib are newer,
# and match the tests. So if a gnulib bug has been fixed since the
# snapshot taken for whatever gettext release you're using, yet you
# run "make check" against the wrong version, the corresponding unit
# test in gl-tests/ may well fail.
usage() {
echo >&2 "\
Usage: $0 [OPTION]...
Bootstrap this package from the checked-out sources.
Options:
--gnulib-srcdir=DIRNAME Specify the local directory where gnulib
sources reside. Use this if you already
have gnulib sources on your machine, and
do not want to waste your bandwidth downloading
them again.
If the file bootstrap.conf exists in the current working directory, its
contents are read as shell variables to configure the bootstrap.
Running without arguments will suffice in most cases.
"
}
for option
do
case $option in
--help)
usage
exit;;
--gnulib-srcdir=*)
GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;;
*)
echo >&2 "$0: $option: unknown option"
exit 1;;
esac
done
cleanup_gnulib() {
st=$?
rm -fr .gnulib
exit $st
}
case ${GNULIB_SRCDIR--} in
-)
if [ ! -d gnulib ]; then
echo "$0: getting gnulib files..."
trap cleanup_gnulib 1 2 13 15
git clone --depth 1 git://git.sv.gnu.org/gnulib .gnulib ||
cleanup_gnulib
trap - 1 2 13 15
fi
GNULIB_SRCDIR=.gnulib
esac
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
<$gnulib_tool || exit
# Tell gnulib to:
# put tests in new gnulib/tests/ dir
# put *.m4 files in new gnulib/m4/ dir
# put *.[ch] files in new gnulib/lib/ dir.
# With --avoid=snprintf, we drop support for systems (many!) with
# losing snprintf but pull in about 30 fewer files
# With the current gnulib and gettext-0.17, the following
# files are added to m4/ by both. But gnulib is stable enough
# and gettext-0.16.1 is new enough that they are identical.
# compiler-flags.m4
# inttypes_h.m4
# longlong.m4
# size_max.m4
# stdint_h.m4
# wchar_t.m4
# wint_t.m4
# xsize.m4
# Note that if we don't exclude the snprintf module, there are two tests
# that have incompatible licenses, so we would have to exclude them. Even
# excluding those two test modules, find reports a total of 94 added files.
# Yes, snprintf has some heavy-duty dependents.
# --avoid=snprintf-tests
# --avoid=vasnprintf-tests
avoid='--avoid=snprintf'
avoid='
--avoid=snprintf-tests
--avoid=vasnprintf-tests
--avoid=alloca-opt-tests
'
$gnulib_tool \
--lgpl \
$avoid \
--with-tests \
--m4-base=gnulib/m4 \
--source-base=gnulib/lib \
--tests-base=gnulib/tests \
--import physmem getaddrinfo
rm -f \
.gitignore \
gnulib/lib/.gitignore \
gnulib/m4/.gitignore \
gnulib/tests/.gitignore
(cd gnulib/lib &&
(cat .cvsignore; \
ls -1 *.in.h|sed 's/\.in\.h/.h/') | sort -u > .t; mv .t .cvsignore)

9
build-aux/.cvsignore Normal file
View File

@ -0,0 +1,9 @@
compile
config.guess
config.rpath
config.sub
depcomp
install-sh
ltmain.sh
missing
mkinstalldirs

View File

@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(libvirt, 0.3.3) AC_INIT(libvirt, 0.3.3)
AC_CONFIG_SRCDIR(src/libvirt.c) AC_CONFIG_SRCDIR(src/libvirt.c)
AC_CONFIG_AUX_DIR(build-aux)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
dnl Make automake keep quiet about wildcards & other GNUmake-isms dnl Make automake keep quiet about wildcards & other GNUmake-isms
AM_INIT_AUTOMAKE([-Wno-portability]) AM_INIT_AUTOMAKE([-Wno-portability])
@ -29,11 +30,15 @@ POLKIT_REQUIRED="0.6"
dnl Checks for C compiler. dnl Checks for C compiler.
AC_PROG_CC AC_PROG_CC
AM_PROG_CC_STDC
AC_C_CONST
AC_PROG_INSTALL AC_PROG_INSTALL
AC_PROG_CPP AC_PROG_CPP
gl_EARLY
gl_INIT
AM_PROG_CC_STDC
AC_C_CONST
dnl Make sure we have an ANSI compiler dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES AM_C_PROTOTYPES
test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant) test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
@ -626,11 +631,12 @@ cp COPYING.LIB COPYING
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \ AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
docs/examples/Makefile docs/devhelp/Makefile \ docs/examples/Makefile docs/devhelp/Makefile \
docs/examples/python/Makefile \ docs/examples/python/Makefile \
gnulib/lib/Makefile tests/gnulib/Makefile \
libvirt.pc libvirt.spec \ libvirt.pc libvirt.spec \
po/Makefile.in scripts/Makefile \ po/Makefile.in scripts/Makefile \
include/libvirt/Makefile include/libvirt/libvirt.h \ include/libvirt/Makefile include/libvirt/libvirt.h \
python/Makefile python/tests/Makefile \ python/Makefile python/tests/Makefile \
qemud/Makefile m4/Makefile \ qemud/Makefile \
tests/Makefile proxy/Makefile \ tests/Makefile proxy/Makefile \
tests/xml2sexprdata/Makefile \ tests/xml2sexprdata/Makefile \
tests/sexpr2xmldata/Makefile \ tests/sexpr2xmldata/Makefile \

View File

@ -1,3 +0,0 @@
EXTRA_DIST = compiler-flags.m4

View File

@ -28,6 +28,7 @@ libvirtd_SOURCES = \
#-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L #-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L
libvirtd_CFLAGS = \ libvirtd_CFLAGS = \
-I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_srcdir)/include -I$(top_builddir)/include \ -I$(top_srcdir)/include -I$(top_builddir)/include \
$(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) $(SASL_CFLAGS) \ $(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) $(SASL_CFLAGS) \
$(POLKIT_CFLAGS) \ $(POLKIT_CFLAGS) \
@ -40,7 +41,7 @@ libvirtd_CFLAGS = \
libvirtd_LDFLAGS = $(WARN_CFLAGS) $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \ libvirtd_LDFLAGS = $(WARN_CFLAGS) $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \
$(POLKIT_LIBS) $(POLKIT_LIBS)
libvirtd_DEPENDENCIES = ../src/libvirt.la libvirtd_DEPENDENCIES = ../src/libvirt.la
libvirtd_LDADD = ../src/libvirt.la libvirtd_LDADD = ../src/libvirt.la ../gnulib/lib/libgnu.la
if HAVE_POLKIT if HAVE_POLKIT

View File

@ -23,8 +23,6 @@
#include "config.h" #include "config.h"
#define _GNU_SOURCE /* for asprintf */
#include <sys/types.h> #include <sys/types.h>
#include <sys/wait.h> #include <sys/wait.h>
#include <sys/stat.h> #include <sys/stat.h>
@ -53,6 +51,7 @@
#include "libvirt/virterror.h" #include "libvirt/virterror.h"
#include "internal.h" #include "internal.h"
#include "getaddrinfo.h"
#include "../src/internal.h" #include "../src/internal.h"
#include "../src/remote_internal.h" #include "../src/remote_internal.h"
#include "../src/conf.h" #include "../src/conf.h"

View File

@ -1,6 +1,8 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
INCLUDES = -I$(top_builddir)/include \ INCLUDES = \
-I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I../include \
-I@top_srcdir@/include \ -I@top_srcdir@/include \
-I@top_srcdir@/qemud \ -I@top_srcdir@/qemud \
$(LIBXML_CFLAGS) \ $(LIBXML_CFLAGS) \
@ -15,7 +17,7 @@ INCLUDES = -I$(top_builddir)/include \
$(WARN_CFLAGS) \ $(WARN_CFLAGS) \
$(LIBVIRT_FEATURES) $(LIBVIRT_FEATURES)
DEPS = libvirt.la DEPS = libvirt.la
LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la ../gnulib/lib/libgnu.la
VIRSH_LIBS = @VIRSH_LIBS@ VIRSH_LIBS = @VIRSH_LIBS@
confdir = $(sysconfdir)/libvirt/ confdir = $(sysconfdir)/libvirt/
@ -61,7 +63,7 @@ SERVER_SOURCES = \
libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES) libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES)
libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \ libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \
@CYGWIN_EXTRA_LIBADD@ @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \ libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \
-version-info @LIBVIRT_VERSION_INFO@ \ -version-info @LIBVIRT_VERSION_INFO@ \
$(COVERAGE_CFLAGS:-f%=-Wc,-f%) \ $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \

View File

@ -8,7 +8,8 @@
* Daniel Veillard <veillard@redhat.com> * Daniel Veillard <veillard@redhat.com>
*/ */
#define _GNU_SOURCE /* want strndup ! */ #include "config.h"
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>

View File

@ -29,14 +29,14 @@
#include <ctype.h> #include <ctype.h>
#include "nodeinfo.h" #include "nodeinfo.h"
#include "physmem.h"
#ifdef __linux__ #ifdef __linux__
#define MEMINFO_PATH "/proc/meminfo"
#define CPUINFO_PATH "/proc/cpuinfo" #define CPUINFO_PATH "/proc/cpuinfo"
/* NB, these are not static as we need to call them from testsuite */ /* NB, these are not static as we need to call them from testsuite */
int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo); int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo,
int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo); virNodeInfoPtr nodeinfo);
int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo) { int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo) {
char line[1024]; char line[1024];
@ -114,44 +114,11 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
return 0; return 0;
} }
int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo,
virNodeInfoPtr nodeinfo) {
char line[1024];
nodeinfo->memory = 0;
while (fgets(line, sizeof(line), meminfo) != NULL) {
if (STREQLEN(line, "MemTotal:", 9)) {
char *p;
unsigned int ui;
if (xstrtol_ui(line + 10, &p, 10, &ui) == 0
&& (*p == '\0' || isspace(*p))) {
nodeinfo->memory = ui;
break;
}
}
}
if (!nodeinfo->memory) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
"no memory found");
return -1;
}
return 0;
}
#endif #endif
int virNodeInfoPopulate(virConnectPtr conn, int virNodeInfoPopulate(virConnectPtr conn,
virNodeInfoPtr nodeinfo) { virNodeInfoPtr nodeinfo) {
struct utsname info; struct utsname info;
#ifdef __linux__
int ret;
FILE *cpuinfo, *meminfo;
#endif
if (uname(&info) < 0) { if (uname(&info) < 0) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR, __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
@ -164,7 +131,9 @@ int virNodeInfoPopulate(virConnectPtr conn,
nodeinfo->model[sizeof(nodeinfo->model)-1] = '\0'; nodeinfo->model[sizeof(nodeinfo->model)-1] = '\0';
#ifdef __linux__ #ifdef __linux__
cpuinfo = fopen(CPUINFO_PATH, "r"); {
int ret;
FILE *cpuinfo = fopen(CPUINFO_PATH, "r");
if (!cpuinfo) { if (!cpuinfo) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR, __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
@ -176,17 +145,11 @@ int virNodeInfoPopulate(virConnectPtr conn,
if (ret < 0) if (ret < 0)
return -1; return -1;
meminfo = fopen(MEMINFO_PATH, "r"); /* Convert to KB. */
if (!meminfo) { nodeinfo->memory = physmem_total () / 1024;
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
"cannot open %s %s", MEMINFO_PATH, strerror(errno));
return -1;
}
ret = linuxNodeInfoMemPopulate(conn, meminfo, nodeinfo);
fclose(meminfo);
return ret; return ret;
}
#else #else
/* XXX Solaris will need an impl later if they port QEMU driver */ /* XXX Solaris will need an impl later if they port QEMU driver */
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR, __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,

View File

@ -29,8 +29,6 @@
#include <config.h> #include <config.h>
#define _GNU_SOURCE /* for asprintf */
#include <sys/types.h> #include <sys/types.h>
#include <sys/poll.h> #include <sys/poll.h>
#include <dirent.h> #include <dirent.h>

View File

@ -25,8 +25,6 @@
#ifdef WITH_QEMU #ifdef WITH_QEMU
#define _GNU_SOURCE /* for asprintf */
#include <sys/types.h> #include <sys/types.h>
#include <sys/poll.h> #include <sys/poll.h>
#include <dirent.h> #include <dirent.h>

View File

@ -21,8 +21,6 @@
* Author: Richard Jones <rjones@redhat.com> * Author: Richard Jones <rjones@redhat.com>
*/ */
#define _GNU_SOURCE /* for asprintf */
#include "config.h" #include "config.h"
#include <stdio.h> #include <stdio.h>
@ -55,6 +53,7 @@
#include "internal.h" #include "internal.h"
#include "driver.h" #include "driver.h"
#include "getaddrinfo.h"
#include "remote_internal.h" #include "remote_internal.h"
#include "remote_protocol.h" #include "remote_protocol.h"

View File

@ -10,7 +10,7 @@
* archive for more details. * archive for more details.
*/ */
#define _GNU_SOURCE /* for strndup */ #include "config.h"
#include "sexpr.h" #include "sexpr.h"
#include "internal.h" #include "internal.h"

View File

@ -25,8 +25,6 @@
#ifdef WITH_TEST #ifdef WITH_TEST
#define _GNU_SOURCE /* for asprintf */
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <sys/time.h> #include <sys/time.h>

View File

@ -1,6 +1,7 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdata SUBDIRS = virshdata confdata sexpr2xmldata \
xml2sexprdata xmconfigdata xencapsdata
# Wierd libtool related juju... # Wierd libtool related juju...
# #
@ -11,6 +12,7 @@ SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdat
LIBVIRT = $(wildcard $(top_builddir)/src/.libs/libvirt_la-*.o) LIBVIRT = $(wildcard $(top_builddir)/src/.libs/libvirt_la-*.o)
INCLUDES = \ INCLUDES = \
-I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_builddir)/include \ -I$(top_builddir)/include \
-I$(top_builddir)/src \ -I$(top_builddir)/src \
-I$(top_srcdir)/include \ -I$(top_srcdir)/include \
@ -31,6 +33,7 @@ LDADDS = \
$(SASL_LIBS) \ $(SASL_LIBS) \
$(WARN_CFLAGS) \ $(WARN_CFLAGS) \
$(LIBVIRT) \ $(LIBVIRT) \
../gnulib/lib/libgnu.la \
$(COVERAGE_LDFLAGS) $(COVERAGE_LDFLAGS)
EXTRA_DIST = \ EXTRA_DIST = \

View File

@ -1 +1 @@
CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 2053960 CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1

View File

@ -1 +1 @@
CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 4059540 CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1

View File

@ -1 +1 @@
CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1

View File

@ -1 +1 @@
CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1

View File

@ -1 +1 @@
CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1

View File

@ -1 +1 @@
CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272 CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1

View File

@ -16,14 +16,13 @@ static char *abs_top_srcdir;
#ifdef __linux__ #ifdef __linux__
extern int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo); extern int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo);
extern int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo);
static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofile, const char *outputfile) { static int linuxTestCompareFiles(const char *cpuinfofile, const char *outputfile) {
char actualData[MAX_FILE]; char actualData[MAX_FILE];
char expectData[MAX_FILE]; char expectData[MAX_FILE];
char *expect = &expectData[0]; char *expect = &expectData[0];
virNodeInfo nodeinfo; virNodeInfo nodeinfo;
FILE *cpuinfo, *meminfo; FILE *cpuinfo;
if (virtTestLoadFile(outputfile, &expect, MAX_FILE) < 0) if (virtTestLoadFile(outputfile, &expect, MAX_FILE) < 0)
return -1; return -1;
@ -37,19 +36,10 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
} }
fclose(cpuinfo); fclose(cpuinfo);
meminfo = fopen(meminfofile, "r");
if (!meminfo)
return -1;
if (linuxNodeInfoMemPopulate(NULL, meminfo, &nodeinfo) < 0) {
fclose(meminfo);
return -1;
}
fclose(meminfo);
snprintf(actualData, MAX_FILE, snprintf(actualData, MAX_FILE,
"CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u, Memory: %lu\n", "CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u\n",
nodeinfo.cpus, nodeinfo.mhz, nodeinfo.nodes, nodeinfo.sockets, nodeinfo.cpus, nodeinfo.mhz, nodeinfo.nodes, nodeinfo.sockets,
nodeinfo.cores, nodeinfo.threads, nodeinfo.memory); nodeinfo.cores, nodeinfo.threads);
if (STRNEQ(actualData, expectData)) { if (STRNEQ(actualData, expectData)) {
if (getenv("DEBUG_TESTS")) { if (getenv("DEBUG_TESTS")) {
@ -65,15 +55,12 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
static int linuxTestNodeInfo(const void *data) { static int linuxTestNodeInfo(const void *data) {
char cpuinfo[PATH_MAX]; char cpuinfo[PATH_MAX];
char meminfo[PATH_MAX];
char output[PATH_MAX]; char output[PATH_MAX];
snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo", snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo",
abs_top_srcdir, (const char*)data); abs_top_srcdir, (const char*)data);
snprintf(meminfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.meminfo",
abs_top_srcdir, (const char*)data);
snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt", snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt",
abs_top_srcdir, (const char*)data); abs_top_srcdir, (const char*)data);
return linuxTestCompareFiles(cpuinfo, meminfo, output); return linuxTestCompareFiles(cpuinfo, output);
} }
#endif #endif