You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(fuzz): address hyper deprecations in fuzz tests (#3455)
* chore(app/inbound): address hyper deprecations in http/1 tests
this is a follow-up commit related to 24dc5d8 (#3445).
see <linkerd/linkerd2#8733> for more
information on upgrading to hyper 1.0.
---
this addresses hyper deprecations in the http/1 tests for the inbound
proxy.
prior, we made use of `tower::ServiceExt::oneshot`, which consumes a
service and drops it after sending a request and polling the response
future to completion.
<https://docs.rs/tower/0.5.2/src/tower/util/oneshot.rs.html#96-100>
tower is not a 1.0 library yet, so `SendRequest` does not provide an
implementation of `tower::Service` in hyper's 1.0 interface:
- <https://docs.rs/hyper/0.14.31/hyper/client/conn/struct.SendRequest.html#impl-Service%3CRequest%3CB%3E%3E-for-SendRequest%3CB%3E>
- <https://docs.rs/hyper/1.5.1/hyper/client/conn/http1/struct.SendRequest.html#trait-implementations>
consequentially, we must drop the sender ourselves after receiving a
response now.
---
this commit *also* addresses hyper deprecations in the http/1 downgrade
tests for the inbound proxy.
because these tests involve a http/2 client and an http/1 server, we
take the choice of inlining the body of
`http_util::connect_and_accept()` rather than introducing a new, third
`http_util::connect_and_accept_http_downgrade()` function.
we will refactor these helper functions in follow-on commits.
NB: because `ContextError` is internal to the `linkerd-app-test` crate,
we do not wrap the errors. these are allegedly used by the fuzzing tests
(_see f.ex #986 and #989_), but for our purposes with respect to the
inbound proxy we can elide them rather than making `ctx()` a public
method.
---
Signed-off-by: katelyn martin <kate@buoyant.io>
* refactor(app/test): remove unused `http_util::connect_and_accept(..)`
this removes `connect_and_accept(..)`. this will break fuzzing builds,
but it is not used elsewhere.
Signed-off-by: katelyn martin <kate@buoyant.io>
* chore(fuzz): address hyper deprecation in inbound fuzz tests
Signed-off-by: katelyn martin <kate@buoyant.io>
* chore(fuzz): address preëxisting fuzz breakage
this commit addresses other breakage found in the fuzz tests, tied to
other previous work.
after these changes, one can observe that the fuzz tests build and run
once more by running the following:
```sh
cargo +nightly fuzz run --fuzz-dir=linkerd/app/inbound/fuzz/ fuzz_target_1
```
Signed-off-by: katelyn martin <kate@buoyant.io>
* nit(fuzz): remove stray newline from manifest
Signed-off-by: katelyn martin <kate@buoyant.io>
---------
Signed-off-by: katelyn martin <kate@buoyant.io>
0 commit comments