[libvirt] [PATCH 15/20] test: reject unknown flags

Eric Blake eblake at redhat.com
Wed Jul 6 23:23:58 UTC 2011


* src/test/test_driver.c (testOpen, testDomainCoreDump)
(testOpenNetwork, testNetworkGetXMLDesc, testOpenInterface)
(testInterfaceChangeBegin, testInterfaceChangeCommit)
(testInterfaceChangeRollback, testInterfaceGetXMLDesc)
(testInterfaceDefineXML, testInterfaceCreate)
(testInterfaceDestroy, testStorageOpen, testStoragePoolStart)
(testStorageFindPoolSources, testStoragePoolCreate)
(testStoragePoolDefine, testStoragePoolBuild)
(testStoragePoolDelete, testStoragePoolRefresh)
(testStoragePoolGetXMLDesc, testStorageVolumeCreateXML)
(testStorageVolumeCreateXMLFrom, testStorageVolumeDelete)
(testStorageVolumeGetXMLDesc, testDevMonOpen)
(testNodeNumOfDevices, testNodeListDevices)
(testNodeDeviceGetXMLDesc, testNodeDeviceCreateXML)
(testSecretOpen, testNWFilterOpen): Reject unknown flags.
---
 src/test/test_driver.c |  144 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 112 insertions(+), 32 deletions(-)

diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 98daca8..8dac713 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -1099,11 +1099,13 @@ static int testOpenFromFile(virConnectPtr conn,

 static virDrvOpenStatus testOpen(virConnectPtr conn,
                                  virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                 unsigned int flags ATTRIBUTE_UNUSED)
+                                 unsigned int flags)
 {
     int ret;
     testConnPtr privconn;

+    virCheckFlags(0, VIR_DRV_OPEN_ERROR);
+
     if (!conn->uri)
         return VIR_DRV_OPEN_DECLINED;

@@ -1904,7 +1906,7 @@ cleanup:

 static int testDomainCoreDump(virDomainPtr domain,
                               const char *to,
-                              unsigned int flags ATTRIBUTE_UNUSED)
+                              unsigned int flags)
 {
     testConnPtr privconn = domain->conn->privateData;
     int fd = -1;
@@ -1912,6 +1914,8 @@ static int testDomainCoreDump(virDomainPtr domain,
     virDomainEventPtr event = NULL;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privdom = virDomainFindByName(&privconn->domains,
                                   domain->name);
@@ -2843,7 +2847,10 @@ error:

 static virDrvOpenStatus testOpenNetwork(virConnectPtr conn,
                                         virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                        unsigned int flags ATTRIBUTE_UNUSED) {
+                                        unsigned int flags)
+{
+    virCheckFlags(0, VIR_DRV_OPEN_ERROR);
+
     if (STRNEQ(conn->driver->name, "Test"))
         return VIR_DRV_OPEN_DECLINED;

@@ -3178,12 +3185,14 @@ cleanup:
 }

 static char *testNetworkGetXMLDesc(virNetworkPtr network,
-                                   unsigned int flags ATTRIBUTE_UNUSED)
+                                   unsigned int flags)
 {
     testConnPtr privconn = network->conn->privateData;
     virNetworkObjPtr privnet;
     char *ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     privnet = virNetworkFindByName(&privconn->networks,
                                    network->name);
@@ -3292,8 +3301,10 @@ cleanup:

 static virDrvOpenStatus testOpenInterface(virConnectPtr conn,
                                           virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                          unsigned int flags ATTRIBUTE_UNUSED)
+                                          unsigned int flags)
 {
+    virCheckFlags(0, VIR_DRV_OPEN_ERROR);
+
     if (STRNEQ(conn->driver->name, "Test"))
         return VIR_DRV_OPEN_DECLINED;

@@ -3476,11 +3487,13 @@ cleanup:
 }

 static int testInterfaceChangeBegin(virConnectPtr conn,
-                                    unsigned int flags ATTRIBUTE_UNUSED)
+                                    unsigned int flags)
 {
     testConnPtr privconn = conn->privateData;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     if (privconn->transaction_running) {
         testError(VIR_ERR_OPERATION_INVALID,
@@ -3501,11 +3514,13 @@ cleanup:
 }

 static int testInterfaceChangeCommit(virConnectPtr conn,
-                                     unsigned int flags ATTRIBUTE_UNUSED)
+                                     unsigned int flags)
 {
     testConnPtr privconn = conn->privateData;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);

     if (!privconn->transaction_running) {
@@ -3526,11 +3541,13 @@ cleanup:
 }

 static int testInterfaceChangeRollback(virConnectPtr conn,
-                                       unsigned int flags ATTRIBUTE_UNUSED)
+                                       unsigned int flags)
 {
     testConnPtr privconn = conn->privateData;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);

     if (!privconn->transaction_running) {
@@ -3555,12 +3572,14 @@ cleanup:
 }

 static char *testInterfaceGetXMLDesc(virInterfacePtr iface,
-                                     unsigned int flags ATTRIBUTE_UNUSED)
+                                     unsigned int flags)
 {
     testConnPtr privconn = iface->conn->privateData;
     virInterfaceObjPtr privinterface;
     char *ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     privinterface = virInterfaceFindByName(&privconn->ifaces,
                                            iface->name);
@@ -3581,13 +3600,15 @@ cleanup:


 static virInterfacePtr testInterfaceDefineXML(virConnectPtr conn, const char *xmlStr,
-                                              unsigned int flags ATTRIBUTE_UNUSED)
+                                              unsigned int flags)
 {
     testConnPtr privconn = conn->privateData;
     virInterfaceDefPtr def;
     virInterfaceObjPtr iface = NULL;
     virInterfacePtr ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     if ((def = virInterfaceDefParseString(xmlStr)) == NULL)
         goto cleanup;
@@ -3631,12 +3652,14 @@ cleanup:
 }

 static int testInterfaceCreate(virInterfacePtr iface,
-                               unsigned int flags ATTRIBUTE_UNUSED)
+                               unsigned int flags)
 {
     testConnPtr privconn = iface->conn->privateData;
     virInterfaceObjPtr privinterface;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privinterface = virInterfaceFindByName(&privconn->ifaces,
                                            iface->name);
@@ -3662,12 +3685,14 @@ cleanup:
 }

 static int testInterfaceDestroy(virInterfacePtr iface,
-                                unsigned int flags ATTRIBUTE_UNUSED)
+                                unsigned int flags)
 {
     testConnPtr privconn = iface->conn->privateData;
     virInterfaceObjPtr privinterface;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privinterface = virInterfaceFindByName(&privconn->ifaces,
                                            iface->name);
@@ -3716,7 +3741,10 @@ static int testStoragePoolObjSetDefaults(virStoragePoolObjPtr pool) {

 static virDrvOpenStatus testStorageOpen(virConnectPtr conn,
                                         virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                        unsigned int flags ATTRIBUTE_UNUSED) {
+                                        unsigned int flags)
+{
+    virCheckFlags(0, VIR_DRV_OPEN_ERROR);
+
     if (STRNEQ(conn->driver->name, "Test"))
         return VIR_DRV_OPEN_DECLINED;

@@ -3921,11 +3949,14 @@ cleanup:

 static int
 testStoragePoolStart(virStoragePoolPtr pool,
-                     unsigned int flags ATTRIBUTE_UNUSED) {
+                     unsigned int flags)
+{
     testConnPtr privconn = pool->conn->privateData;
     virStoragePoolObjPtr privpool;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            pool->name);
@@ -3955,12 +3986,14 @@ static char *
 testStorageFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
                            const char *type,
                            const char *srcSpec,
-                           unsigned int flags ATTRIBUTE_UNUSED)
+                           unsigned int flags)
 {
     virStoragePoolSourcePtr source = NULL;
     int pool_type;
     char *ret = NULL;

+    virCheckFlags(0, NULL);
+
     pool_type = virStoragePoolTypeFromString(type);
     if (!pool_type) {
         testError(VIR_ERR_INTERNAL_ERROR,
@@ -4009,12 +4042,15 @@ cleanup:
 static virStoragePoolPtr
 testStoragePoolCreate(virConnectPtr conn,
                       const char *xml,
-                      unsigned int flags ATTRIBUTE_UNUSED) {
+                      unsigned int flags)
+{
     testConnPtr privconn = conn->privateData;
     virStoragePoolDefPtr def;
     virStoragePoolObjPtr pool = NULL;
     virStoragePoolPtr ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     if (!(def = virStoragePoolDefParseString(xml)))
         goto cleanup;
@@ -4052,12 +4088,15 @@ cleanup:
 static virStoragePoolPtr
 testStoragePoolDefine(virConnectPtr conn,
                       const char *xml,
-                      unsigned int flags ATTRIBUTE_UNUSED) {
+                      unsigned int flags)
+{
     testConnPtr privconn = conn->privateData;
     virStoragePoolDefPtr def;
     virStoragePoolObjPtr pool = NULL;
     virStoragePoolPtr ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     if (!(def = virStoragePoolDefParseString(xml)))
         goto cleanup;
@@ -4119,11 +4158,14 @@ cleanup:

 static int
 testStoragePoolBuild(virStoragePoolPtr pool,
-                     unsigned int flags ATTRIBUTE_UNUSED) {
+                     unsigned int flags)
+{
     testConnPtr privconn = pool->conn->privateData;
     virStoragePoolObjPtr privpool;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            pool->name);
@@ -4187,11 +4229,14 @@ cleanup:

 static int
 testStoragePoolDelete(virStoragePoolPtr pool,
-                      unsigned int flags ATTRIBUTE_UNUSED) {
+                      unsigned int flags)
+{
     testConnPtr privconn = pool->conn->privateData;
     virStoragePoolObjPtr privpool;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            pool->name);
@@ -4219,11 +4264,14 @@ cleanup:

 static int
 testStoragePoolRefresh(virStoragePoolPtr pool,
-                       unsigned int flags ATTRIBUTE_UNUSED) {
+                       unsigned int flags)
+{
     testConnPtr privconn = pool->conn->privateData;
     virStoragePoolObjPtr privpool;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            pool->name);
@@ -4283,11 +4331,14 @@ cleanup:

 static char *
 testStoragePoolGetXMLDesc(virStoragePoolPtr pool,
-                          unsigned int flags ATTRIBUTE_UNUSED) {
+                          unsigned int flags)
+{
     testConnPtr privconn = pool->conn->privateData;
     virStoragePoolObjPtr privpool;
     char *ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            pool->name);
@@ -4562,12 +4613,15 @@ testStorageVolumeLookupByPath(virConnectPtr conn,
 static virStorageVolPtr
 testStorageVolumeCreateXML(virStoragePoolPtr pool,
                            const char *xmldesc,
-                           unsigned int flags ATTRIBUTE_UNUSED) {
+                           unsigned int flags)
+{
     testConnPtr privconn = pool->conn->privateData;
     virStoragePoolObjPtr privpool;
     virStorageVolDefPtr privvol = NULL;
     virStorageVolPtr ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            pool->name);
@@ -4643,12 +4697,15 @@ static virStorageVolPtr
 testStorageVolumeCreateXMLFrom(virStoragePoolPtr pool,
                                const char *xmldesc,
                                virStorageVolPtr clonevol,
-                               unsigned int flags ATTRIBUTE_UNUSED) {
+                               unsigned int flags)
+{
     testConnPtr privconn = pool->conn->privateData;
     virStoragePoolObjPtr privpool;
     virStorageVolDefPtr privvol = NULL, origvol = NULL;
     virStorageVolPtr ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            pool->name);
@@ -4732,13 +4789,16 @@ cleanup:

 static int
 testStorageVolumeDelete(virStorageVolPtr vol,
-                        unsigned int flags ATTRIBUTE_UNUSED) {
+                        unsigned int flags)
+{
     testConnPtr privconn = vol->conn->privateData;
     virStoragePoolObjPtr privpool;
     virStorageVolDefPtr privvol;
     int i;
     int ret = -1;

+    virCheckFlags(0, -1);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            vol->pool);
@@ -4857,12 +4917,15 @@ cleanup:

 static char *
 testStorageVolumeGetXMLDesc(virStorageVolPtr vol,
-                            unsigned int flags ATTRIBUTE_UNUSED) {
+                            unsigned int flags)
+{
     testConnPtr privconn = vol->conn->privateData;
     virStoragePoolObjPtr privpool;
     virStorageVolDefPtr privvol;
     char *ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(privconn);
     privpool = virStoragePoolObjFindByName(&privconn->pools,
                                            vol->pool);
@@ -4942,7 +5005,10 @@ cleanup:
 /* Node device implementations */
 static virDrvOpenStatus testDevMonOpen(virConnectPtr conn,
                                        virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                       unsigned int flags ATTRIBUTE_UNUSED) {
+                                       unsigned int flags)
+{
+    virCheckFlags(0, VIR_DRV_OPEN_ERROR);
+
     if (STRNEQ(conn->driver->name, "Test"))
         return VIR_DRV_OPEN_DECLINED;

@@ -4958,12 +5024,14 @@ static int testDevMonClose(virConnectPtr conn) {
 static int
 testNodeNumOfDevices(virConnectPtr conn,
                      const char *cap,
-                     unsigned int flags ATTRIBUTE_UNUSED)
+                     unsigned int flags)
 {
     testConnPtr driver = conn->privateData;
     int ndevs = 0;
     unsigned int i;

+    virCheckFlags(0, -1);
+
     testDriverLock(driver);
     for (i = 0; i < driver->devs.count; i++)
         if ((cap == NULL) ||
@@ -4979,12 +5047,14 @@ testNodeListDevices(virConnectPtr conn,
                     const char *cap,
                     char **const names,
                     int maxnames,
-                    unsigned int flags ATTRIBUTE_UNUSED)
+                    unsigned int flags)
 {
     testConnPtr driver = conn->privateData;
     int ndevs = 0;
     unsigned int i;

+    virCheckFlags(0, -1);
+
     testDriverLock(driver);
     for (i = 0; i < driver->devs.count && ndevs < maxnames; i++) {
         virNodeDeviceObjLock(driver->devs.objs[i]);
@@ -5035,12 +5105,14 @@ cleanup:

 static char *
 testNodeDeviceGetXMLDesc(virNodeDevicePtr dev,
-                         unsigned int flags ATTRIBUTE_UNUSED)
+                         unsigned int flags)
 {
     testConnPtr driver = dev->conn->privateData;
     virNodeDeviceObjPtr obj;
     char *ret = NULL;

+    virCheckFlags(0, NULL);
+
     testDriverLock(driver);
     obj = virNodeDeviceFindByName(&driver->devs, dev->name);
     testDriverUnlock(driver);
@@ -5166,7 +5238,7 @@ cleanup:
 static virNodeDevicePtr
 testNodeDeviceCreateXML(virConnectPtr conn,
                         const char *xmlDesc,
-                        unsigned int flags ATTRIBUTE_UNUSED)
+                        unsigned int flags)
 {
     testConnPtr driver = conn->privateData;
     virNodeDeviceDefPtr def = NULL;
@@ -5176,6 +5248,8 @@ testNodeDeviceCreateXML(virConnectPtr conn,
     virNodeDevicePtr dev = NULL;
     virNodeDevCapsDefPtr caps;

+    virCheckFlags(0, NULL);
+
     testDriverLock(driver);

     def = virNodeDeviceDefParseString(xmlDesc, CREATE_DEVICE);
@@ -5396,7 +5470,10 @@ static void testDomainEventQueue(testConnPtr driver,

 static virDrvOpenStatus testSecretOpen(virConnectPtr conn,
                                        virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                       unsigned int flags ATTRIBUTE_UNUSED) {
+                                       unsigned int flags)
+{
+    virCheckFlags(0, VIR_DRV_OPEN_ERROR);
+
     if (STRNEQ(conn->driver->name, "Test"))
         return VIR_DRV_OPEN_DECLINED;

@@ -5412,7 +5489,10 @@ static int testSecretClose(virConnectPtr conn) {

 static virDrvOpenStatus testNWFilterOpen(virConnectPtr conn,
                                          virConnectAuthPtr auth ATTRIBUTE_UNUSED,
-                                         unsigned int flags ATTRIBUTE_UNUSED) {
+                                         unsigned int flags)
+{
+    virCheckFlags(0, VIR_DRV_OPEN_ERROR);
+
     if (STRNEQ(conn->driver->name, "Test"))
         return VIR_DRV_OPEN_DECLINED;

-- 
1.7.4.4




More information about the libvir-list mailing list