From ab084b525c63400ea0b7616cb75ab95a54687e6e Mon Sep 17 00:00:00 2001 From: Lomanic Date: Sat, 29 Aug 2020 18:30:51 +0200 Subject: [PATCH] [net] Skip tests on non-implemented platforms #446 --- net/net_test.go | 15 +++++++++++++++ net/net_windows.go | 5 ++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/net/net_test.go b/net/net_test.go index 80f56afe..4e43f512 100644 --- a/net/net_test.go +++ b/net/net_test.go @@ -9,6 +9,12 @@ import ( "github.com/shirou/gopsutil/internal/common" ) +func skipIfNotImplementedErr(t *testing.T, err error) { + if err == common.ErrNotImplementedError { + t.Skip("not implemented") + } +} + func TestAddrString(t *testing.T) { v := Addr{IP: "192.168.0.1", Port: 8000} @@ -61,10 +67,12 @@ func TestNetConnectionStatString(t *testing.T) { func TestNetIOCountersAll(t *testing.T) { v, err := IOCounters(false) + skipIfNotImplementedErr(t, err) if err != nil { t.Errorf("Could not get NetIOCounters: %v", err) } per, err := IOCounters(true) + skipIfNotImplementedErr(t, err) if err != nil { t.Errorf("Could not get NetIOCounters: %v", err) } @@ -85,6 +93,7 @@ func TestNetIOCountersAll(t *testing.T) { func TestNetIOCountersPerNic(t *testing.T) { v, err := IOCounters(true) + skipIfNotImplementedErr(t, err) if err != nil { t.Errorf("Could not get NetIOCounters: %v", err) } @@ -113,6 +122,7 @@ func TestGetNetIOCountersAll(t *testing.T) { }, } ret, err := getIOCountersAll(n) + skipIfNotImplementedErr(t, err) if err != nil { t.Error(err) } @@ -132,6 +142,7 @@ func TestGetNetIOCountersAll(t *testing.T) { func TestNetInterfaces(t *testing.T) { v, err := Interfaces() + skipIfNotImplementedErr(t, err) if err != nil { t.Errorf("Could not get NetInterfaceStat: %v", err) } @@ -147,6 +158,7 @@ func TestNetInterfaces(t *testing.T) { func TestNetProtoCountersStatsAll(t *testing.T) { v, err := ProtoCounters(nil) + skipIfNotImplementedErr(t, err) if err != nil { t.Fatalf("Could not get NetProtoCounters: %v", err) } @@ -165,6 +177,7 @@ func TestNetProtoCountersStatsAll(t *testing.T) { func TestNetProtoCountersStats(t *testing.T) { v, err := ProtoCounters([]string{"tcp", "ip"}) + skipIfNotImplementedErr(t, err) if err != nil { t.Fatalf("Could not get NetProtoCounters: %v", err) } @@ -190,6 +203,7 @@ func TestNetConnections(t *testing.T) { } v, err := Connections("inet") + skipIfNotImplementedErr(t, err) if err != nil { t.Errorf("could not get NetConnections: %v", err) } @@ -217,6 +231,7 @@ func TestNetFilterCounters(t *testing.T) { } v, err := FilterCounters() + skipIfNotImplementedErr(t, err) if err != nil { t.Errorf("could not get NetConnections: %v", err) } diff --git a/net/net_windows.go b/net/net_windows.go index 6ab45ab3..629fdfc7 100644 --- a/net/net_windows.go +++ b/net/net_windows.go @@ -4,7 +4,6 @@ package net import ( "context" - "errors" "fmt" "net" "os" @@ -323,7 +322,7 @@ func FilterCounters() ([]FilterStat, error) { } func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { - return nil, errors.New("NetFilterCounters not implemented for windows") + return nil, common.ErrNotImplementedError } func ConntrackStats(percpu bool) ([]ConntrackStat, error) { @@ -344,7 +343,7 @@ func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { } func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { - return nil, errors.New("NetProtoCounters not implemented for windows") + return nil, common.ErrNotImplementedError } func getTableUintptr(family uint32, buf []byte) uintptr {