[libvirt] [PATCHv2 1/2] Add test for linuxNodeGetCPUStats
Daniel P. Berrange
berrange at redhat.com
Wed Jan 22 10:47:34 UTC 2014
On Wed, Jan 22, 2014 at 10:53:45AM +0100, Ján Tomko wrote:
> Check if cpu stats are read correctly from a sample
> /proc/stat collected from a 24 CPU machine.
> ---
> src/libvirt_linux.syms | 1 +
> src/nodeinfo.c | 6 +-
> tests/nodeinfodata/linux-cpustat-24cpu.out | 150 ++++++++++++++++++++++++++++
> tests/nodeinfodata/linux-cpustat-24cpu.stat | 25 +++++
> tests/nodeinfotest.c | 131 ++++++++++++++++++++++++
> 5 files changed, 312 insertions(+), 1 deletion(-)
> create mode 100644 tests/nodeinfodata/linux-cpustat-24cpu.out
> create mode 100644 tests/nodeinfodata/linux-cpustat-24cpu.stat
>
> diff --git a/src/libvirt_linux.syms b/src/libvirt_linux.syms
> index 3500898..b3b2384 100644
> --- a/src/libvirt_linux.syms
> +++ b/src/libvirt_linux.syms
> @@ -3,6 +3,7 @@
> #
>
> # nodeinfo.h
> +linuxNodeGetCPUStats;
> linuxNodeInfoCPUPopulate;
>
> # util/virstatslinux.h
> diff --git a/src/nodeinfo.c b/src/nodeinfo.c
> index cba2fc1..9c236cd 100644
> --- a/src/nodeinfo.c
> +++ b/src/nodeinfo.c
> @@ -193,6 +193,10 @@ freebsdNodeGetMemoryStats(virNodeMemoryStatsPtr params,
> int linuxNodeInfoCPUPopulate(FILE *cpuinfo,
> const char *sysfs_dir,
> virNodeInfoPtr nodeinfo);
> +int linuxNodeGetCPUStats(FILE *procstat,
> + int cpuNum,
> + virNodeCPUStatsPtr params,
> + int *nparams);
>
> /* Return the positive decimal contents of the given
> * DIR/cpu%u/FILE, or -1 on error. If DEFAULT_VALUE is non-negative
> @@ -681,7 +685,7 @@ cleanup:
>
> # define TICK_TO_NSEC (1000ull * 1000ull * 1000ull / sysconf(_SC_CLK_TCK))
>
> -static int
> +int
> linuxNodeGetCPUStats(FILE *procstat,
> int cpuNum,
> virNodeCPUStatsPtr params,
[snip]
> diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c
> index 74f6d4d..6101551 100644
> --- a/tests/nodeinfotest.c
> +++ b/tests/nodeinfotest.c
> @@ -31,6 +31,13 @@ extern int linuxNodeInfoCPUPopulate(FILE *cpuinfo,
> char *sysfs_dir,
> virNodeInfoPtr nodeinfo);
>
> +extern int
> +linuxNodeGetCPUStats(FILE *procstat,
> + int cpuNum,
> + virNodeCPUStatsPtr params,
> + int *nparams);
Ewww.
The preferred way to handle testing of what would otherwise be a
static function is to export it in a 'priv' header, eg nodeinfopriv.h
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list