Force uninstall all modules from a test database, except those listed.
$modules: The list of modules to keep installed. Required core modules will always be kept.
protected function uninstallModulesExcept(array $modules) {
$required_modules = array(
'block',
'dblog',
'filter',
'node',
'system',
'update',
'user',
);
$modules = array_merge($required_modules, $modules);
db_delete('system')
->condition('type', 'module')
->condition('name', $modules, 'NOT IN')
->execute();
}