Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

37 lines
1.1 KiB
Go

//go:build linux && !android
package networkchange
import (
"strings"
"testing"
)
func TestParseLinuxDefaultRoutesDoesNotExposeGateway(t *testing.T) {
v4 := []byte("Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT\n" +
"eth0 00000000 0102A8C0 0003 0 0 100 00000000 0 0 0\n")
entries, err := parseLinuxIPv4Routes(v4)
if err != nil {
t.Fatal(err)
}
if len(entries) != 1 {
t.Fatalf("IPv4 default routes = %d, want 1", len(entries))
}
if entries[0] == "" || strings.Contains(entries[0], "192.168.2.1") {
t.Fatalf("route entry exposed or omitted the opaque gateway summary: %q", entries[0])
}
}
func TestParseLinuxIPv6DefaultRouteUsesKernelPrefixWidth(t *testing.T) {
route := []byte("00000000000000000000000000000000 00 " +
"00000000000000000000000000000000 00 " +
"fe800000000000000000000000000001 00000064 00000000 00000000 00000003 eth0\n")
entries, err := parseLinuxIPv6Routes(route)
if err != nil {
t.Fatal(err)
}
if len(entries) != 1 || !strings.HasPrefix(entries[0], "default-route:ipv6|eth0|") {
t.Fatalf("IPv6 default routes = %q, want one eth0 route", entries)
}
}