Skip to content

docs: adding flaky test instructions#3931

Merged
alyssawilk merged 3 commits intoenvoyproxy:masterfrom
alyssawilk:test_docs
Jul 23, 2018
Merged

docs: adding flaky test instructions#3931
alyssawilk merged 3 commits intoenvoyproxy:masterfrom
alyssawilk:test_docs

Conversation

@alyssawilk
Copy link
Contributor

Documenting some common failure modes and repro instructions.

Risk Level: n/a
Testing: relying on existing tests
Docs Changes: yep
Release Notes: n/a
[Optional Fixes #Issue]
[Optional Deprecated:]

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk changed the title docs: adding Fflaky test instructions docs: adding flaky test instructions Jul 23, 2018
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk
Copy link
Contributor Author

Per discussion on slack I think I'll also add a global in_tear_down_ function and ignore these 2 failure modes during test tear down and destruction, but these should still be worthwhile for folks who do cleanup inline.

Copy link
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

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

Awesome! Thanks for doing this.

## Debugging test flakes

Once you've managed to reproduce your test flake, you get to figure out what's
doing on. If your failure mode isn't documented below, ideally some combination
Copy link
Member

Choose a reason for hiding this comment

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

so/doing/going

tear-down sequence between upstream, Envoy, and client is somewhat sensitive to
ordering. If a given unit test does not use the current global variables, for
example opens multiple client or upstream connections, the test author should be
aware of test best practives for clean-up which boil down to "Clean up upstream
Copy link
Member

Choose a reason for hiding this comment

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

typo practives


As commented in `HttpIntegrationTest::cleanupUpstreamAndDownstream()`, the
tear-down sequence between upstream, Envoy, and client is somewhat sensitive to
ordering. If a given unit test does not use the current global variables, for
Copy link
Member

Choose a reason for hiding this comment

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

s/current/provided ?

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk merged commit 445e746 into envoyproxy:master Jul 23, 2018
@alyssawilk alyssawilk deleted the test_docs branch November 28, 2018 16:02
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.

2 participants