mirror of
https://github.com/ChristianLight/tutor.git
synced 2025-01-10 00:37:54 +00:00
Merge remote-tracking branch 'origin/master' into nightly
This commit is contained in:
commit
ee5eca7d7f
2
changelog.d/20240130_123351_regis_fix_save_on_plugins.md
Normal file
2
changelog.d/20240130_123351_regis_fix_save_on_plugins.md
Normal file
@ -0,0 +1,2 @@
|
||||
- [Bugfix] Actually update the environment on `tutor plugins enable ...`. (by @regisb)
|
||||
- [Feature] Introduce a `tutor.hooks.lru_cache` decorator that is automatically cleared whenever a plugin is loaded or unloaded. This is useful, in particular when a plugin implements a costly function that depends on tutor hooks. (by @regisb)
|
16
tests/test_plugins.py
Normal file
16
tests/test_plugins.py
Normal file
@ -0,0 +1,16 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from tests.helpers import PluginsTestCase
|
||||
from tutor import hooks, plugins
|
||||
|
||||
|
||||
class PluginsTests(PluginsTestCase):
|
||||
def test_env_patches_updated_on_new_plugin(self) -> None:
|
||||
self.assertEqual([], list(plugins.iter_patches("mypatch")))
|
||||
|
||||
hooks.Filters.ENV_PATCHES.add_item(("mypatch", "hello!"))
|
||||
|
||||
# env patches cache should be cleared on new plugin
|
||||
hooks.Actions.PLUGIN_LOADED.do("dummyplugin")
|
||||
|
||||
self.assertEqual(["hello!"], list(plugins.iter_patches("mypatch")))
|
Loading…
Reference in New Issue
Block a user