fix(netxlite/dns): more stricly mirror stdlib error strings (#513)
This diff attempts to modify the errors reported by our custom resolver by matching more strings from the stdlib. Part of https://github.com/ooni/probe/issues/1733 and diff has been extracted from https://github.com/ooni/probe-cli/pull/506.
This commit is contained in:
parent
201f602a40
commit
24b230fd38
17 changed files with 177 additions and 52 deletions
|
|
@ -77,6 +77,18 @@ func TestClassifyGenericError(t *testing.T) {
|
|||
}
|
||||
})
|
||||
|
||||
t.Run("for dns server misbehaving", func(t *testing.T) {
|
||||
if ClassifyGenericError(errors.New("dns server misbehaving")) != FailureDNSServerMisbehaving {
|
||||
t.Fatal("unexpected results")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("for no answer from DNS server", func(t *testing.T) {
|
||||
if ClassifyGenericError(errors.New("no answer from DNS server")) != FailureDNSNoAnswer {
|
||||
t.Fatal("unexpected results")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("for use of closed network connection", func(t *testing.T) {
|
||||
err := errors.New("read tcp 10.0.2.15:56948->93.184.216.34:443: use of closed network connection")
|
||||
if ClassifyGenericError(err) != FailureConnectionAlreadyClosed {
|
||||
|
|
@ -251,6 +263,12 @@ func TestClassifyResolverError(t *testing.T) {
|
|||
}
|
||||
})
|
||||
|
||||
t.Run("for refused", func(t *testing.T) {
|
||||
if ClassifyResolverError(ErrOODNSRefused) != FailureDNSRefusedError {
|
||||
t.Fatal("unexpected result")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("for another kind of error", func(t *testing.T) {
|
||||
if ClassifyResolverError(io.EOF) != FailureEOFError {
|
||||
t.Fatal("unexpected result")
|
||||
|
|
|
|||
Loading…
Reference in a new issue