Hacky temporary workaround until we do #13654 correctly. Updates #13654 Change-Id: I764eaedbb112fb3a34dddb89572fec1b2543fd4a Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>main
parent
1f8eea53a8
commit
5f88b65764
@ -0,0 +1,77 @@ |
||||
// Copyright (c) Tailscale Inc & AUTHORS
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
package netstack |
||||
|
||||
import ( |
||||
"net/netip" |
||||
"testing" |
||||
) |
||||
|
||||
func TestWindowsPingOutputIsSuccess(t *testing.T) { |
||||
tests := []struct { |
||||
name string |
||||
ip string |
||||
out string |
||||
want bool |
||||
}{ |
||||
{ |
||||
name: "success", |
||||
ip: "10.0.0.1", |
||||
want: true, |
||||
out: `Pinging 10.0.0.1 with 32 bytes of data: |
||||
Reply from 10.0.0.1: bytes=32 time=7ms TTL=64 |
||||
|
||||
Ping statistics for 10.0.0.1: |
||||
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), |
||||
Approximate round trip times in milli-seconds: |
||||
Minimum = 7ms, Maximum = 7ms, Average = 7ms |
||||
`, |
||||
}, |
||||
{ |
||||
name: "success_sub_millisecond", |
||||
ip: "10.0.0.1", |
||||
want: true, |
||||
out: `Pinging 10.0.0.1 with 32 bytes of data: |
||||
Reply from 10.0.0.1: bytes=32 time<1ms TTL=64 |
||||
|
||||
Ping statistics for 10.0.0.1: |
||||
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), |
||||
Approximate round trip times in milli-seconds: |
||||
Minimum = 7ms, Maximum = 7ms, Average = 7ms |
||||
`, |
||||
}, |
||||
{ |
||||
name: "success_german", |
||||
ip: "10.0.0.1", |
||||
want: true, |
||||
out: `Ping wird ausgeführt für 10.0.0.1 mit 32 Bytes Daten: |
||||
Antwort von from 10.0.0.1: Bytes=32 Zeit=7ms TTL=64 |
||||
|
||||
Ping-Statistik für 10.0.0.1: |
||||
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust), |
||||
Ca. Zeitangaben in Millisek.: |
||||
Minimum = 7ms, Maximum = 7ms, Mittelwert = 7ms |
||||
`, |
||||
}, |
||||
{ |
||||
name: "unreachable", |
||||
ip: "10.0.0.6", |
||||
want: false, |
||||
out: `Pinging 10.0.0.6 with 32 bytes of data: |
||||
Reply from 10.0.108.189: Destination host unreachable |
||||
|
||||
Ping statistics for 10.0.0.6: |
||||
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), |
||||
`, |
||||
}, |
||||
} |
||||
for _, tt := range tests { |
||||
t.Run(tt.name, func(t *testing.T) { |
||||
got := windowsPingOutputIsSuccess(netip.MustParseAddr(tt.ip), []byte(tt.out)) |
||||
if got != tt.want { |
||||
t.Errorf("got %v; want %v", got, tt.want) |
||||
} |
||||
}) |
||||
} |
||||
} |
||||
Loading…
Reference in new issue