ComfyUI/tests-unit/execution_test
Wei Hai 91f3c0c4d9 Surface node scheduling errors instead of crashing the worker
A node whose FUNCTION points at a method that does not exist (e.g. a typo
in a custom node) raised an AttributeError inside the scheduling heuristic
(ux_friendly_pick_node -> is_async). That exception escaped
stage_node_execution() and the prompt worker's error handling, silently
killing the worker thread with nothing reported to the client.

- is_async() now treats a node whose FUNCTION does not resolve to a method
  as non-async, so scheduling proceeds and the missing-method error is
  raised and reported through the normal execution path.
- stage_node_execution() wraps node picking so any unexpected scheduling
  error is returned as an execution error (attributed to an available
  node) rather than propagating and killing the worker thread.

Add regression tests covering both paths.
2026-06-26 15:26:41 -07:00
..
preview_method_override_test.py feat(preview): add per-queue live preview method override (#11261) 2025-12-15 15:57:39 -08:00
scheduler_malformed_node_test.py Surface node scheduling errors instead of crashing the worker 2026-06-26 15:26:41 -07:00
test_cache_provider.py Revert "Revert "feat: Add CacheProvider API for external distributed caching"" (#12915) 2026-03-12 21:17:50 -07:00
test_enrich_output.py feat(assets): include asset id in executed WebSocket message (#13862) 2026-06-10 17:04:52 -07:00
validate_node_input_test.py Reland union type (#5900) 2024-12-04 15:12:10 -05:00