* 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..5ff01a3 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(VIR_CONNECT_RO, 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(VIR_CONNECT_RO, 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(VIR_CONNECT_RO, 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(VIR_CONNECT_RO, 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(VIR_CONNECT_RO, 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(VIR_CONNECT_RO, 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(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR); + if (STRNEQ(conn->driver->name, "Test")) return VIR_DRV_OPEN_DECLINED; -- 1.7.4.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list