On Fri, Jul 26, 2019 at 03:47:55PM +0200, Ilias Stamatis wrote:
On Wed, Jul 24, 2019 at 4:19 PM Erik Skultety
<eskultet(a)redhat.com> wrote:
>
> On Tue, Jul 16, 2019 at 11:36:31PM +0200, Ilias Stamatis wrote:
> > Signed-off-by: Ilias Stamatis <stamatis.iliass(a)gmail.com>
> > ---
> > src/test/test_driver.c | 52 ++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 52 insertions(+)
> >
> > diff --git a/src/test/test_driver.c b/src/test/test_driver.c
> > index fcb80c9e47..55976eedf1 100644
> > --- a/src/test/test_driver.c
> > +++ b/src/test/test_driver.c
> > @@ -6845,6 +6845,57 @@ testDomainManagedSaveRemove(virDomainPtr dom, unsigned
int flags)
> > return 0;
> > }
> >
> > +
> > +static int
> > +testDomainMemoryStats(virDomainPtr dom,
> > + virDomainMemoryStatPtr stats,
> > + unsigned int nr_stats,
> > + unsigned int flags)
> > +{
> > + virDomainObjPtr vm;
> > + int ret = -1;
> > +
> > + virCheckFlags(0, -1);
> > +
> > + if (!(vm = testDomObjFromDomain(dom)))
> > + return -1;
> > +
> > + if (virDomainObjCheckActive(vm) < 0)
> > + goto cleanup;
> > +
> > + ret = 0;
> > +
> > +#define STATS_SET_PARAM(name, value) \
> > + if (ret < nr_stats) { \
> > + stats[ret].tag = name; \
> > + stats[ret].val = value; \
> > + ret++; \
> > + }
> > +
> > + if (virDomainDefHasMemballoon(vm->def)) {
> > + STATS_SET_PARAM(VIR_DOMAIN_MEMORY_STAT_ACTUAL_BALLOON, 1024000);
>
> ^This one...
>
> > + STATS_SET_PARAM(VIR_DOMAIN_MEMORY_STAT_SWAP_IN, 0);
> > + STATS_SET_PARAM(VIR_DOMAIN_MEMORY_STAT_SWAP_OUT, 0);
> > + STATS_SET_PARAM(VIR_DOMAIN_MEMORY_STAT_MAJOR_FAULT, 0);
> > + STATS_SET_PARAM(VIR_DOMAIN_MEMORY_STAT_MINOR_FAULT, 0);
> > + STATS_SET_PARAM(VIR_DOMAIN_MEMORY_STAT_UNUSED, 791584);
> > + STATS_SET_PARAM(VIR_DOMAIN_MEMORY_STAT_AVAILABLE, 977816);
>
> ...and this one should be taken from the definition from what is reported in
> <currentMemory>. The reasoning behind that is that you can have multiple
> machines defined and those values wouldn't make sense.
Right, I'll fix that.
> The rest can be semi-random in that the values need to be less than those I
> mentioned.
My concern here again is that we will have to send different values
every time depending on the config. E.g. currentMemory - 45000.
But is that good for testing?
Yes, because it's deterministic, it's based on the config value, if you don't
change the config in your test environment, the return values will always be
the same and will keep it stable.
Erik