Files
RustProxy/docs/TEST_REPORT.md
T
2026-10-06 11:29:34 +02:00

43 lines
3.7 KiB
Markdown

# Verification report - RustProxy 0.26.4
## Scope
RustProxy 0.26.4 is a compatibility-preserving administration/UI and backend-client lifecycle maintenance release. SQLite remains schema 8 and the saved proxy configuration format is unchanged from 0.26.3.
The release adds 404-host forms to the existing session-only draft dock; completes the Polish Button style translation; makes compact toolbar search/filter inputs follow the selected button height; reuses the vhost Enabled-state presentation in 404-host, Redirect and Stream editors; replaces the tall Overview-card checkbox list with compact visibility/reorder tiles; and makes age-based upstream-client recycling run from backend maintenance even when no request arrives.
The backend change keeps request-count recycling request-driven. The new maintenance path checks `pool_recycle_seconds`, uses the existing atomic generation/rotation guard and starts an idle-maintenance generation with zero requests. A Rust unit regression is included for age-based rotation without a triggering request, but this workspace cannot execute Rust tests because Cargo/rustc are unavailable.
## Source-level regression coverage
Rust-independent contracts now require 404 draft registration, the shared Enabled-control helper, compact Overview tiles, toolbar controls bounded by `--button-min-height`, and backend maintenance calls for ordinary and WebSocket clients. Existing source, security, memory, Web Server, documentation, packaging, upgrade and SQLite migration contracts remain enabled.
Browser JavaScript syntax checks cover the changed core/preferences/404/Redirect/Stream/vhost editor files. The simulated Web Server UI test remains green. Language packs and OpenAPI JSON parse successfully, and the Docker Agent Go tests pass.
## Verification status in this workspace
| Check | Status |
|---|---|
| `python3 scripts/langs_check.py` | PASS |
| `python3 scripts/memory_contracts.py` | PASS |
| `python3 scripts/web_server_contracts.py` | PASS |
| `python3 scripts/security_contracts.py` | PASS |
| `python3 scripts/security_dependency_contracts.py` | PASS |
| `python3 scripts/source_module_contracts.py` | PASS |
| `python3 scripts/rust_module_contracts.py` | PASS |
| `python3 scripts/docs_check.py` | PASS |
| `python3 scripts/check_source.py` | PASS; explicitly reports Rust parsing/types/runtime as not verified |
| `python3 scripts/release_smoke.py` | PASS, including SQLite migrations, stopped-source upgrade and deterministic source packaging contracts |
| `node scripts/web_service_ui_test.mjs` | PASS |
| `node --check` for changed administration JavaScript | PASS |
| language/OpenAPI JSON parse | PASS |
| `go test ./...` in `docker-agent` | PASS |
| `./dev.sh test` | Rust-independent gates PASS; exits 127 when the Rust stage is reached because Cargo is unavailable |
| `./dev.sh check` | BLOCKED: Rust/Cargo toolchain unavailable in this workspace |
| `cargo fmt --check` | BLOCKED: Rust/Cargo toolchain unavailable in this workspace |
| `cargo clippy --all-targets --all-features -- -D warnings` | BLOCKED: Rust/Cargo toolchain unavailable in this workspace |
| `cargo test --all-targets --all-features` | BLOCKED: Rust/Cargo toolchain unavailable in this workspace; the new age-rotation unit test is therefore not runtime-executed here |
| complete release build | BLOCKED at Rust compilation: Rust/Cargo toolchain unavailable in this workspace |
The 0.26.4 source archive must not be described as compiler-verified until the Rust-enabled release-host gates pass. Rust-independent checks verify source structure, UI/translation contracts, security invariants, migrations, upgrades, documentation, JavaScript syntax, Go-agent behavior and deterministic archive behavior, but they do not substitute for Rust parsing, type checking, Clippy or runtime tests.