Re: [libvirt] [PATCH 4/8] test: Refactor test driver event sending

2015-06-19 Thread Michal Privoznik
On 16.06.2015 19:43, Peter Krempa wrote:
 Make testObjectEventQueue tolerant to NULL @event and move it so that it
 does not require a prototype. Additionally add
 testObjectEventQueueUnlocked that will lock @driver before sending the
 event.
 
 Refactor the rest of the codebase to make use of the above features
 ---
  src/test/test_driver.c | 112 
 +++--
  1 file changed, 44 insertions(+), 68 deletions(-)
 
 diff --git a/src/test/test_driver.c b/src/test/test_driver.c
 index dc6e49a..20d3c71 100644
 --- a/src/test/test_driver.c
 +++ b/src/test/test_driver.c
 @@ -137,8 +137,6 @@ static const virNodeInfo defaultNodeInfo = {
 
 


 @@ -3385,8 +3386,7 @@ static virNetworkPtr testNetworkCreateXML(virConnectPtr 
 conn, const char *xml)
 
   cleanup:
  virNetworkDefFree(def);
 -if (event)
 -testObjectEventQueue(privconn, event);
 +testObjectEventQueue(privconn, event);

Unlocked()

  virNetworkObjEndAPI(net);
  return ret;
  }
 @@ -3415,8 +3415,7 @@ virNetworkPtr testNetworkDefineXML(virConnectPtr conn, 
 const char *xml)
 
   cleanup:
  virNetworkDefFree(def);
 -if (event)
 -testObjectEventQueue(privconn, event);
 +testObjectEventQueue(privconn, event);

Unlocked()

  virNetworkObjEndAPI(net);
  return ret;
  }
 @@ -3449,8 +3448,7 @@ static int testNetworkUndefine(virNetworkPtr network)
  ret = 0;
 
   cleanup:
 -if (event)
 -testObjectEventQueue(privconn, event);
 +testObjectEventQueue(privconn, event);

Unlocked()

  virNetworkObjEndAPI(privnet);
  return ret;
  }
 @@ -3527,8 +3525,7 @@ static int testNetworkCreate(virNetworkPtr network)
  ret = 0;
 
   cleanup:
 -if (event)
 -testObjectEventQueue(privconn, event);
 +testObjectEventQueue(privconn, event);

Unlocked()

  virNetworkObjEndAPI(privnet);
  return ret;
  }
 @@ -3556,8 +3553,7 @@ static int testNetworkDestroy(virNetworkPtr network)
  ret = 0;
 
   cleanup:
 -if (event)
 -testObjectEventQueue(privconn, event);
 +testObjectEventQueue(privconn, event);

Unlocked()

  virNetworkObjEndAPI(privnet);
  return ret;
  }
 @@ -5840,15 +5836,6 @@ testConnectNetworkEventDeregisterAny(virConnectPtr 
 conn,
  return ret;
  }
 

ACK with those nits fixed.

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH 4/8] test: Refactor test driver event sending

2015-06-16 Thread Peter Krempa
Make testObjectEventQueue tolerant to NULL @event and move it so that it
does not require a prototype. Additionally add
testObjectEventQueueUnlocked that will lock @driver before sending the
event.

Refactor the rest of the codebase to make use of the above features
---
 src/test/test_driver.c | 112 +++--
 1 file changed, 44 insertions(+), 68 deletions(-)

diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index dc6e49a..20d3c71 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -137,8 +137,6 @@ static const virNodeInfo defaultNodeInfo = {


 static int testConnectClose(virConnectPtr conn);
-static void testObjectEventQueue(testConnPtr driver,
- virObjectEventPtr event);

 static void testDriverLock(testConnPtr driver)
 {
@@ -150,6 +148,28 @@ static void testDriverUnlock(testConnPtr driver)
 virMutexUnlock(driver-lock);
 }

+static void testObjectEventQueue(testConnPtr driver,
+ virObjectEventPtr event)
+{
+if (!event)
+return;
+
+virObjectEventStateQueue(driver-eventState, event);
+}
+
+
+static void
+testObjectEventQueueUnlocked(testConnPtr driver,
+ virObjectEventPtr event)
+{
+if (!event)
+return;
+
+testDriverLock(driver);
+testObjectEventQueue(driver, event);
+testDriverUnlock(driver);
+}
+
 static void *testDomainObjPrivateAlloc(void)
 {
 testDomainObjPrivatePtr priv;
@@ -1774,8 +1794,7 @@ testDomainCreateXML(virConnectPtr conn, const char *xml,
  cleanup:
 if (dom)
 virObjectUnlock(dom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 virDomainDefFree(def);
 testDriverUnlock(privconn);
 return ret;
@@ -1896,8 +1915,7 @@ static int testDomainDestroy(virDomainPtr domain)
 ret = 0;
  cleanup:
 virDomainObjEndAPI(privdom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -1927,11 +1945,7 @@ static int testDomainResume(virDomainPtr domain)

  cleanup:
 virDomainObjEndAPI(privdom);
-if (event) {
-testDriverLock(privconn);
-testObjectEventQueue(privconn, event);
-testDriverUnlock(privconn);
-}
+testObjectEventQueueUnlocked(privconn, event);
 return ret;
 }

@@ -1961,12 +1975,7 @@ static int testDomainSuspend(virDomainPtr domain)

  cleanup:
 virDomainObjEndAPI(privdom);
-
-if (event) {
-testDriverLock(privconn);
-testObjectEventQueue(privconn, event);
-testDriverUnlock(privconn);
-}
+testObjectEventQueueUnlocked(privconn, event);
 return ret;
 }

@@ -2002,8 +2011,7 @@ static int testDomainShutdownFlags(virDomainPtr domain,
 ret = 0;
  cleanup:
 virDomainObjEndAPI(privdom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -2070,8 +2078,7 @@ static int testDomainReboot(virDomainPtr domain,
 ret = 0;
  cleanup:
 virDomainObjEndAPI(privdom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -2214,8 +2221,7 @@ testDomainSaveFlags(virDomainPtr domain, const char *path,
 unlink(path);
 }
 virDomainObjEndAPI(privdom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -2319,8 +2325,7 @@ testDomainRestoreFlags(virConnectPtr conn,
 VIR_FORCE_CLOSE(fd);
 if (dom)
 virObjectUnlock(dom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -2389,8 +2394,7 @@ static int testDomainCoreDumpWithFormat(virDomainPtr 
domain,
  cleanup:
 VIR_FORCE_CLOSE(fd);
 virDomainObjEndAPI(privdom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -2817,8 +2821,7 @@ static virDomainPtr 
testDomainDefineXMLFlags(virConnectPtr conn,
 virDomainDefFree(oldDef);
 if (dom)
 virObjectUnlock(dom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -2938,8 +2941,7 @@ static int testDomainCreateWithFlags(virDomainPtr domain, 
unsigned int flags)

  cleanup:
 virDomainObjEndAPI(privdom);
-if (event)
-testObjectEventQueue(privconn, event);
+testObjectEventQueue(privconn, event);
 testDriverUnlock(privconn);
 return ret;
 }
@@ -3006,8 +3008,7 @@ static int