-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
fuzz: route lookup and header finalization fuzzer. #4116
Conversation
@mattklein123 I can't say I'm a fan of checking in a corpus this massive, even though it is automatically generated and we have instructions for regenerating it in the PR. The main issue I see in general is that corpus files will require care and feeding as APIs evolve (in particular here, where there is a wide API surface included and we know there will be churn over time). An alternative is that I keep this PR sans the checked in corpus, and do the generation action as an explicit Possibly could figure out something with a genrule, but this won't help in oss-fuzz land, since oss-fuzz only uses Bazel to build, then scrapes out the contents of the Bazel cache for the final link and execution outside of Bazel. Thoughts? |
This was a pretty easy small test to add to gain coverage over all route resolution and header finalization. Risk level: Low Testing: automatically generated corpus from //test/common/router:config_impl_test. Instructions for regeneration are at the top of the file. This provides a corpus coverage of 72.4% for config_impl.cc. Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
Sorry I don't follow this. If it's a bazel step, why wouldn't it work with the internal fuzzers?
Still confused why this wouldn't work. Couldn't we have a scrip that runs that puts the files in the right place? |
If it's a I'll take a look to see if our internal corpus inputs can take a |
Signed-off-by: Harvey Tuch <htuch@google.com>
@mattklein123 I've removed all of the corpus except a single file and left a TODO to figure out the genrule, this will let us get started with adding this test into internal/external fuzz frameworks and we can iterate from there. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry you weren't able to pad your GH stats as much. 😉
* origin/master: (38 commits) test: add tests for corner-cases around sending requests before run() starts or after run() ends. (envoyproxy#4114) perf: reduce the memory usage of LC Trie construction (envoyproxy#4117) test: moving redundant code in websocket_integration_test to utilities (envoyproxy#4127) test: make YamlLoadFromStringFail less picky about error msg. (envoyproxy#4141) rbac: add rbac network filter. (envoyproxy#4083) fuzz: route lookup and header finalization fuzzer. (envoyproxy#4116) Set content-type and content-length (envoyproxy#4113) fault: use FractionalPercent for percent (envoyproxy#3978) test: Fix inverted exact match logic in IntegrationTcpClient::waitForData() (envoyproxy#4134) Added cluster_name to load assignment config for static cluster (envoyproxy#4123) ssl: refactor ContextConfig to use TlsCertificateConfig (envoyproxy#4115) syscall: refactor OsSysCalls for deeper errno latching (envoyproxy#4111) thrift_proxy: fix oneway bugs (envoyproxy#4025) Do not crash when converting YAML to JSON fails (envoyproxy#4110) config: allow unknown fields flag (take 2) (envoyproxy#4096) Use a jittered backoff strategy for handling HdsDelegate stream/connection failures (envoyproxy#4108) bazel: use GCS remote cache (envoyproxy#4050) Add thread local cache of overload action states (envoyproxy#4090) Added TCP healthcheck capabilities to the HdsDelegate (envoyproxy#4079) secret: add secret provider interface and use it for TlsCertificates (envoyproxy#4086) ... Signed-off-by: Snow Pettersen <snowp@squareup.com>
This was a pretty easy small test to add to gain coverage over all route resolution and header
finalization. Automatically generated corpus from //test/common/router:config_impl_test. To regenerate the corpus:
Risk level: Low
Testing: Corpus coverage of 72.4% for config_impl.cc.
Signed-off-by: Harvey Tuch htuch@google.com