fix(lora): review findings for the LoraManager layout (#355)
- The example-images library subfolder goes through the folder guard like its root, so its canonical (normcased) form matches the media check on Windows for a library name with capitals. - A failed trigger-word load is retried by a running node only after TRIGGER_RETRY_SECONDS, not on every prompt run. - A review whose discovery cannot list a folder says so (folder-unreadable, the folder's name only) instead of a generic error.
This commit is contained in:
@@ -334,6 +334,24 @@ class TestLoraTriggerWords(NodeTestCase):
|
||||
self.assertEqual(text, "a cat <lora:neon:1>")
|
||||
self.assertIn("share gone", "\n".join(logs.output))
|
||||
|
||||
def test_a_failed_load_is_not_retried_on_every_run(self):
|
||||
from py import lora_utils
|
||||
|
||||
cache = lora_utils.get_trigger_cache()
|
||||
cache.clear()
|
||||
self.addCleanup(cache.clear)
|
||||
with (
|
||||
mock.patch.dict(sys.modules, {"py.config": fake_integration_config(True)}),
|
||||
mock.patch.object(
|
||||
lora_utils, "discover_sidecars", side_effect=OSError("share gone")
|
||||
) as discover,
|
||||
mock.patch.object(lora_utils, "default_lora_roots", return_value=[]),
|
||||
self.assertLogs("prompt_manager.lora_utils", level="WARNING"),
|
||||
):
|
||||
for _ in range(3):
|
||||
self.node._inject_lora_trigger_words("a cat <lora:neon:1>")
|
||||
self.assertEqual(discover.call_count, 1)
|
||||
|
||||
|
||||
class TestPromptManagerEncoding(NodeTestCase):
|
||||
node_cls = PromptManager
|
||||
|
||||
Reference in New Issue
Block a user