Changeset View
Changeset View
Standalone View
Standalone View
tests/python/bl_load_addons.py
| Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | def addon_modules_sorted(): | ||||
| modules.sort(key=lambda mod: mod.__name__) | modules.sort(key=lambda mod: mod.__name__) | ||||
| return modules | return modules | ||||
| def disable_addons(): | def disable_addons(): | ||||
| # first disable all | # first disable all | ||||
| addons = bpy.context.user_preferences.addons | addons = bpy.context.user_preferences.addons | ||||
| for mod_name in list(addons.keys()): | for mod_name in list(addons.keys()): | ||||
| addon_utils.disable(mod_name) | addon_utils.disable(mod_name, default_set=True) | ||||
| assert(bool(addons) is False) | assert(bool(addons) is False) | ||||
| def test_load_addons(): | def test_load_addons(): | ||||
| modules = addon_modules_sorted() | modules = addon_modules_sorted() | ||||
| disable_addons() | disable_addons() | ||||
| Show All 29 Lines | for i in (0, 1): | ||||
| mod_name = mod.__name__ | mod_name = mod.__name__ | ||||
| print("\tenabling:", mod_name) | print("\tenabling:", mod_name) | ||||
| addon_utils.enable(mod_name, default_set=True) | addon_utils.enable(mod_name, default_set=True) | ||||
| assert(mod_name in addons) | assert(mod_name in addons) | ||||
| for mod in modules: | for mod in modules: | ||||
| mod_name = mod.__name__ | mod_name = mod.__name__ | ||||
| print("\tdisabling:", mod_name) | print("\tdisabling:", mod_name) | ||||
| addon_utils.disable(mod_name) | addon_utils.disable(mod_name, default_set=True) | ||||
| assert(not (mod_name in addons)) | assert(not (mod_name in addons)) | ||||
| # now test reloading | # now test reloading | ||||
| if do_reload: | if do_reload: | ||||
| imp.reload(sys.modules[mod_name]) | imp.reload(sys.modules[mod_name]) | ||||
| if do_reverse: | if do_reverse: | ||||
| # in case order matters when it shouldn't | # in case order matters when it shouldn't | ||||
| Show All 24 Lines | |||||