Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: reducing H2 test permutations, increasing coverage time #6753

Merged
merged 3 commits into from
May 1, 2019

Conversation

alyssawilk
Copy link
Contributor

@alyssawilk alyssawilk commented Apr 30, 2019

The settings for edge include

#define HTTP2SETTINGS_EDGE_COMBINE \
::testing::Combine( \
::testing::Values(Http2Settings::MIN_HPACK_TABLE_SIZE, Http2Settings::MAX_HPACK_TABLE_SIZE), \
::testing::Values(Http2Settings::MIN_MAX_CONCURRENT_STREAMS, \
Http2Settings::MAX_MAX_CONCURRENT_STREAMS), \
::testing::Values(Http2Settings::MIN_INITIAL_STREAM_WINDOW_SIZE, \
Http2Settings::MAX_INITIAL_STREAM_WINDOW_SIZE), \
::testing::Values(Http2Settings::MIN_INITIAL_CONNECTION_WINDOW_SIZE, \
Http2Settings::MAX_INITIAL_CONNECTION_WINDOW_SIZE))

The existing codec unit tests don't appear to cover large bodies or many streams, so I think all we need is one test to make sure these settings work. I've done this with the codec header compression test as it seems relevant to hpack table size.

This reduces test run time 8x, and should claw back about 14% of our coverage run time.

Sadly it does not reduce it enough so also bumping coverage time.

Risk Level: n/a
Testing: unit test still passes
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
mattklein123
mattklein123 previously approved these changes Apr 30, 2019
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.

Thank you!

@zuercher zuercher changed the title test: reducing H2 test permutatoins test: reducing H2 test permutations Apr 30, 2019
htuch
htuch previously approved these changes Apr 30, 2019
Copy link
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

LGTM, a code comment explaining the rationale here would be good though.

@@ -353,7 +353,7 @@ TEST_P(Http2CodecImplTest, TrailingHeaders) {
response_encoder_->encodeTrailers(TestHeaderMapImpl{{"trailing", "header"}});
}

TEST_P(Http2CodecImplTest, TrailingHeadersLargeBody) {
TEST_P( Http2CodecImplTest, TrailingHeadersLargeBody) {
Copy link
Member

Choose a reason for hiding this comment

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

?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

outdated :-)

@alyssawilk
Copy link
Contributor Author

agree a comment would be good. would you either be Ok with a follow up or force merging so I don't have to wait 2 more hours for coverage to finish?

@htuch
Copy link
Member

htuch commented Apr 30, 2019

Force merge is good if we have a successful run now.

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk dismissed stale reviews from htuch and mattklein123 via 420ee5d April 30, 2019 18:03
@alyssawilk
Copy link
Contributor Author

Nope :-(
Adding comment and bumping time because I'm sick of these failures.

@alyssawilk alyssawilk changed the title test: reducing H2 test permutations test: reducing H2 test permutations, increasing coverage time Apr 30, 2019
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@mattklein123 mattklein123 merged commit bc9eec7 into envoyproxy:master May 1, 2019
mpuncel added a commit to mpuncel/envoy that referenced this pull request May 1, 2019
* master: (35 commits)
  Revert "api: Add total_issued_requests to Upstream Locality and Endpoint Stats. (envoyproxy#6692)" (envoyproxy#6761)
  Add test for the SocketOptionFactory::buildLiteralOptions() method. (envoyproxy#6724)
  Add test of parsing weighted_cluster route configuration to improve test coverage. (envoyproxy#6711)
  test: reducing H2 test permutations, increasing coverage time (envoyproxy#6753)
  Support gRPC-JSON translate without the google.api.http option. (envoyproxy#6731)
  quiche: implement QuicEpollClock (envoyproxy#6745)
  http: rc details for main Envoy workflow (envoyproxy#6560)
  quiche: implement QuicSystemEventLoopImpl (envoyproxy#6723)
  http: tracking 100s from upstream in stats (envoyproxy#6746)
  coverage: run without deprecated  option (envoyproxy#6752)
  quiche: Implement spdy_test_helpers_impl. (envoyproxy#6741)
  [test] convert listener test stubs to v2 API (envoyproxy#6735)
  api: Add total_issued_requests to Upstream Locality and Endpoint Stats. (envoyproxy#6692)
  quiche: Implement http2_reconstruct_object_impl.h. (envoyproxy#6717)
  build: patch protobuf for UBSAN issue. (envoyproxy#6721)
  router: scoped rds (2a): scoped routing configuration protos (envoyproxy#6675)
  tap: use move semantics for submitTrace (envoyproxy#6709)
  quiche: add epoll_server for testing (envoyproxy#6650)
  Increase timeout of the coverage test run to 3000 seconds as it is now bumping in the current 2000s limit causing coverage run to abort sometimes. (envoyproxy#6722)
  quiche: Update tarball to commit 43a1c0f10f2855c3cd142f500e8d19ac6d6f5a8c (envoyproxy#6718)
  ...

Signed-off-by: Michael Puncel <mpuncel@squareup.com>
jeffpiazza-google pushed a commit to jeffpiazza-google/envoy that referenced this pull request May 3, 2019
…roxy#6753)

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>

Signed-off-by: Jeff Piazza <jeffpiazza@google.com>
@alyssawilk alyssawilk deleted the timeout branch May 7, 2019 19:11
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