瀏覽代碼

Merge pull request #46246 from thaJeztah/fix_TestFirewalldInit

libnetwork/iptables: fix TestFirewalldInit
Sebastiaan van Stijn 1 年之前
父節點
當前提交
71f4916357
共有 1 個文件被更改,包括 19 次插入6 次删除
  1. 19 6
      libnetwork/iptables/firewalld_test.go

+ 19 - 6
libnetwork/iptables/firewalld_test.go

@@ -7,12 +7,27 @@ import (
 	"net"
 	"net"
 	"strconv"
 	"strconv"
 	"testing"
 	"testing"
+
+	"github.com/godbus/dbus/v5"
 )
 )
 
 
-func TestFirewalldInit(t *testing.T) {
-	if !checkRunning() {
-		t.Skip("firewalld is not running")
+func skipIfNoFirewalld(t *testing.T) {
+	t.Helper()
+	conn, err := dbus.SystemBus()
+	if err != nil {
+		t.Skipf("cannot connect to D-bus system bus: %v", err)
+	}
+	defer conn.Close()
+
+	var zone string
+	err = conn.Object(dbusInterface, dbusPath).Call(dbusInterface+".getDefaultZone", 0).Store(&zone)
+	if err != nil {
+		t.Skipf("firewalld is not running: %v", err)
 	}
 	}
+}
+
+func TestFirewalldInit(t *testing.T) {
+	skipIfNoFirewalld(t)
 	if err := firewalldInit(); err != nil {
 	if err := firewalldInit(); err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
@@ -71,9 +86,7 @@ func TestReloaded(t *testing.T) {
 }
 }
 
 
 func TestPassthrough(t *testing.T) {
 func TestPassthrough(t *testing.T) {
-	if !firewalldRunning {
-		t.Skip("firewalld is not running")
-	}
+	skipIfNoFirewalld(t)
 	rule1 := []string{
 	rule1 := []string{
 		"-i", "lo",
 		"-i", "lo",
 		"-p", "udp",
 		"-p", "udp",