26 lines
1 KiB
Go
26 lines
1 KiB
Go
//go:build integration
|
|
|
|
package firewall
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
)
|
|
|
|
// linuxBackends lists every Linux backend in the same order NewManager probes them.
|
|
func linuxBackends() []backendFactory {
|
|
return []backendFactory{
|
|
{"firewalld", func(ctx context.Context, p string) (Manager, error) { return NewFirewallD(ctx, p) }},
|
|
{"ufw", func(ctx context.Context, p string) (Manager, error) { return NewUFW(ctx, p) }},
|
|
{"csf", func(ctx context.Context, p string) (Manager, error) { return NewCSF(ctx, p) }},
|
|
{"apf", func(ctx context.Context, p string) (Manager, error) { return NewAPF(ctx, p) }},
|
|
{"iptables", func(ctx context.Context, p string) (Manager, error) { return NewIPTables(ctx, p) }},
|
|
{"nft", func(ctx context.Context, p string) (Manager, error) { return NewNFT(ctx, p) }},
|
|
}
|
|
}
|
|
|
|
// TestIntegration runs the capability-driven suite against the Linux backends.
|
|
// See integration_test.go for the shared suite and runIntegration.
|
|
func TestIntegration(t *testing.T) {
|
|
runIntegration(t, linuxBackends())
|
|
}
|