mirror of
https://github.com/rustfs/rustfs.git
synced 2026-10-14 00:20:12 +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
31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
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
|
|
|
|
- `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`](README.md#how-to-run))
|