@@ -5,40 +5,94 @@ Run a test from the testing framework to validate documentation quality.
55## Usage
66
77```
8- /test <test-id>
9- /test <test-id> local
10- /test smoke
8+ /test <test-id> # Run single test
9+ /test <test-id> local # Run with local docs
10+ /test <category> # Run all tests in category
11+ /test <category> local # Run category with local docs
12+ /test smoke # Run smoke tests only
1113```
1214
1315## Arguments
1416
15- - ` <test-id> ` : The test ID from ` tests/TESTS.md ` (e.g., ` pods-quickstart-terminal ` , ` flash-quickstart ` )
17+ - ` <test-id> ` : Single test ID (e.g., ` pods-quickstart-terminal ` , ` flash-quickstart ` )
18+ - ` <category> ` : Category name to run all tests in that section
1619- ` local ` : (Optional) Use local MDX files instead of published docs
1720- ` smoke ` : Run all smoke tests
1821
19- ## Execution Rules
20-
21- When running a test, you MUST follow these rules:
22-
23- 1 . ** Read the test definition** from ` tests/TESTS.md ` - find the row matching the test ID
24- 2 . ** Do NOT use prior knowledge** - only use Runpod docs (published MCP or local MDX)
22+ ## Categories
23+
24+ | Category | Tests | Description |
25+ | ----------| -------| -------------|
26+ | ` smoke ` | 12 | Fast tests, no GPU deploys |
27+ | ` flash ` | 13 | Flash SDK tests |
28+ | ` serverless ` | 20 | Serverless endpoint tests |
29+ | ` vllm ` | 6 | vLLM deployment tests |
30+ | ` pods ` | 11 | Pod management tests |
31+ | ` storage ` | 11 | Network volume tests |
32+ | ` templates ` | 6 | Template tests |
33+ | ` clusters ` | 4 | Instant Cluster tests |
34+ | ` sdk ` | 8 | SDK and API tests |
35+ | ` cli ` | 6 | runpodctl tests |
36+ | ` integrations ` | 4 | Third-party integrations |
37+ | ` public ` | 3 | Public endpoint tests |
38+ | ` tutorials ` | 9 | End-to-end tutorials |
39+
40+ ## Single Test Execution
41+
42+ When running a single test:
43+
44+ 1 . ** Read the test definition** from ` tests/TESTS.md `
45+ 2 . ** Do NOT use prior knowledge** - only use Runpod docs
25463 . ** Doc source mode** :
26- - Default: Use ` mcp__runpod-docs__search_runpod_documentation ` for published docs
27- - If ` local ` specified : Search and read ` .mdx ` files in this repository
28- 4 . ** Resource naming** : All created resources MUST use ` doc_test_ ` prefix
29- 5 . ** Attempt the goal** using available tools (MCP for API, Bash for CLI)
30- 6 . ** Handle GPU availability** - see GPU Fallback section below
47+ - Default: Use ` mcp__runpod-docs__search_runpod_documentation `
48+ - If ` local ` : Search and read ` .mdx ` files in this repository
49+ 4 . ** Resource naming** : All resources MUST use ` doc_test_ ` prefix
50+ 5 . ** Attempt the goal** using available tools
51+ 6 . ** Handle GPU availability** - see GPU Fallback section
31527 . ** Verify the Expected Outcome** from the test definition
32- 8 . ** Clean up** all ` doc_test_* ` resources after the test
33- 9 . ** Generate report** using the helper script:
34- ``` bash
35- python tests/scripts/report.py < test-id> < PASS| FAIL| PARTIAL> [--local]
36- ```
37- 10 . ** Complete the report** by filling in the generated template
53+ 8 . ** Clean up** all ` doc_test_* ` resources
54+ 9 . ** Generate report** : ` python tests/scripts/report.py <test-id> <PASS|FAIL|PARTIAL> [--local] `
55+ 10 . ** Complete the report** with actual results
3856
39- ## GPU Fallback Guidance
57+ ## Batch Execution
58+
59+ When running a category (e.g., ` /test serverless ` ):
60+
61+ 1 . ** Parse category** - Identify all test IDs in that section of TESTS.md
62+ 2 . ** Show test list** - Display tests to be run and ask for confirmation
63+ 3 . ** Run sequentially** - Execute each test following single test rules
64+ 4 . ** Track results** - Record PASS/FAIL/PARTIAL for each
65+ 5 . ** Clean up between tests** - Delete all ` doc_test_* ` resources before next test
66+ 6 . ** Generate summary** - Create batch summary report at end
67+
68+ ### Batch Summary Format
69+
70+ After running all tests in a batch, output:
71+
72+ ``` markdown
73+ ## Batch Summary: <category >
74+
75+ | Test ID | Status | Notes |
76+ | ---------| --------| -------|
77+ | test-1 | PASS | |
78+ | test-2 | FAIL | Missing docs for X |
79+ | test-3 | PARTIAL | Used fallback GPU |
4080
41- GPU availability varies. When tests require GPU resources:
81+ ** Results:** X passed, Y failed, Z partial out of N tests
82+ ** Doc Source:** Published / Local
83+ ** Date:** YYYY-MM-DD HH: MM
84+ ```
85+
86+ Save the summary to:
87+ - ` tests/reports/batch-<category>-<timestamp>.md `
88+ - ` ~/Dev/doc-tests/batch-<category>-<timestamp>.md `
89+
90+ ### Batch Options
91+
92+ - ** Stop on failure** : By default, continue through all tests. User can say "stop on first failure"
93+ - ** Skip cleanup** : User can say "skip cleanup between tests" for speed (not recommended)
94+
95+ ## GPU Fallback Guidance
4296
4397| Queue Wait | Action |
4498| ------------| --------|
@@ -53,21 +107,11 @@ GPU availability varies. When tests require GPU resources:
53107- PARTIAL: Completed with fallback GPU (doc improvement needed)
54108- FAIL: Failed even with fallbacks
55109
56- ## Report Locations
57-
58- Reports are saved to both:
59- - ` tests/reports/<test-id>-<timestamp>.md ` (gitignored)
60- - ` ~/Dev/doc-tests/<test-id>-<timestamp>.md ` (persistent archive)
61-
62- ## Example
110+ ## Examples
63111
64112```
65- /test pods-quickstart-terminal local
113+ /test pods-quickstart-terminal # Single test
114+ /test flash local # All Flash tests with local docs
115+ /test serverless # All Serverless tests
116+ /test smoke # Quick validation
66117```
67-
68- This will:
69- 1 . Load the test definition for ` pods-quickstart-terminal `
70- 2 . Use local MDX files (not published docs)
71- 3 . Attempt: "Complete the Pod quickstart using only the terminal"
72- 4 . Verify: "Code runs on Pod via SSH"
73- 5 . Clean up and generate report
0 commit comments