mirror of
https://github.com/rustfs/rustfs.git
synced 2026-10-03 12:10:50 +00:00
2909b1bfe1
* 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
1.2 KiB
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_PROXYandHTTPS_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, thenpython3 scripts/e2e_binary.py run --features e2e-test-hooks -- cargo test --package e2e_test(runningcargo test -p e2e_testdirectly fails with a missing E2E run receipt; seeREADME.md)