[PR #2] [MERGED] Refactor nodes into modular package and add new test assertions #3

Closed
opened 2026-10-26 22:15:43 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/ComfyUI-test-framework/pull/2
Author: @WASasquatch
Created: 3/5/2026
Status: ✅ Merged
Merged: 3/21/2026
Merged by: @WASasquatch

Base: main ← Head: was-refactor-and-test-assertions


📝 Commits (6)

  • 01b7ae6 Refactor nodes into modular package and add new test assertions
  • 7bbad7d Add AssertStringNotContains and AssertStringLength nodes
  • e0b2bf7 Remove AssertImageSimilarity and AssertStringHash
  • d0b2e7d Remove TestStringGenerator node
  • 45d5174 Add SKILL_DOC attributes and skill docs generator script
  • 9b7efce Add CI workflow to validate skill docs generation

📊 Changes

13 files changed (+3010 additions, -857 deletions)

View changed files

➕ .github/workflows/ci.yml (+28 -0)
📝 README.md (+9 -1)
📝 __init__.py (+51 -25)
➖ nodes.py (+0 -831)
➕ nodes/__init__.py (+0 -0)
➕ nodes/assertions_general.py (+523 -0)
➕ nodes/assertions_image.py (+385 -0)
➕ nodes/assertions_mask.py (+362 -0)
➕ nodes/assertions_string.py (+568 -0)
➕ nodes/generators.py (+617 -0)
➕ nodes/test_definition.py (+75 -0)
➕ scripts/generate_skill_docs.py (+209 -0)
➕ tests/MaskCheckerboardTest.json (+183 -0)

📄 Description

Summary

  • Split monolithic nodes.py into a nodes/ package with separate modules: assertions_general, assertions_image, assertions_mask, assertions_string, generators, test_definition
  • Refactored __init__.py to auto-discover node classes via pkgutil instead of manual imports
  • Added new assertion nodes: Image Similarity, Mask Coverage, Mask Binary, Mask Fuzzy, String Contains, String Match, String Hash
  • Added new generator nodes: Test Mask Generator, Test String Generator
  • Added MaskCheckerboardTest.json test workflow
  • Updated README with new node documentation

All new and existing nodes have been tested and confirmed working.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/ComfyUI-test-framework/pull/2 **Author:** [@WASasquatch](https://github.com/WASasquatch) **Created:** 3/5/2026 **Status:** ✅ Merged **Merged:** 3/21/2026 **Merged by:** [@WASasquatch](https://github.com/WASasquatch) **Base:** `main` ← **Head:** `was-refactor-and-test-assertions` --- ### 📝 Commits (6) - [`01b7ae6`](https://github.com/Comfy-Org/ComfyUI-test-framework/commit/01b7ae60f53ee1ab3c0162da0557747ec4c28ea1) Refactor nodes into modular package and add new test assertions - [`7bbad7d`](https://github.com/Comfy-Org/ComfyUI-test-framework/commit/7bbad7de9964275700825ad3568eb6403134ef6a) Add AssertStringNotContains and AssertStringLength nodes - [`e0b2bf7`](https://github.com/Comfy-Org/ComfyUI-test-framework/commit/e0b2bf775dce5e2833b419ccb1bc5e3254d16a7b) Remove `AssertImageSimilarity` and `AssertStringHash` - [`d0b2e7d`](https://github.com/Comfy-Org/ComfyUI-test-framework/commit/d0b2e7d6c20867dde87b2218a6f392ddc124fbd0) Remove TestStringGenerator node - [`45d5174`](https://github.com/Comfy-Org/ComfyUI-test-framework/commit/45d5174410a811576efe14660afa824be1451d01) Add SKILL_DOC attributes and skill docs generator script - [`9b7efce`](https://github.com/Comfy-Org/ComfyUI-test-framework/commit/9b7efcebc94a877d349be3416f82c1681084fef2) Add CI workflow to validate skill docs generation ### 📊 Changes **13 files changed** (+3010 additions, -857 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/ci.yml` (+28 -0) 📝 `README.md` (+9 -1) 📝 `__init__.py` (+51 -25) ➖ `nodes.py` (+0 -831) ➕ `nodes/__init__.py` (+0 -0) ➕ `nodes/assertions_general.py` (+523 -0) ➕ `nodes/assertions_image.py` (+385 -0) ➕ `nodes/assertions_mask.py` (+362 -0) ➕ `nodes/assertions_string.py` (+568 -0) ➕ `nodes/generators.py` (+617 -0) ➕ `nodes/test_definition.py` (+75 -0) ➕ `scripts/generate_skill_docs.py` (+209 -0) ➕ `tests/MaskCheckerboardTest.json` (+183 -0) </details> ### 📄 Description ## Summary - Split monolithic `nodes.py` into a `nodes/` package with separate modules: `assertions_general`, `assertions_image`, `assertions_mask`, `assertions_string`, `generators`, `test_definition` - Refactored `__init__.py` to auto-discover node classes via `pkgutil` instead of manual imports - Added new assertion nodes: Image Similarity, Mask Coverage, Mask Binary, Mask Fuzzy, String Contains, String Match, String Hash - Added new generator nodes: Test Mask Generator, Test String Generator - Added `MaskCheckerboardTest.json` test workflow - Updated README with new node documentation All new and existing nodes have been tested and confirmed working. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:15:43 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/ComfyUI-test-framework#3
No description provided.