You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -304,11 +304,12 @@ deps = [
304
304
-**Avoid asserting on error messages** — assert on error type or check the error with `require.Error`, do not `assert.Contains(t, err.Error(), message)`
305
305
-**No change detector tests** — don't assert on default values, internal structure, or implementation details that can change without affecting behavior. Test what the code *does*, not how it's constructed.
306
306
-**No `time.Sleep` for synchronization** — use channels, callbacks, condition variables.
307
+
-**No hardcoded test timeouts** — do not add timeouts to tests or synchronization helpers; rely on the upstream test runner's timeout (for example, Bazel's test timeout).
307
308
-**Use testify** — `assert`/`require` instead of `t.Fatal()`.
308
309
309
310
**Integration tests** use Docker Compose via `testutil.ComposeStack`:
310
311
- Package naming: folder name as package (NOT `*_test` suffix)
311
-
- Bazel: add `tags = ["integration"]` and `data = [...]` for compose/schema files
312
+
- Bazel: add `tags = ["integration", "requires-network"]` and `data = [...]` for every input the test reads (compose file, schema dirs, Dockerfiles, Bazel-built `*_linux` service binaries). Tests are hermetic: never resolve the repo root — resolve inputs from runfiles via `testutil.Runfile` and stage docker build contexts with `testutil.WithBuildContext`.
312
313
- Use `testutil.NewComposeStack()` with meaningful context (e.g., `"ext-storage-mysql"`)
313
314
314
315
See [doc/howto/TESTING.md](doc/howto/TESTING.md) for full testing guide.
Copy file name to clipboardExpand all lines: Makefile
+7-5Lines changed: 7 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,9 @@ build: ## Build all services and examples
60
60
@$(BAZEL) build //...
61
61
@echo "Build complete!"
62
62
63
-
# Build Linux binaries required for Docker containers
63
+
# Build Linux binaries required for the local docker-compose flows (local-*).
64
+
# Bazel-run integration/e2e tests do NOT need these: they build the service
65
+
# binaries hermetically as data dependencies.
64
66
build-all-linux: build-submitqueue-gateway-linux build-submitqueue-orchestrator-linux build-stovepipe-linux build-runway-linux ## Build all Linux binaries for Docker
65
67
@echo "All Linux binaries ready for Docker"
66
68
@@ -132,7 +134,7 @@ clean-proto: ## Clean generated proto files
132
134
deps: tidy-go ## Download and tidy Go dependencies
133
135
@echo "Dependencies installed!"
134
136
135
-
e2e-test: build-all-linux ## Run end-to-end tests (hermetic, auto-builds binaries; runs in parallel)
137
+
e2e-test: ## Run end-to-end tests (hermetic; Bazel builds all inputs; runs in parallel)
0 commit comments