"Daniel P. Berrange" <berrange(a)redhat.com> wrote:
This adds support for the domain events in the test driver. Code
is following the same pattern as the impl in the QEMU driver.
test.c | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 217 insertions(+), 6 deletions(-)
ACK.
Looks fine.
One minor optimization below:
diff --git a/src/test.c b/src/test.c
...
@@ -924,6 +985,7 @@ static int testPauseDomain (virDomainPtr
{
testConnPtr privconn = domain->conn->privateData;
virDomainObjPtr privdom;
+ virDomainEventPtr event = NULL;
int ret = -1;
testDriverLock(privconn);
@@ -945,11 +1007,18 @@ static int testPauseDomain (virDomainPtr
}
privdom->state = VIR_DOMAIN_PAUSED;
+ event = virDomainEventNewFromObj(privdom,
+ VIR_DOMAIN_EVENT_SUSPENDED,
+ VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
ret = 0;
cleanup:
if (privdom)
virDomainObjUnlock(privdom);
+ testDriverLock(privconn);
+ if (event)
+ testDomainEventQueue(privconn, event);
+ testDriverUnlock(privconn);
If event is NULL, don't fiddle with the lock at all:
if (event) {
testDriverLock(privconn);
testDomainEventQueue(privconn, event);
testDriverUnlock(privconn);
}
There is at least one other just like this.