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

tap: Restore tap matching tests #1042

Merged
merged 1 commit into from
Jun 10, 2021
Merged

tap: Restore tap matching tests #1042

merged 1 commit into from
Jun 10, 2021

Conversation

olix0r
Copy link
Member

@olix0r olix0r commented Jun 10, 2021

The tap tests were disabled in #568. This change restores these tests,
updating them to use quickcheck v1.

@olix0r olix0r requested a review from a team June 10, 2021 15:58
The tap tests were disabled in #568. This change restores these tests,
updating them to use quickcheck v1.
Copy link
Contributor

@hawkw hawkw left a comment

Choose a reason for hiding this comment

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

afaict this looks great!

@olix0r olix0r merged commit 8119772 into main Jun 10, 2021
@olix0r olix0r deleted the ver/tap-tests branch June 10, 2021 20:01
hawkw added a commit that referenced this pull request Jun 10, 2021
The quickcheck tests for tap that were re-enabled in PR #1042 have
caught a bug: when a `PortMatch` message has a `min` value that's
greater than its `max` value, the tests expect that `TcpMatch::try_from`
should return an error (since the range is obviously invalid). However,
we don't currently do that.

This is causing CI to break on an unrelated change:
https://github.com/linkerd/linkerd2-proxy/runs/2797285941#step:3:907

This PR adds a new test reproducing the failing quickcheck inputs, and
fixes the bug (by making `TcpMatch::try_from` return an error in that
case).

Since quickcheck inputs are randomly generated and are not
deterministic, I thought it was probably a good idea to have a
hard-coded test to reproduce this case, just in case there are future
regressions. As a side note, we may want to consider switching from the
`quickcheck` crate to the [`proptest` crate] --- one nice feature of
`proptest` is that it automatically records failing inputs, which can be
checked in to git, and future test runs will try all the failing inputs
as well as randomly generating new ones.

[`proptest` crate]: https://github.com/AltSysrq/proptest
olix0r added a commit that referenced this pull request Jun 11, 2021
The quickcheck tests for tap that were re-enabled in PR #1042 have
caught a bug: when a `PortMatch` message has a `min` value that's
greater than its `max` value, the tests expect that `TcpMatch::try_from`
should return an error (since the range is obviously invalid). However,
we don't currently do that.

This change updates PortRange parsing to error if a non-zero max value
is not less than the min value and updates the test to set the proper error
cases.

Co-authored-by: Oliver Gould <ver@buoyant.io>
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Jun 18, 2021
This release updates a wide variety of the proxy's dependencies. No
user-facing changes are expected.

---

