Skip to content

integration: Bundle tests in src#665

Merged
olix0r merged 8 commits intomainfrom
ver/bundle-integrations
Sep 18, 2020
Merged

integration: Bundle tests in src#665
olix0r merged 8 commits intomainfrom
ver/bundle-integrations

Conversation

@olix0r
Copy link
Member

@olix0r olix0r commented Sep 18, 2020

Integration tests are split out so each is effectively its own build
target. While this is convenient at times, it also means that compiling
all integration tests is SLOW.

By bundling them all into the integration/src, we avoid having to
recompile/link the proxy many times when building integration tests.

The inbound and outbound configs bind an accept stack to the listener
via serve::serve; but this makes it infeasible to test the accept stacks
without actually binding a socket.

This change moves the server binding into the main app initialization so
that the inbound and outbound stacks can be built without a listener.
The DetectTls module only operates on `TcpStream`s (because it uses the
`TcpStream::peek` api); but this complicates writing tests on the HTTP
stack to validate changes like #660.

This change decouples these accept stacks so that they can be tested
more easily.
Integration tests are split out so each is effectively its own build
target. While this is convenient at times, it also means that compiling
all integration tests is SLOW.

By bundling them all into the integration/src, we avoid having to
recompile/link the proxy many times when building integration tests.
There's now no need to distinguish between lib and integration tests...
Base automatically changed from ver/split-inbound-accept to main September 18, 2020 22:20
@olix0r olix0r marked this pull request as ready for review September 18, 2020 22:20
@olix0r olix0r requested a review from a team September 18, 2020 22:20
Copy link
Contributor

@kleimkuhler kleimkuhler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@olix0r olix0r merged commit 7cda303 into main Sep 18, 2020
@olix0r olix0r deleted the ver/bundle-integrations branch September 18, 2020 22:30
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Sep 18, 2020
This release fixes a recent regression in multicluster gateway
configurations that would forbid inbound gateway traffic. It also fixes
URI normalization for orig-proto-upgrade requests that do not include a
`Host` header.

---

* http: Simplify stacks and target types (linkerd/linkerd2-proxy#656)
* Make SkipDetect more generic as stack::MakeSwitch (linkerd/linkerd2-proxy#657)
* introduce tests for isolated services (linkerd/linkerd2-proxy#655)
* http: Put normalize_uri back on the stack (linkerd/linkerd2-proxy#659)
* inbound: Apply loop detection on the connect stack (linkerd/linkerd2-proxy#660)
* tracing: Elide redundant info in tracing contexts (linkerd/linkerd2-proxy#661)
* outbound: Reorganize outbound stacks (linkerd/linkerd2-proxy#662)
* app: Decouple stacks from listeners (linkerd/linkerd2-proxy#663)
* inbound: Split HTTP detection stack from TLS (linkerd/linkerd2-proxy#664)
* integration: Bundle tests in src (linkerd/linkerd2-proxy#665)
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Sep 19, 2020
This release fixes a recent regression in multicluster gateway
configurations that would forbid inbound gateway traffic. It also fixes
URI normalization for orig-proto-upgrade requests that do not include a
`Host` header.

---

* http: Simplify stacks and target types (linkerd/linkerd2-proxy#656)
* Make SkipDetect more generic as stack::MakeSwitch (linkerd/linkerd2-proxy#657)
* introduce tests for isolated services (linkerd/linkerd2-proxy#655)
* http: Put normalize_uri back on the stack (linkerd/linkerd2-proxy#659)
* inbound: Apply loop detection on the connect stack (linkerd/linkerd2-proxy#660)
* tracing: Elide redundant info in tracing contexts (linkerd/linkerd2-proxy#661)
* outbound: Reorganize outbound stacks (linkerd/linkerd2-proxy#662)
* app: Decouple stacks from listeners (linkerd/linkerd2-proxy#663)
* inbound: Split HTTP detection stack from TLS (linkerd/linkerd2-proxy#664)
* integration: Bundle tests in src (linkerd/linkerd2-proxy#665)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants