mirror of
https://github.com/zed-industries/zed.git
synced 2026-08-24 16:34:46 +00:00
context_server's Cargo.toml requested http_client's test-support
feature from its normal [dependencies], not just for its own tests.
Because Cargo unifies features per package across a build, this
activated http_client/test-support for every build that links
context_server at all, including a plain release build of the zed
binary itself: cargo tree -p zed -e normal,features showed the
feature resolved with no dev-dependency involved.
The only user of that feature in context_server was
http_client::FakeHttpClient, used exclusively inside #[cfg(test)]
modules in oauth.rs and transport/http.rs. Moving the feature request
to [dev-dependencies] (matching the existing gpui/test-support entry)
keeps those tests building while dropping test-support from every
non-test build, including benchmarks' resolved feature graph, which
previously had a single test-support occurrence traced to exactly
this edge.
Also extended script/check-gpui-bench-feature-isolation with a check
that scans benchmarks' entire resolved feature graph for the literal
test-support feature name, so any future direct or transitive
dependency reintroducing it fails loudly. While adding that check,
found and fixed a latent bug affecting every existing check in the
script: echo "${output}" | grep --quiet PATTERN races under
set -o pipefail, since grep --quiet exits after its first match
without draining stdin, which can SIGPIPE echo before it finishes
writing large output and turn a real match into a false negative (or,
for a negated check, a false positive). Replaced every instance with
grep --quiet PATTERN <<< "${output}", which does not pipe at all.
|
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| LICENSE-GPL | ||