* tap: Restore tap matching tests (linkerd/linkerd2-proxy#1042)
* Add a 'rustfmt' feature to crates that use gRPC (linkerd/linkerd2-proxy#1041)
* tap: return an error when a `PortRange`'s min > max (linkerd/linkerd2-proxy#1044)
* retry: Enforce a cap on max replay buffer size (linkerd/linkerd2-proxy#1043)
* Add codecov integration via cargo-tarpaulin (linkerd/linkerd2-proxy#1047)
* Add a dependabot configuration (linkerd/linkerd2-proxy#1046)
* Fixup dependabot configuration (linkerd/linkerd2-proxy#1049)
* build(deps): bump actions/upload-artifact from 2.2.3 to 2.2.4 (linkerd/linkerd2-proxy#1050)
* build(deps): bump softprops/action-gh-release from 0.1.5 to 1 (linkerd/linkerd2-proxy#1051)
* build(deps): bump libfuzzer-sys in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1052)
* build(deps): bump libfuzzer-sys from 0.4.0 to 0.4.2 in /linkerd/tls/fuzz (linkerd/linkerd2-proxy#1053)
* build(deps): bump libfuzzer-sys in /linkerd/addr/fuzz (linkerd/linkerd2-proxy#1054)
* build(deps): bump tokio from 1.5.0 to 1.7.0 in /linkerd/proxy/http/fuzz (linkerd/linkerd2-proxy#1056)
* build(deps): bump tracing from 0.1.25 to 0.1.26 in /linkerd/dns/fuzz (linkerd/linkerd2-proxy#1055)
* build(deps): bump libfuzzer-sys from 0.4.0 to 0.4.2 in /linkerd/dns/fuzz (linkerd/linkerd2-proxy#1058)
* build(deps): bump tracing from 0.1.25 to 0.1.26 in /linkerd/addr/fuzz (linkerd/linkerd2-proxy#1059)
* build(deps): bump libfuzzer-sys in /linkerd/proxy/http/fuzz (linkerd/linkerd2-proxy#1060)
* build(deps): bump tracing in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1061)
* build(deps): bump tokio from 1.5.0 to 1.7.0 in /linkerd/dns/fuzz (linkerd/linkerd2-proxy#1062)
* build(deps): bump tokio in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1063)
* build(deps): bump arbitrary in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1064)
* build(deps): bump tokio from 1.5.0 to 1.7.0 in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1065)
* build(deps): bump tracing in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1066)
* build(deps): bump hyper in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1067)
* build(deps): bump deflate from 0.7.20 to 0.9.1 (linkerd/linkerd2-proxy#1068)
* build(deps): bump libfuzzer-sys in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1069)
* build(deps): bump tonic-build from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1070)
* build(deps): bump linkerd2-proxy-api from `453ac1e` to `48f13d6` (linkerd/linkerd2-proxy#1071)
* build(deps): bump ipnet from 2.3.0 to 2.3.1 (linkerd/linkerd2-proxy#1072)
* build(deps): bump regex from 1.4.3 to 1.4.6 (linkerd/linkerd2-proxy#1073)
* build(deps): bump arbitrary in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1057)
* Update tonic to v0.4.3 (linkerd/linkerd2-proxy#1080)
* ci: Skip coverage tests on dependencies-only changes (linkerd/linkerd2-proxy#1074)
* build(deps): bump indexmap from 1.6.1 to 1.6.2 (linkerd/linkerd2-proxy#1075)
* build(deps): bump rand from 0.8.3 to 0.8.4 (linkerd/linkerd2-proxy#1077)
* build(deps): bump tokio-test from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1076)
* build(deps): bump pin-project from 1.0.5 to 1.0.7 (linkerd/linkerd2-proxy#1078)
* build(deps): bump arbitrary from 1.0.0 to 1.0.1 (linkerd/linkerd2-proxy#1083)
* outbound: replace `sleep`s in test with `yield_now` (linkerd/linkerd2-proxy#1085)
* build(deps): bump thiserror from 1.0.23 to 1.0.25 (linkerd/linkerd2-proxy#1081)
* build(deps): bump async-stream from 0.3.0 to 0.3.2 (linkerd/linkerd2-proxy#1084)
* build(deps): bump serde_json from 1.0.62 to 1.0.64 (linkerd/linkerd2-proxy#1086)
* build(deps): bump tokio-stream from 0.1.5 to 0.1.6 (linkerd/linkerd2-proxy#1082)
* build(deps): Skip coverage by PR title (linkerd/linkerd2-proxy#1087)
* fuzz: Omit lockfiles from version control (linkerd/linkerd2-proxy#1088)
* build(deps): bump tokio from 1.6.1 to 1.7.0 (linkerd/linkerd2-proxy#1079)
* build(deps): bump mimalloc from 0.1.24 to 0.1.25 (linkerd/linkerd2-proxy#1089)
* build(deps): bump tokio-util from 0.6.5 to 0.6.7 (linkerd/linkerd2-proxy#1090)
* build(deps): bump libc from 0.2.86 to 0.2.97 (linkerd/linkerd2-proxy#1093)
* build(deps): bump http from 0.2.3 to 0.2.4 (linkerd/linkerd2-proxy#1092)
* build(deps): bump rustls from 0.19.0 to 0.19.1 (linkerd/linkerd2-proxy#1094)
* build(deps): bump async-trait from 0.1.42 to 0.1.50 (linkerd/linkerd2-proxy#1095)
* build(deps): bump tracing-subscriber from 0.2.17 to 0.2.18 (linkerd/linkerd2-proxy#1096)
* build(deps): bump http-body from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1097)
* build(deps): bump tracing from 0.1.25 to 0.1.26 (linkerd/linkerd2-proxy#1098)
* build(deps): bump hdrhistogram from 7.2.0 to 7.3.0 (linkerd/linkerd2-proxy#1099)
* build(deps): bump regex from 1.4.6 to 1.5.4 (linkerd/linkerd2-proxy#1100)
* build(deps): bump tower from 0.4.7 to 0.4.8 (linkerd/linkerd2-proxy#1102)
* build(deps): bump libfuzzer-sys from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1103)
* build(deps): bump actions/download-artifact from 2.0.9 to 2.0.10 (linkerd/linkerd2-proxy#1104)
* Remove unneeded uses of indexmap (linkerd/linkerd2-proxy#1048)
* build(deps): Update trust-dns to v0.21.0-alpha.1 (linkerd/linkerd2-proxy#1105)
* config: add a `PortSet` type (linkerd/linkerd2-proxy#1106)
* replace `linkerd-concurrency-limit` with Tower (linkerd/linkerd2-proxy#1107)
* build(deps): Update Rust to v1.53.0 (linkerd/linkerd2-proxy#1108)
adleong pushed a commit to linkerd/linkerd2 that referenced this pull request Jun 18, 2021
This release updates a wide variety of the proxy's dependencies. No
user-facing changes are expected.

---

* tap: Restore tap matching tests (linkerd/linkerd2-proxy#1042)
* Add a 'rustfmt' feature to crates that use gRPC (linkerd/linkerd2-proxy#1041)
* tap: return an error when a `PortRange`'s min > max (linkerd/linkerd2-proxy#1044)
* retry: Enforce a cap on max replay buffer size (linkerd/linkerd2-proxy#1043)
* Add codecov integration via cargo-tarpaulin (linkerd/linkerd2-proxy#1047)
* Add a dependabot configuration (linkerd/linkerd2-proxy#1046)
* Fixup dependabot configuration (linkerd/linkerd2-proxy#1049)
* build(deps): bump actions/upload-artifact from 2.2.3 to 2.2.4 (linkerd/linkerd2-proxy#1050)
* build(deps): bump softprops/action-gh-release from 0.1.5 to 1 (linkerd/linkerd2-proxy#1051)
* build(deps): bump libfuzzer-sys in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1052)
* build(deps): bump libfuzzer-sys from 0.4.0 to 0.4.2 in /linkerd/tls/fuzz (linkerd/linkerd2-proxy#1053)
* build(deps): bump libfuzzer-sys in /linkerd/addr/fuzz (linkerd/linkerd2-proxy#1054)
* build(deps): bump tokio from 1.5.0 to 1.7.0 in /linkerd/proxy/http/fuzz (linkerd/linkerd2-proxy#1056)
* build(deps): bump tracing from 0.1.25 to 0.1.26 in /linkerd/dns/fuzz (linkerd/linkerd2-proxy#1055)
* build(deps): bump libfuzzer-sys from 0.4.0 to 0.4.2 in /linkerd/dns/fuzz (linkerd/linkerd2-proxy#1058)
* build(deps): bump tracing from 0.1.25 to 0.1.26 in /linkerd/addr/fuzz (linkerd/linkerd2-proxy#1059)
* build(deps): bump libfuzzer-sys in /linkerd/proxy/http/fuzz (linkerd/linkerd2-proxy#1060)
* build(deps): bump tracing in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1061)
* build(deps): bump tokio from 1.5.0 to 1.7.0 in /linkerd/dns/fuzz (linkerd/linkerd2-proxy#1062)
* build(deps): bump tokio in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1063)
* build(deps): bump arbitrary in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1064)
* build(deps): bump tokio from 1.5.0 to 1.7.0 in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1065)
* build(deps): bump tracing in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1066)
* build(deps): bump hyper in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1067)
* build(deps): bump deflate from 0.7.20 to 0.9.1 (linkerd/linkerd2-proxy#1068)
* build(deps): bump libfuzzer-sys in /linkerd/app/inbound/fuzz (linkerd/linkerd2-proxy#1069)
* build(deps): bump tonic-build from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1070)
* build(deps): bump linkerd2-proxy-api from `453ac1e` to `48f13d6` (linkerd/linkerd2-proxy#1071)
* build(deps): bump ipnet from 2.3.0 to 2.3.1 (linkerd/linkerd2-proxy#1072)
* build(deps): bump regex from 1.4.3 to 1.4.6 (linkerd/linkerd2-proxy#1073)
* build(deps): bump arbitrary in /linkerd/transport-header/fuzz (linkerd/linkerd2-proxy#1057)
* Update tonic to v0.4.3 (linkerd/linkerd2-proxy#1080)
* ci: Skip coverage tests on dependencies-only changes (linkerd/linkerd2-proxy#1074)
* build(deps): bump indexmap from 1.6.1 to 1.6.2 (linkerd/linkerd2-proxy#1075)
* build(deps): bump rand from 0.8.3 to 0.8.4 (linkerd/linkerd2-proxy#1077)
* build(deps): bump tokio-test from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1076)
* build(deps): bump pin-project from 1.0.5 to 1.0.7 (linkerd/linkerd2-proxy#1078)
* build(deps): bump arbitrary from 1.0.0 to 1.0.1 (linkerd/linkerd2-proxy#1083)
* outbound: replace `sleep`s in test with `yield_now` (linkerd/linkerd2-proxy#1085)
* build(deps): bump thiserror from 1.0.23 to 1.0.25 (linkerd/linkerd2-proxy#1081)
* build(deps): bump async-stream from 0.3.0 to 0.3.2 (linkerd/linkerd2-proxy#1084)
* build(deps): bump serde_json from 1.0.62 to 1.0.64 (linkerd/linkerd2-proxy#1086)
* build(deps): bump tokio-stream from 0.1.5 to 0.1.6 (linkerd/linkerd2-proxy#1082)
* build(deps): Skip coverage by PR title (linkerd/linkerd2-proxy#1087)
* fuzz: Omit lockfiles from version control (linkerd/linkerd2-proxy#1088)
* build(deps): bump tokio from 1.6.1 to 1.7.0 (linkerd/linkerd2-proxy#1079)
* build(deps): bump mimalloc from 0.1.24 to 0.1.25 (linkerd/linkerd2-proxy#1089)
* build(deps): bump tokio-util from 0.6.5 to 0.6.7 (linkerd/linkerd2-proxy#1090)
* build(deps): bump libc from 0.2.86 to 0.2.97 (linkerd/linkerd2-proxy#1093)
* build(deps): bump http from 0.2.3 to 0.2.4 (linkerd/linkerd2-proxy#1092)
* build(deps): bump rustls from 0.19.0 to 0.19.1 (linkerd/linkerd2-proxy#1094)
* build(deps): bump async-trait from 0.1.42 to 0.1.50 (linkerd/linkerd2-proxy#1095)
* build(deps): bump tracing-subscriber from 0.2.17 to 0.2.18 (linkerd/linkerd2-proxy#1096)
* build(deps): bump http-body from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1097)
* build(deps): bump tracing from 0.1.25 to 0.1.26 (linkerd/linkerd2-proxy#1098)
* build(deps): bump hdrhistogram from 7.2.0 to 7.3.0 (linkerd/linkerd2-proxy#1099)
* build(deps): bump regex from 1.4.6 to 1.5.4 (linkerd/linkerd2-proxy#1100)
* build(deps): bump tower from 0.4.7 to 0.4.8 (linkerd/linkerd2-proxy#1102)
* build(deps): bump libfuzzer-sys from 0.4.0 to 0.4.2 (linkerd/linkerd2-proxy#1103)
* build(deps): bump actions/download-artifact from 2.0.9 to 2.0.10 (linkerd/linkerd2-proxy#1104)
* Remove unneeded uses of indexmap (linkerd/linkerd2-proxy#1048)
* build(deps): Update trust-dns to v0.21.0-alpha.1 (linkerd/linkerd2-proxy#1105)
* config: add a `PortSet` type (linkerd/linkerd2-proxy#1106)
* replace `linkerd-concurrency-limit` with Tower (linkerd/linkerd2-proxy#1107)
* build(deps): Update Rust to v1.53.0 (linkerd/linkerd2-proxy#1108)
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