feat(webconnectivity@v0.5): flag case where noone resolved any address (#953)

See https://github.com/ooni/probe/issues/2290

While there, notice that in such a case the priority selector would hang because of the WaitGroup, so get rid of the WaitGroup and accept that the priority selector is going to hang around for the whole duration of the measurement in some cases. The cancellable `measurer.go`'s context will cause the priority selector to eventually exit when we return from `measurer.go`'s `Run` method.
This commit is contained in:
Simone Basso 2022-09-12 07:33:34 +02:00 committed by GitHub
commit b10eea47e7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 72 additions and 11 deletions

View file

@ -90,6 +90,11 @@ type TestKeys struct {
// BlockingFlags contains blocking flags.
BlockingFlags int64 `json:"x_blocking_flags"`
// NullNullFlags explains why we determined that a measurement is not
// failed by detecting specific conditions that would have otherwise
// caused .Accessible = nil and .Blocking = nil
NullNullFlags int64 `json:"x_null_null_flags"`
// BodyLength match tells us whether the body length matches.
BodyLengthMatch *bool `json:"body_length_match"`
@ -334,6 +339,7 @@ func NewTestKeys() *TestKeys {
DNSConsistency: "",
HTTPExperimentFailure: nil,
BlockingFlags: 0,
NullNullFlags: 0,
BodyLengthMatch: nil,
HeadersMatch: nil,
StatusCodeMatch: nil,