Fix Python CTest's, ignore 'addons_contrib'

Too many contrib addons are in an unstable state making the test not so useful.

Thanks to Sergey initial patch: D1012, redid mostly - but outcome is the same.
This commit is contained in:
2015-01-21 12:56:30 +11:00
parent 88222fac63
commit bb4c34fe78
2 changed files with 43 additions and 13 deletions

View File

@@ -20,6 +20,10 @@
# simple script to enable all addons, and disable
"""
./blender.bin --background -noaudio --factory-startup --python tests/python/bl_load_py_modules.py
"""
import bpy
import addon_utils
@@ -30,8 +34,20 @@ BLACKLIST = {
"bl_i18n_utils",
"cycles",
"io_export_dxf", # TODO, check on why this fails
'io_import_dxf', # Because of cydxfentity.so dependency
}
BLACKLIST_DIRS = (
os.path.join(bpy.utils.resource_path('USER'), "scripts"),
) + tuple(addon_utils.paths()[1:])
def addon_modules_sorted():
modules = addon_utils.modules({})
modules[:] = [mod for mod in modules if not mod.__file__.startswith(BLACKLIST_DIRS)]
modules.sort(key=lambda mod: mod.__name__)
return modules
def source_list(path, filename_check=None):
from os.path import join
@@ -47,8 +63,7 @@ def source_list(path, filename_check=None):
def load_addons():
modules = addon_utils.modules({})
modules.sort(key=lambda mod: mod.__name__)
modules = addon_modules_sorted()
addons = bpy.context.user_preferences.addons
# first disable all
@@ -79,9 +94,10 @@ def load_modules():
for script_path in paths:
for mod_dir in sys.path:
if mod_dir.startswith(script_path):
if mod_dir not in module_paths:
if os.path.exists(mod_dir):
module_paths.append(mod_dir)
if not mod_dir.startswith(BLACKLIST_DIRS):
if mod_dir not in module_paths:
if os.path.exists(mod_dir):
module_paths.append(mod_dir)
#
# collect modules from our paths.