Files
jaidaken f09734b0ee
Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Python Linting / Run Pylint (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Has been cancelled
Execution Tests / test (macos-latest) (push) Has been cancelled
Execution Tests / test (ubuntu-latest) (push) Has been cancelled
Execution Tests / test (windows-latest) (push) Has been cancelled
Test server launches without errors / test (push) Has been cancelled
Unit Tests / test (macos-latest) (push) Has been cancelled
Unit Tests / test (ubuntu-latest) (push) Has been cancelled
Unit Tests / test (windows-2022) (push) Has been cancelled
Add custom nodes, Civitai loras (LFS), and vast.ai setup script
Includes 30 custom nodes committed directly, 7 Civitai-exclusive
loras stored via Git LFS, and a setup script that installs all
dependencies and downloads HuggingFace-hosted models on vast.ai.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:56:42 +00:00

137 lines
4.2 KiB
Markdown

# Wildcard System Test Suite
Comprehensive test suite for ComfyUI Impact Pack wildcard system.
## Test Suites
### test_encoding.sh (15 tests)
**Purpose**: UTF-8 multi-language encoding validation
**Port**: 8198
**Coverage**:
- Korean Hangul characters
- Emoji support
- Chinese characters
- Arabic RTL text
- Mathematical and currency symbols
- Mixed multi-language content
- UTF-8 in dynamic prompts, quantifiers, multi-select
### test_error_handling.sh (10 tests)
**Purpose**: Graceful error handling verification
**Port**: 8197
**Coverage**:
- Non-existent wildcards
- Circular reference detection (max 100 iterations)
- Malformed syntax
- Deep nesting without crashes
- Multiple circular references
### test_edge_cases.sh (20 tests)
**Purpose**: Edge case and boundary condition validation
**Port**: 8196
**Coverage**:
- Empty lines and whitespace filtering
- Very long lines (>1000 characters)
- Special characters preservation
- Case-insensitive matching
- Comment line filtering
- Pattern matching (__*/name__)
- Quantifiers (N#__wildcard__)
- Complex syntax combinations
### test_deep_nesting.sh (17 tests)
**Purpose**: Transitive wildcard expansion and depth-agnostic pattern matching
**Port**: 8194
**Coverage**:
- 7-level transitive expansion (directory depth + file references)
- All depth levels (1-7) individually
- Mixed depth combinations
- Nesting with quantifiers and multi-select
- Nesting with weighted selection
- Depth-agnostic pattern matching (`__*/name__`)
- Complex multi-wildcard prompts
### test_ondemand_loading.sh (8 tests)
**Purpose**: Progressive on-demand wildcard loading
**Port**: 8193
**Coverage**:
- Small cache (1MB) - on-demand enabled
- Moderate cache (10MB) - progressive loading
- Large cache (100MB) - eager loading
- Aggressive lazy loading (0.5MB)
- Balanced mode (50MB default)
- On-demand with deep nesting
- On-demand with multiple wildcards
- Cache boundary testing
### test_config_quotes.sh (5 tests)
**Purpose**: Configuration path handling validation
**Port**: 8192
**Coverage**:
- Unquoted paths
- Double-quoted paths
- Single-quoted paths
- Paths with spaces
- Mixed quote scenarios
### test_dynamic_prompts_full.sh (11 tests)
**Purpose**: Comprehensive dynamic prompt feature validation with statistical analysis
**Port**: 8188
**Coverage**:
- **Multiselect** (4 tests): 2-item, 3-item, single-item, max-item with separator validation
- **Weighted Selection** (5 tests): 10:1 ratio, equal weights, extreme bias, multi-level weights, default mixing
- **Basic Selection** (2 tests): Simple random, nested selection
- Statistical distribution verification (100+ iterations per test)
- Duplicate detection and item count validation
- Separator correctness validation
## Quick Start
```bash
# Run individual test
bash test_encoding.sh
# Run all tests
bash test_encoding.sh
bash test_error_handling.sh
bash test_edge_cases.sh
bash test_deep_nesting.sh
bash test_ondemand_loading.sh
bash test_config_quotes.sh
bash test_dynamic_prompts_full.sh
```
## Test Infrastructure
- **Configuration**: Each test creates `impact-pack.ini` with test wildcard path
- **Server Lifecycle**: Automatic server start/stop with dedicated ports
- **Cleanup**: Automatic cleanup on test completion
- **Logging**: Detailed logs in `/tmp/*_test.log`
## Test Samples
Located in `wildcards/samples/`:
- `아름다운색.txt` - Korean UTF-8 test with 12 symbolic colors
- `test_encoding_*.txt` - UTF-8 encoding test files
- `test_edge_*.txt` - Edge case test files
- `test_error_*.txt` - Error handling test files
- `test_nesting_*.txt` - Nesting test files (7 levels)
- `patterns/` - Subdirectory for pattern matching tests
## Status
**86 tests, 100% pass rate** (15+10+20+17+8+5+11)
**Production ready**
**Complete PRD coverage**
**On-demand loading validated**
**Config quotes handling validated**
**Dynamic prompts statistically validated**
**Weighted selection verified (correct {weight::option} syntax)**
**Pattern matching validated (depth-agnostic __*/name__)**
## Documentation
- [Wildcard System PRD](../docs/wildcards/WILDCARD_SYSTEM_PRD.md)
- [System Design](../docs/wildcards/WILDCARD_SYSTEM_DESIGN.md)
- [Testing Guide](../docs/wildcards/WILDCARD_TESTING_GUIDE.md)