Skip to content

Commit 60f094a

Browse files
committed
ci(e2e): -short the fast unit step; heavy tests move to stress job
Pairs with the Runtime.Close Docker-verify fix. The fast unit step now passes -short (activating the testing.Short guards) with a 4m race timeout for headroom; the heavy property/timing tests run unguarded in the main-only stress-tests job so coverage is preserved. Related #468
1 parent 0823a87 commit 60f094a

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

.github/workflows/e2e-tests.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,10 @@ jobs:
9191
run: go build -tags nogui -o mcpproxy ./cmd/mcpproxy
9292

9393
- name: Run unit tests
94-
run: go test -v -race -timeout 2m -skip "Binary|MCP|E2E|TestInfoEndpoint|TestGracefulShutdownNoPanic|TestSocketInfoEndpoint" ./internal/...
94+
# -short skips the heavy property/timing tests (TestRapidQuarantine* etc.);
95+
# they run unguarded in the main-only stress-tests job below so coverage
96+
# is preserved. Bumped to 4m for headroom under -race on slow runners.
97+
run: go test -v -short -race -timeout 4m -skip "Binary|MCP|E2E|TestInfoEndpoint|TestGracefulShutdownNoPanic|TestSocketInfoEndpoint" ./internal/...
9598

9699
# Binary tests are too flaky in CI due to server startup timing issues
97100
# All Binary tests consistently timeout waiting for server to be ready
@@ -325,21 +328,21 @@ jobs:
325328
if [ -d "${{ matrix.log_path_check }}" ]; then
326329
echo "✓ Log directory created successfully"
327330
ls -la "${{ matrix.log_path_check }}"
328-
331+
329332
# Check if log file exists and has content
330333
if [ -f "${{ matrix.log_path_check }}/main.log" ]; then
331334
echo "✓ Log file created successfully"
332335
echo "Log file size: $(wc -c < "${{ matrix.log_path_check }}/main.log") bytes"
333336
echo "First few lines:"
334337
head -3 "${{ matrix.log_path_check }}/main.log"
335-
338+
336339
# Verify log contains expected content
337340
if grep -q "Log directory configured" "${{ matrix.log_path_check }}/main.log"; then
338341
echo "✓ Log contains expected startup messages"
339342
else
340343
echo "⚠ Log missing expected startup messages"
341344
fi
342-
345+
343346
if grep -q "${{ matrix.log_standard }}" "${{ matrix.log_path_check }}/main.log"; then
344347
echo "✓ Log contains OS standard compliance information"
345348
else
@@ -476,6 +479,13 @@ jobs:
476479
mkdir -p web/frontend
477480
cp -r frontend/dist web/frontend/
478481
482+
- name: Run heavy runtime property/timing tests
483+
run: |
484+
# These are -short-skipped in the fast unit step; run them here
485+
# (unguarded, generous timeout) so invariant coverage is preserved.
486+
go test -v -race -timeout 20m ./internal/runtime \
487+
-run 'TestRapidQuarantineStateMachine|TestRapidInvariant_ChangedNeverAutoApproved|TestApplyConfig_ListenAddressChange|TestIsDockerAvailable_NegativeTTLShorter|TestIsDockerAvailable_PositiveTTLHonored|TestToolCacheInvalidation_DisableServerRemovesTools|TestRuntimeStatusSnapshotReflectsRunningAndListen'
488+
479489
- name: Run concurrent stress tests
480490
run: |
481491
# Run the concurrent test multiple times to catch race conditions

0 commit comments

Comments
 (0)