From 9b6f048fe834a92e9a0fd66fd50e25168fbe57f1 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Sat, 2 May 2026 02:51:49 +0000 Subject: [PATCH] chore(pmtud): fix integration tests not compiling --- internal/pmtud/pmtud_integration_test.go | 26 +++++++++++++++++++--- internal/pmtud/tcp/tcp_integration_test.go | 5 +++-- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/internal/pmtud/pmtud_integration_test.go b/internal/pmtud/pmtud_integration_test.go index 468da1e6..54958a6a 100644 --- a/internal/pmtud/pmtud_integration_test.go +++ b/internal/pmtud/pmtud_integration_test.go @@ -3,11 +3,15 @@ package pmtud import ( - "context" + "errors" "net/netip" "testing" "time" + "github.com/qdm12/gluetun/internal/command" + "github.com/qdm12/gluetun/internal/firewall" + "github.com/qdm12/gluetun/internal/firewall/iptables" + "github.com/qdm12/log" "github.com/stretchr/testify/require" ) @@ -15,8 +19,24 @@ func Test_PathMTUDiscover(t *testing.T) { t.Parallel() const physicalLinkMTU = 1500 const timeout = time.Second - mtu, err := PathMTUDiscover(context.Background(), netip.MustParseAddr("1.1.1.1"), - physicalLinkMTU, timeout, nil) + + logger := log.New(log.SetLevel(log.LevelDebug)) + + cmder := command.New() + fw, err := firewall.NewConfig(t.Context(), logger, logger, cmder, nil, nil) + if errors.Is(err, iptables.ErrNotSupported) { + t.Skip("iptables not installed, skipping TCP PMTUD tests") + } + require.NoError(t, err, "creating firewall config") + + icmpAddrs := []netip.Addr{ + netip.MustParseAddr("1.1.1.1"), + } + tcpAddrs := []netip.AddrPort{ + netip.MustParseAddrPort("1.1.1.1:80"), + } + mtu, err := PathMTUDiscover(t.Context(), icmpAddrs, tcpAddrs, + physicalLinkMTU, timeout, fw, logger) require.NoError(t, err) t.Log("MTU found:", mtu) } diff --git a/internal/pmtud/tcp/tcp_integration_test.go b/internal/pmtud/tcp/tcp_integration_test.go index 9bdebdfe..e31a45b4 100644 --- a/internal/pmtud/tcp/tcp_integration_test.go +++ b/internal/pmtud/tcp/tcp_integration_test.go @@ -10,6 +10,7 @@ import ( "github.com/qdm12/gluetun/internal/command" "github.com/qdm12/gluetun/internal/firewall" + "github.com/qdm12/gluetun/internal/firewall/iptables" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/log" "github.com/stretchr/testify/assert" @@ -32,8 +33,8 @@ func Test_PathMTUDiscover(t *testing.T) { logger := log.New(log.SetLevel(log.LevelDebug)) cmder := command.New() - fw, err := firewall.NewConfig(t.Context(), logger, cmder, nil, nil) - if errors.Is(err, firewall.ErrIPTablesNotSupported) { + fw, err := firewall.NewConfig(t.Context(), logger, logger, cmder, nil, nil) + if errors.Is(err, iptables.ErrNotSupported) { t.Skip("iptables not installed, skipping TCP PMTUD tests") } require.NoError(t, err, "creating firewall config")