Files
rustfs/crates/e2e_test/AGENTS.md
T
Zhengchao An 2909b1bfe1 fix(e2e): require a verified server binary for every e2e run (#7687)
* fix(ci): share quick checks and lint workflows

* fix(ci): install actionlint from its verified release

* fix(ci): reject dependencies on required quick checks

* feat(test): verify the E2E server build and source identity

* test(e2e): register verified Darwin test membership

* test(e2e): record verified Linux receipt test membership

* test(e2e): record compiled Darwin receipt test membership

* test(e2e): record compiled Linux receipt test membership

* test(e2e): record Darwin e2e-full membership after merging main

* fix(test): route scanner/heal evidence E2E runs through the verified server binary

The evidence runners built rustfs with plain cargo and then ran e2e_test directly, which now fails without a run receipt. They build through scripts/e2e_binary.py and run the e2e_test invocations under e2e_binary.py run; the obsolete rustfs.features stamp is removed.

* docs(e2e): run server-backed e2e commands through the verified binary wrapper

* test(e2e): record Linux e2e-full membership from the branch CI listing
2026-09-12 11:23:06 +08:00

1.2 KiB

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

  • python3 scripts/e2e_binary.py build --features e2e-test-hooks, then python3 scripts/e2e_binary.py run --features e2e-test-hooks -- cargo test --package e2e_test (running cargo test -p e2e_test directly fails with a missing E2E run receipt; see README.md)