|
33 | 33 | │ ├── mixed-tools.toml # MCP + Delegate + Interactive |
34 | 34 | │ ├── parallel-mcp.toml # Parallel MCP calls |
35 | 35 | │ ├── delegate-chain.toml # Delegation chain |
36 | | -│ └── continue-resume.toml # Continue/resume functionality |
| 36 | +│ ├── continue-resume.toml # Continue/resume functionality |
| 37 | +│ ├── special-tools.toml # Special tools parallel execution |
| 38 | +│ └── multi-modal.toml # PDF and image reading |
| 39 | +├── fixtures/ # Test fixtures |
| 40 | +│ ├── test.pdf # PDF file for multi-modal tests |
| 41 | +│ └── test.gif # GIF image for multi-modal tests |
37 | 42 | ├── run.test.ts # CLI run command |
38 | 43 | ├── publish.test.ts # CLI publish command |
39 | 44 | ├── unpublish.test.ts # CLI unpublish command |
40 | 45 | ├── tag.test.ts # CLI tag command |
41 | 46 | ├── status.test.ts # CLI status command |
42 | 47 | ├── mixed-tools.test.ts # Mixed tool calls (MCP + Delegate + Interactive) |
43 | 48 | ├── parallel-mcp.test.ts # Parallel MCP tool execution |
| 49 | +├── special-tools.test.ts # Special tools (think, readPdfFile, readImageFile) |
| 50 | +├── multi-modal.test.ts # PDF and image content verification |
44 | 51 | ├── delegate-chain.test.ts # Expert delegation chain |
45 | 52 | └── continue-resume.test.ts # --continue-run and --resume-from |
46 | 53 | ``` |
|
51 | 58 |
|
52 | 59 | Tests for CLI argument validation and error handling. |
53 | 60 |
|
54 | | -| File | Tests | Coverage | |
55 | | -|------|-------|----------| |
56 | | -| run.test.ts | 4 | Missing args, nonexistent expert, invalid config | |
57 | | -| publish.test.ts | 4 | dry-run success, nonexistent expert, config errors | |
58 | | -| unpublish.test.ts | 2 | Missing version, missing --force | |
59 | | -| tag.test.ts | 2 | Missing version, missing tags | |
60 | | -| status.test.ts | 3 | Missing version/status, invalid status | |
| 61 | +| File | Tests | Coverage | |
| 62 | +| ----------------- | ----- | -------------------------------------------------- | |
| 63 | +| run.test.ts | 4 | Missing args, nonexistent expert, invalid config | |
| 64 | +| publish.test.ts | 4 | dry-run success, nonexistent expert, config errors | |
| 65 | +| unpublish.test.ts | 2 | Missing version, missing --force | |
| 66 | +| tag.test.ts | 2 | Missing version, missing tags | |
| 67 | +| status.test.ts | 3 | Missing version/status, invalid status | |
61 | 68 |
|
62 | 69 | ### Runtime Features |
63 | 70 |
|
64 | 71 | Tests for parallel tool calls, delegation, and state management. |
65 | 72 |
|
66 | | -| File | Tests | Coverage | |
67 | | -|------|-------|----------| |
68 | | -| mixed-tools.test.ts | 4 | MCP + Delegate + Interactive in single response | |
69 | | -| parallel-mcp.test.ts | 3 | Parallel MCP tool execution | |
70 | | -| delegate-chain.test.ts | 3 | Multi-level delegation | |
71 | | -| continue-resume.test.ts | 4 | --continue-run, --resume-from | |
| 73 | +| File | Tests | Coverage | |
| 74 | +| ----------------------- | ----- | ---------------------------------------------------- | |
| 75 | +| mixed-tools.test.ts | 4 | MCP + Delegate + Interactive in single response | |
| 76 | +| parallel-mcp.test.ts | 3 | Parallel MCP tool execution | |
| 77 | +| special-tools.test.ts | 6 | think, readPdfFile, readImageFile parallel execution | |
| 78 | +| multi-modal.test.ts | 2 | PDF and image content reading verification | |
| 79 | +| delegate-chain.test.ts | 3 | Multi-level delegation | |
| 80 | +| continue-resume.test.ts | 4 | --continue-run, --resume-from | |
72 | 81 |
|
73 | 82 | ## Writing Tests |
74 | 83 |
|
@@ -118,3 +127,14 @@ describe("Runtime feature", () => { |
118 | 127 | - TUI-based commands (`start`) are excluded from E2E tests |
119 | 128 | - API-calling tests (actual publish, unpublish) require registry access and are not included |
120 | 129 |
|
| 130 | +## Multi-Modal Test Verification (IMPORTANT) |
| 131 | + |
| 132 | +**Every time E2E tests are run, manually verify the multi-modal test output.** |
| 133 | + |
| 134 | +The `multi-modal.test.ts` outputs the LLM's summary of PDF and image files. Check the console output to ensure: |
| 135 | + |
| 136 | +1. **PDF Summary**: Should describe perstack GitHub README content (features, license, etc.) |
| 137 | +2. **Image Description**: Should describe terminal/CLI interface content |
| 138 | + |
| 139 | +These logs confirm that `readPdfFile` and `readImageFile` tools are correctly reading file contents. Automated assertions check for keywords, but human review ensures the content is actually understood. |
| 140 | + |
0 commit comments