mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-28 17:18:58 +00:00
c41a813a31
docs(e2e): write contributor guide for e2e_test crate (backlog#1153 infra-10) Turn the e2e_test README skeleton into a dense, link-heavy contributor guide: crate overview + grouped module map, how to run (whole crate / one module / e2e-smoke profile / ILM serial lane / protocols suite), #[ignore] semantics as a pointer to live sources, how to add a test (RustFSTestEnvironment + RustFSTestClusterEnvironment, common.rs/chaos.rs helper inventory, isolation rules, #[serial]-vs-nextest reality), a CI subset map table, and a troubleshooting section (stale binary / RUSTFS_TEST_PORT / orphan processes). Keeps the ci-4 "CI smoke subset" section intact and restructures around it. Adds a reciprocal link from crates/e2e_test/AGENTS.md. Refs rustfs/backlog#1153 (infra-10), #1155.
32 lines
1019 B
Markdown
32 lines
1019 B
Markdown
# E2E Test Crate Instructions
|
|
|
|
Applies to `crates/e2e_test/`.
|
|
|
|
Contributor guide (how to run suites, add a test, the harness/fixture
|
|
inventory, `#[ignore]` classes, and the CI map) lives in
|
|
[`README.md`](README.md). This file holds the crate rules that agents must
|
|
follow.
|
|
|
|
## Test Reliability
|
|
|
|
- Keep end-to-end tests deterministic and environment-aware.
|
|
- Prefer readiness checks and explicit polling over fixed sleep-based timing assumptions.
|
|
- Ensure tests isolate resources and clean up temporary state.
|
|
|
|
## Environment Safety
|
|
|
|
- For local KMS-related E2E runs, keep proxy bypass settings:
|
|
- `NO_PROXY=127.0.0.1,localhost`
|
|
- clear `HTTP_PROXY` and `HTTPS_PROXY`
|
|
- Do not hardcode machine-specific paths or credentials.
|
|
|
|
## Scope and Cost
|
|
|
|
- Place exhaustive integration behavior here; keep unit behavior in source crates.
|
|
- Keep new E2E scenarios focused and avoid redundant overlap with existing suites.
|
|
|
|
## Suggested Validation
|
|
|
|
- `cargo test --package e2e_test`
|
|
- Full gate before commit: `make pre-commit`
|