2012-04-02 20:25:30 +04:00
/*
2014-03-17 13:38:38 +04:00
* Copyright ( C ) 2012 , 2014 Red Hat , Inc .
2012-04-02 20:25:30 +04: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-21 02:30:55 +04:00
* License along with this library . If not , see
2012-07-21 14:06:23 +04:00
* < http : //www.gnu.org/licenses/>.
2012-04-02 20:25:30 +04:00
*/
# include <config.h>
# include "testutils.h"
2012-12-13 22:21:53 +04:00
# include "virerror.h"
2012-12-12 22:06:53 +04:00
# include "viralloc.h"
2012-12-12 21:59:27 +04:00
# include "virlog.h"
2012-04-02 20:25:30 +04:00
# include "driver.h"
# define VIR_FROM_THIS VIR_FROM_NONE
2014-02-28 16:16:17 +04:00
VIR_LOG_INIT ( " tests.drivermoduletest " ) ;
2017-01-26 16:57:41 +03:00
struct testDriverModuleData {
const char * module ;
const char * regfunc ;
} ;
2012-04-02 20:25:30 +04:00
static int testDriverModule ( const void * args )
{
2017-01-26 16:57:41 +03:00
const struct testDriverModuleData * data = args ;
2012-04-02 20:25:30 +04:00
2013-01-14 19:35:08 +04:00
/* coverity[leaked_storage] */
2018-04-19 18:50:56 +03:00
if ( virDriverLoadModule ( data - > module , data - > regfunc , true ) ! = 0 )
2012-04-02 20:25:30 +04:00
return - 1 ;
return 0 ;
}
static int
mymain ( void )
{
int ret = 0 ;
2017-01-26 16:57:41 +03:00
struct testDriverModuleData data ;
2012-04-02 20:25:30 +04:00
2017-11-03 15:09:47 +03:00
# define TEST_FULL(name, fnc) \
do { \
data . module = name ; \
data . regfunc = fnc ; \
if ( virTestRun ( " Test driver " # name , testDriverModule , & data ) < 0 ) \
ret = - 1 ; \
2012-04-02 20:25:30 +04:00
} while ( 0 )
2017-01-26 16:57:41 +03:00
# define TEST(name) TEST_FULL(name, name "Register")
2012-04-02 20:25:30 +04:00
# ifdef WITH_NETWORK
2017-01-18 15:19:59 +03:00
TEST ( " network " ) ;
2012-04-02 20:25:30 +04:00
# endif
2014-08-22 13:37:50 +04:00
# ifdef WITH_INTERFACE
2017-01-18 15:19:59 +03:00
TEST ( " interface " ) ;
2014-08-22 13:37:50 +04:00
# endif
2012-04-02 20:25:30 +04:00
# ifdef WITH_STORAGE
2017-02-07 20:58:39 +03:00
TEST_FULL ( " storage " , " storageRegisterAll " ) ;
2012-04-02 20:25:30 +04:00
# endif
# ifdef WITH_NODE_DEVICES
2017-01-18 15:19:59 +03:00
TEST ( " nodedev " ) ;
2012-04-02 20:25:30 +04:00
# endif
# ifdef WITH_SECRETS
2017-01-18 15:19:59 +03:00
TEST ( " secret " ) ;
2012-04-02 20:25:30 +04:00
# endif
# ifdef WITH_NWFILTER
2017-01-18 15:19:59 +03:00
TEST ( " nwfilter " ) ;
2012-04-02 20:25:30 +04:00
# endif
2014-08-22 13:37:50 +04:00
# ifdef WITH_LIBXL
2017-01-18 15:19:59 +03:00
TEST ( " libxl " ) ;
2012-04-02 20:25:30 +04:00
# endif
# ifdef WITH_QEMU
2017-01-18 15:19:59 +03:00
TEST ( " qemu " ) ;
2012-04-02 20:25:30 +04:00
# endif
# ifdef WITH_LXC
2017-01-18 15:19:59 +03:00
TEST ( " lxc " ) ;
2012-04-02 20:25:30 +04:00
# endif
2014-08-22 13:37:50 +04:00
# ifdef WITH_VBOX
2017-01-18 15:19:59 +03:00
TEST ( " vbox " ) ;
2012-04-02 20:25:30 +04:00
# endif
2014-08-22 13:37:50 +04:00
# ifdef WITH_BHYVE
2017-01-18 15:19:59 +03:00
TEST ( " bhyve " ) ;
2012-04-02 20:25:30 +04:00
# endif
2014-03-17 13:38:38 +04:00
return ret = = 0 ? EXIT_SUCCESS : EXIT_FAILURE ;
2012-04-02 20:25:30 +04:00
}
2017-03-29 17:45:42 +03:00
VIR_TEST_MAIN ( mymain )