Files
Zhengchao An c41a813a31 docs(e2e): contributor guide for the e2e_test crate (backlog#1153 infra-10) (#4705)
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.
2026-07-11 09:27:30 +08:00

1019 B

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. 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