2012-04-02 17:25:30 +01:00
/*
2014-03-17 10:38:38 +01:00
* Copyright ( C ) 2012 , 2014 Red Hat , Inc .
2012-04-02 17:25:30 +01:00
*
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation ; either
* version 2.1 of the License , or ( at your option ) any later version .
*
* This library is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* Lesser General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
2012-09-20 16:30:55 -06:00
* License along with this library . If not , see
2012-07-21 18:06:23 +08:00
* < http : //www.gnu.org/licenses/>.
2012-04-02 17:25:30 +01:00
*
* Author : Daniel P . Berrange < berrange @ redhat . com >
*/
# include <config.h>
# include "testutils.h"
2012-12-13 18:21:53 +00:00
# include "virerror.h"
2012-12-12 18:06:53 +00:00
# include "viralloc.h"
2012-12-12 17:59:27 +00:00
# include "virlog.h"
2012-04-02 17:25:30 +01:00
# include "driver.h"
# define VIR_FROM_THIS VIR_FROM_NONE
2014-02-28 12:16:17 +00:00
VIR_LOG_INIT ( " tests.drivermoduletest " ) ;
2012-04-02 17:25:30 +01:00
static int testDriverModule ( const void * args )
{
2015-01-20 16:16:26 +00:00
const char * name = args ;
2012-04-02 17:25:30 +01:00
2013-01-14 10:35:08 -05:00
/* coverity[leaked_storage] */
2015-01-20 16:16:26 +00:00
if ( ! virDriverLoadModule ( name ) )
2012-04-02 17:25:30 +01:00
return - 1 ;
return 0 ;
}
static int
mymain ( void )
{
int ret = 0 ;
2016-05-26 17:01:50 +02:00
# define TEST(name, dep1) \
do { \
if ( virTestRun ( " Test driver " # name , testDriverModule , name ) < 0 ) \
ret = - 1 ; \
2012-04-02 17:25:30 +01:00
} while ( 0 )
# ifdef WITH_NETWORK
2012-11-21 14:59:47 +01:00
# define USE_NETWORK "network"
2012-04-02 17:25:30 +01:00
TEST ( " network " , NULL ) ;
2012-11-21 14:59:47 +01:00
# else
# define USE_NETWORK NULL
2012-04-02 17:25:30 +01:00
# endif
2014-08-22 11:37:50 +02:00
# ifdef WITH_INTERFACE
TEST ( " interface " , NULL ) ;
# endif
2012-04-02 17:25:30 +01:00
# ifdef WITH_STORAGE
TEST ( " storage " , NULL ) ;
# endif
# ifdef WITH_NODE_DEVICES
TEST ( " nodedev " , NULL ) ;
# endif
# ifdef WITH_SECRETS
TEST ( " secret " , NULL ) ;
# endif
# ifdef WITH_NWFILTER
TEST ( " nwfilter " , NULL ) ;
# endif
2014-08-22 11:37:50 +02:00
# ifdef WITH_XEN
TEST ( " xen " , NULL ) ;
# endif
# ifdef WITH_LIBXL
TEST ( " libxl " , NULL ) ;
2012-04-02 17:25:30 +01:00
# endif
# ifdef WITH_QEMU
2012-11-21 14:59:47 +01:00
TEST ( " qemu " , USE_NETWORK ) ;
2012-04-02 17:25:30 +01:00
# endif
# ifdef WITH_LXC
2012-11-21 14:59:47 +01:00
TEST ( " lxc " , USE_NETWORK ) ;
2012-04-02 17:25:30 +01:00
# endif
# ifdef WITH_UML
TEST ( " uml " , NULL ) ;
# endif
2014-08-22 11:37:50 +02:00
# ifdef WITH_VBOX
TEST ( " vbox " , NULL ) ;
2012-04-02 17:25:30 +01:00
# endif
2014-08-22 11:37:50 +02:00
# ifdef WITH_BHYVE
TEST ( " bhyve " , NULL ) ;
2012-04-02 17:25:30 +01:00
# endif
2014-03-17 10:38:38 +01:00
return ret = = 0 ? EXIT_SUCCESS : EXIT_FAILURE ;
2012-04-02 17:25:30 +01:00
}
VIRT_TEST_MAIN ( mymain )