On 25.06.2013 12:00, Daniel P. Berrange wrote:
> +#define DO_TEST(file, dev, fial, ...) \
> > + do { \
> > + const char *my_mon[] = { __VA_ARGS__, NULL}; \
> > + struct qemuHotplugTestData data = \
> > + {.domain_filename = file, .device_filename = dev, .fail = fial, \
> > + .mon = my_mon}; \
> > + if (virtTestRun(#file, 1, testQemuHotplug, &data) < 0)
\
> > + ret = -1; \
> > + } while (0)
What's with the 'fail' parameter you're passing across test cases.
AFAICT, no test needs to be aware of the fail status of any earlier
test. You're re-creating the fake monitor for each test case so
no state is shared between tests. Just setting the 'ret = -1' here
is sufficient
The parameter is there to tell the testQemuHotplug if error is expected
or not. For instance, changing a listen address is expected to fail.
Hence, qemuDomainChangeGraphics() called from the test function must
return -1. However, the test function knows the error is expected, so it
must return 0. This is controlled by 'fial'. I think we have similar
approach elsewhere in the test suite.
Michal