[libvirt] [PATCH 15/20] test: reject unknown flags
Daniel P. Berrange
berrange at redhat.com
Thu Jul 7 09:28:47 UTC 2011
On Wed, Jul 06, 2011 at 05:23:58PM -0600, Eric Blake wrote:
> * 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;
>
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list