@@ -84,30 +84,85 @@ make e2e-test
8484### Run specific profile
8585
8686``` bash
87- make e2e-test PROFILE =ai-gateway
87+ make e2e-test E2E_PROFILE =ai-gateway
8888```
8989
9090### Run specific test cases
9191
9292``` bash
93- # Run only the progressive stress test
94- ./e2e/cmd/e2e/e2e --profile ai-gateway -- test-cases chat-completions-progressive-stress --verbose
93+ # Run only specific test cases using make
94+ make e2e- test-specific E2E_TESTS= " chat-completions-progressive-stress"
9595
96- # Run multiple specific test cases
97- ./e2e/cmd/e2e/e2e --profile ai-gateway --test-cases chat-completions-request,chat-completions-progressive-stress
96+ # Run multiple specific test cases using make
97+ make e2e-test-specific E2E_TESTS=" chat-completions-request,chat-completions-progressive-stress"
98+
99+ # Or run directly with the binary
100+ ./bin/e2e -profile ai-gateway -tests chat-completions-progressive-stress -verbose
101+
102+ # Run multiple specific test cases with the binary
103+ ./bin/e2e -profile ai-gateway -tests " chat-completions-request,chat-completions-progressive-stress"
98104```
99105
100106### Run with custom options
101107
102108``` bash
103109# Keep cluster after test
104- make e2e-test KEEP_CLUSTER =true
110+ make e2e-test E2E_KEEP_CLUSTER =true
105111
106112# Use existing cluster
107- make e2e-test USE_EXISTING_CLUSTER=true
113+ make e2e-test E2E_USE_EXISTING_CLUSTER=true
114+
115+ # Disable verbose output
116+ make e2e-test E2E_VERBOSE=false
117+
118+ # Run tests in parallel
119+ make e2e-test E2E_PARALLEL=true
120+
121+ # Combine multiple options
122+ make e2e-test E2E_PROFILE=ai-gateway E2E_KEEP_CLUSTER=true E2E_VERBOSE=true
123+ ```
124+
125+ ### Debug mode
126+
127+ ``` bash
128+ # Run tests with debug mode (keeps cluster and enables verbose logging)
129+ make e2e-test-debug
130+ ```
131+
132+ ### Advanced Workflows
133+
134+ #### Setup environment once, run tests multiple times
135+
136+ This is useful for development and debugging:
137+
138+ ``` bash
139+ # Step 1: Setup environment only (no tests)
140+ make e2e-setup
141+
142+ # Step 2: Run all tests (skip setup)
143+ make e2e-test-only
144+
145+ # Step 3: Run specific tests (skip setup)
146+ make e2e-test-only E2E_TESTS=" chat-completions-request"
147+
148+ # Step 4: Make code changes and re-run tests
149+ make e2e-test-only E2E_TESTS=" domain-classify"
150+
151+ # Step 5: Clean up when done
152+ make e2e-cleanup
153+ ```
154+
155+ #### Using binary directly
108156
109- # Verbose output
110- make e2e-test VERBOSE=true
157+ ``` bash
158+ # Setup only
159+ ./bin/e2e -profile ai-gateway -setup-only -keep-cluster -verbose
160+
161+ # Run tests only (assumes environment is already deployed)
162+ ./bin/e2e -profile ai-gateway -skip-setup -use-existing-cluster -verbose
163+
164+ # Run specific tests only
165+ ./bin/e2e -profile ai-gateway -skip-setup -use-existing-cluster -tests " chat-completions-request"
111166```
112167
113168### Test Reports
@@ -116,9 +171,46 @@ After running tests, reports are generated:
116171
117172- ` test-report.json ` : Structured test results
118173- ` test-report.md ` : Human-readable Markdown report
174+ - ` semantic-router-logs.txt ` : Complete semantic-router pod logs
119175
120176Each test case also prints detailed statistics to the console.
121177
178+ ## Environment Variables
179+
180+ The following environment variables can be used to customize test execution:
181+
182+ | Variable | Description | Default | Example |
183+ | ----------| -------------| ---------| ---------|
184+ | ` E2E_PROFILE ` | Test profile to run | ` ai-gateway ` | ` make e2e-test E2E_PROFILE=ai-gateway ` |
185+ | ` E2E_CLUSTER_NAME ` | Kind cluster name | ` semantic-router-e2e ` | ` make e2e-test E2E_CLUSTER_NAME=my-cluster ` |
186+ | ` E2E_IMAGE_TAG ` | Docker image tag | ` e2e-test ` | ` make e2e-test E2E_IMAGE_TAG=v1.0.0 ` |
187+ | ` E2E_KEEP_CLUSTER ` | Keep cluster after tests | ` false ` | ` make e2e-test E2E_KEEP_CLUSTER=true ` |
188+ | ` E2E_USE_EXISTING_CLUSTER ` | Use existing cluster | ` false ` | ` make e2e-test E2E_USE_EXISTING_CLUSTER=true ` |
189+ | ` E2E_VERBOSE ` | Enable verbose logging | ` true ` | ` make e2e-test E2E_VERBOSE=false ` |
190+ | ` E2E_PARALLEL ` | Run tests in parallel | ` false ` | ` make e2e-test E2E_PARALLEL=true ` |
191+ | ` E2E_TESTS ` | Specific test cases to run | (all tests) | ` make e2e-test-specific E2E_TESTS="test1,test2" ` |
192+ | ` E2E_SETUP_ONLY ` | Only setup profile without running tests | ` false ` | ` make e2e-test E2E_SETUP_ONLY=true ` |
193+ | ` E2E_SKIP_SETUP ` | Skip setup and only run tests | ` false ` | ` make e2e-test E2E_SKIP_SETUP=true ` |
194+
195+ ** Note** : When using the binary directly (` ./bin/e2e ` ), use command-line flags instead:
196+
197+ - ` -profile ` instead of ` E2E_PROFILE `
198+ - ` -cluster ` instead of ` E2E_CLUSTER_NAME `
199+ - ` -image-tag ` instead of ` E2E_IMAGE_TAG `
200+ - ` -keep-cluster ` instead of ` E2E_KEEP_CLUSTER `
201+ - ` -use-existing-cluster ` instead of ` E2E_USE_EXISTING_CLUSTER `
202+ - ` -verbose ` instead of ` E2E_VERBOSE `
203+ - ` -parallel ` instead of ` E2E_PARALLEL `
204+ - ` -tests ` instead of ` E2E_TESTS `
205+ - ` -setup-only ` instead of ` E2E_SETUP_ONLY `
206+ - ` -skip-setup ` instead of ` E2E_SKIP_SETUP `
207+
208+ Example:
209+
210+ ``` bash
211+ ./bin/e2e -profile ai-gateway -keep-cluster -verbose -tests " chat-completions-request"
212+ ```
213+
122214## Adding New Test Profiles
123215
1242161 . Create a new directory under ` profiles/ `
0 commit comments