Skip to content

Commit c0f75ea

Browse files
Merge pull request #2417 from kolyshkin/use-t
*_test.go: use t.TempDir, t.Setenv
2 parents 62f5c9f + 195e1e7 commit c0f75ea

12 files changed

+123
-256
lines changed

Diff for: libnetwork/cni/config_test.go

+5-10
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ var _ = Describe("Config", func() {
2626
)
2727

2828
BeforeEach(func() {
29-
var err error
30-
cniConfDir, err = os.MkdirTemp("", "podman_cni_test")
31-
if err != nil {
32-
Fail("Failed to create tmpdir")
33-
}
29+
t := GinkgoT()
30+
cniConfDir = t.TempDir()
3431
logBuffer = bytes.Buffer{}
3532
logrus.SetOutput(&logBuffer)
3633
logrus.SetLevel(logrus.InfoLevel)
34+
DeferCleanup(func() {
35+
logrus.SetLevel(logrus.InfoLevel)
36+
})
3737
})
3838

3939
JustBeforeEach(func() {
@@ -44,11 +44,6 @@ var _ = Describe("Config", func() {
4444
}
4545
})
4646

47-
AfterEach(func() {
48-
logrus.SetLevel(logrus.InfoLevel)
49-
os.RemoveAll(cniConfDir)
50-
})
51-
5247
Context("basic network config tests", func() {
5348
It("check default network config exists", func() {
5449
networks, err := libpodNet.NetworkList()

Diff for: libnetwork/cni/run_test.go

+17-18
Original file line numberDiff line numberDiff line change
@@ -76,24 +76,34 @@ var _ = Describe("run CNI", func() {
7676
Skip("this test needs to be run as root")
7777
}
7878

79-
var err error
80-
cniConfDir, err = os.MkdirTemp("", "podman_cni_test")
81-
if err != nil {
82-
Fail("Failed to create tmpdir")
83-
}
79+
t := GinkgoT()
80+
cniConfDir = t.TempDir()
8481
logBuffer = bytes.Buffer{}
8582
logrus.SetOutput(&logBuffer)
8683

84+
var err error
8785
netNSTest, err = netns.NewNS()
8886
if err != nil {
8987
Fail("Failed to create netns")
9088
}
89+
DeferCleanup(func() {
90+
_ = netns.UnmountNS(netNSTest.Path())
91+
_ = netNSTest.Close()
92+
})
9193

9294
netNSContainer, err = netns.NewNS()
9395
if err != nil {
9496
Fail("Failed to create netns")
9597
}
98+
DeferCleanup(func() {
99+
_ = netns.UnmountNS(netNSContainer.Path())
100+
_ = netNSContainer.Close()
101+
})
102+
96103
logrus.SetLevel(logrus.WarnLevel)
104+
DeferCleanup(func() {
105+
logrus.SetLevel(logrus.InfoLevel)
106+
})
97107
})
98108

99109
JustBeforeEach(func() {
@@ -104,17 +114,6 @@ var _ = Describe("run CNI", func() {
104114
}
105115
})
106116

107-
AfterEach(func() {
108-
logrus.SetLevel(logrus.InfoLevel)
109-
_ = os.RemoveAll(cniConfDir)
110-
111-
_ = netns.UnmountNS(netNSTest.Path())
112-
_ = netNSTest.Close()
113-
114-
_ = netns.UnmountNS(netNSContainer.Path())
115-
_ = netNSContainer.Close()
116-
})
117-
118117
Context("network setup test", func() {
119118
It("run with default config", func() {
120119
runTest(func() {
@@ -790,8 +789,8 @@ var _ = Describe("run CNI", func() {
790789
},
791790
}
792791

793-
os.Setenv("CNI_ARGS", "IP="+ip)
794-
defer os.Unsetenv("CNI_ARGS")
792+
t := GinkgoT()
793+
t.Setenv("CNI_ARGS", "IP="+ip)
795794

796795
res, err := libpodNet.Setup(netNSContainer.Path(), setupOpts)
797796
Expect(err).ToNot(HaveOccurred())

Diff for: libnetwork/netavark/config_test.go

+2-9
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,8 @@ var _ = Describe("Config", func() {
2828
)
2929

3030
BeforeEach(func() {
31-
var err error
32-
networkConfDir, err = os.MkdirTemp("", "podman_netavark_test")
33-
if err != nil {
34-
Fail("Failed to create tmpdir")
35-
}
31+
t := GinkgoT()
32+
networkConfDir = t.TempDir()
3633
logBuffer = bytes.Buffer{}
3734
logrus.SetOutput(&logBuffer)
3835
})
@@ -45,10 +42,6 @@ var _ = Describe("Config", func() {
4542
}
4643
})
4744

48-
AfterEach(func() {
49-
os.RemoveAll(networkConfDir)
50-
})
51-
5245
Context("basic network config tests", func() {
5346
It("check default network config exists", func() {
5447
networks, err := libpodNet.NetworkList()

Diff for: libnetwork/netavark/ipam_test.go

+2-10
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"bytes"
77
"fmt"
88
"net"
9-
"os"
109

1110
"github.com/containers/common/libnetwork/types"
1211
"github.com/containers/common/pkg/config"
@@ -23,11 +22,8 @@ var _ = Describe("IPAM", func() {
2322
)
2423

2524
BeforeEach(func() {
26-
var err error
27-
networkConfDir, err = os.MkdirTemp("", "podman_netavark_test")
28-
if err != nil {
29-
Fail("Failed to create tmpdir")
30-
}
25+
t := GinkgoT()
26+
networkConfDir = t.TempDir()
3127
logBuffer = bytes.Buffer{}
3228
logrus.SetOutput(&logBuffer)
3329
})
@@ -48,10 +44,6 @@ var _ = Describe("IPAM", func() {
4844
Expect(err).ToNot(HaveOccurred())
4945
})
5046

51-
AfterEach(func() {
52-
os.RemoveAll(networkConfDir)
53-
})
54-
5547
It("simple ipam alloc", func() {
5648
netName := types.DefaultNetworkName
5749
for i := 2; i < 100; i++ {

Diff for: libnetwork/netavark/plugin_test.go

+2-10
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package netavark_test
44

55
import (
66
"bytes"
7-
"os"
87
"path/filepath"
98

109
"github.com/containers/common/libnetwork/types"
@@ -23,11 +22,8 @@ var _ = Describe("Plugins", func() {
2322
)
2423

2524
BeforeEach(func() {
26-
var err error
27-
networkConfDir, err = os.MkdirTemp("", "podman_netavark_test")
28-
if err != nil {
29-
Fail("Failed to create tmpdir")
30-
}
25+
t := GinkgoT()
26+
networkConfDir = t.TempDir()
3127
logBuffer = bytes.Buffer{}
3228
logrus.SetOutput(&logBuffer)
3329
})
@@ -40,10 +36,6 @@ var _ = Describe("Plugins", func() {
4036
}
4137
})
4238

43-
AfterEach(func() {
44-
os.RemoveAll(networkConfDir)
45-
})
46-
4739
It("create plugin network", func() {
4840
network := types.Network{Driver: pluginName}
4941
network1, err := libpodNet.NetworkCreate(network, nil)

Diff for: libnetwork/netavark/run_test.go

+22-21
Original file line numberDiff line numberDiff line change
@@ -61,37 +61,47 @@ var _ = Describe("run netavark", func() {
6161
Skip("NETAVARK_BINARY not set skip run tests")
6262
}
6363

64-
// set the logrus settings
65-
logrus.SetLevel(logrus.TraceLevel)
66-
// disable extra quotes so we can easily copy the netavark command
67-
logrus.SetFormatter(&logrus.TextFormatter{DisableQuote: true})
68-
logrus.SetOutput(os.Stderr)
6964
// The tests need root privileges.
7065
// Technically we could work around that by using user namespaces and
7166
// the rootless cni code but this is to much work to get it right for a unit test.
7267
if unshare.IsRootless() {
7368
Skip("this test needs to be run as root")
7469
}
7570

76-
var err error
77-
confDir, err = os.MkdirTemp("", "podman_netavark_test")
78-
if err != nil {
79-
Fail("Failed to create tmpdir")
80-
}
71+
// set the logrus settings
72+
logrus.SetLevel(logrus.TraceLevel)
73+
// disable extra quotes so we can easily copy the netavark command
74+
logrus.SetFormatter(&logrus.TextFormatter{DisableQuote: true})
75+
logrus.SetOutput(os.Stderr)
76+
DeferCleanup(func() {
77+
logrus.SetFormatter(&logrus.TextFormatter{})
78+
logrus.SetLevel(logrus.InfoLevel)
79+
})
8180

81+
t := GinkgoT()
82+
confDir = t.TempDir()
83+
84+
var err error
8285
netNSTest, err = netns.NewNS()
8386
if err != nil {
8487
Fail("Failed to create netns")
8588
}
89+
DeferCleanup(func() {
90+
_ = netns.UnmountNS(netNSTest.Path())
91+
_ = netNSTest.Close()
92+
})
8693

8794
netNSContainer, err = netns.NewNS()
8895
if err != nil {
8996
Fail("Failed to create netns")
9097
}
91-
98+
DeferCleanup(func() {
99+
_ = netns.UnmountNS(netNSContainer.Path())
100+
_ = netNSContainer.Close()
101+
})
92102
// Force iptables driver, firewalld is broken inside the extra
93103
// namespace because it still connects to firewalld on the host.
94-
_ = os.Setenv("NETAVARK_FW", "iptables")
104+
t.Setenv("NETAVARK_FW", "iptables")
95105
})
96106

97107
JustBeforeEach(func() {
@@ -105,15 +115,6 @@ var _ = Describe("run netavark", func() {
105115
AfterEach(func() {
106116
logrus.SetFormatter(&logrus.TextFormatter{})
107117
logrus.SetLevel(logrus.InfoLevel)
108-
_ = os.RemoveAll(confDir)
109-
110-
_ = netns.UnmountNS(netNSTest.Path())
111-
_ = netNSTest.Close()
112-
113-
_ = netns.UnmountNS(netNSContainer.Path())
114-
_ = netNSContainer.Close()
115-
116-
_ = os.Unsetenv("NETAVARK_FW")
117118
})
118119

119120
It("test basic setup", func() {

Diff for: pkg/auth/auth_test.go

+9-16
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,28 @@ import (
1313
var _ = Describe("Config", func() {
1414
Describe("ValidateAuth", func() {
1515
It("validate GetDefaultAuthFile", func() {
16+
t := GinkgoT()
1617
// Given
17-
oldDockerConf, envDockerSet := os.LookupEnv("DOCKER_CONFIG")
18-
os.Setenv("DOCKER_CONFIG", "/tmp")
19-
oldConf, envSet := os.LookupEnv("REGISTRY_AUTH_FILE")
20-
os.Setenv("REGISTRY_AUTH_FILE", "/tmp/registry.file")
18+
t.Setenv("DOCKER_CONFIG", "/tmp")
19+
t.Setenv("REGISTRY_AUTH_FILE", "/tmp/registry.file")
2120
// When // When
2221
authFile := GetDefaultAuthFile()
2322
// Then
2423
gomega.Expect(authFile).To(gomega.BeEquivalentTo("/tmp/registry.file"))
25-
os.Unsetenv("REGISTRY_AUTH_FILE")
2624

27-
// Fall back to DOCKER_CONFIG
25+
// Given
26+
t.Setenv("REGISTRY_AUTH_FILE", "")
27+
// When
2828
authFile = GetDefaultAuthFile()
2929
// Then
3030
gomega.Expect(authFile).To(gomega.BeEquivalentTo("/tmp/config.json"))
31-
os.Unsetenv("DOCKER_CONFIG")
3231

33-
// Fall back to DOCKER_CONFIG
32+
// Given
33+
t.Setenv("DOCKER_CONFIG", "")
34+
// When
3435
authFile = GetDefaultAuthFile()
3536
// Then
3637
gomega.Expect(authFile).To(gomega.BeEquivalentTo(""))
37-
38-
// Undo that
39-
if envSet {
40-
os.Setenv("REGISTRY_AUTH_FILE", oldConf)
41-
}
42-
if envDockerSet {
43-
os.Setenv("DOCKER_CONFIG", oldDockerConf)
44-
}
4538
})
4639
})
4740

Diff for: pkg/config/config_local_test.go

+9-20
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,8 @@ var _ = Describe("Config Local", func() {
4141
gomega.Expect(err).ToNot(gomega.HaveOccurred())
4242
gomega.Expect(defConf).NotTo(gomega.BeNil())
4343

44-
validDirPath, err := os.MkdirTemp("", "config-empty")
45-
if err != nil {
46-
panic(err)
47-
}
48-
defer os.RemoveAll(validDirPath)
44+
t := GinkgoT()
45+
validDirPath := t.TempDir()
4946

5047
// Given
5148
defConf.Network.NetworkConfigDir = validDirPath
@@ -63,11 +60,9 @@ var _ = Describe("Config Local", func() {
6360
gomega.Expect(err).ToNot(gomega.HaveOccurred())
6461
gomega.Expect(defConf).NotTo(gomega.BeNil())
6562

66-
validDirPath, err := os.MkdirTemp("", "config-empty")
67-
if err != nil {
68-
panic(err)
69-
}
70-
defer os.RemoveAll(validDirPath)
63+
t := GinkgoT()
64+
validDirPath := t.TempDir()
65+
7166
// Given
7267
defConf.Network.NetworkConfigDir = validDirPath
7368
defConf.Network.CNIPluginDirs.Set([]string{validDirPath})
@@ -391,25 +386,19 @@ var _ = Describe("Config Local", func() {
391386
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
392387
}
393388
// Given we do
394-
oldContainersConf, envSet := os.LookupEnv(containersConfEnv)
395-
os.Setenv(containersConfEnv, "/dev/null")
389+
t := GinkgoT()
390+
t.Setenv(containersConfEnv, "/dev/null")
396391

397392
// When
398393
config, err := Default()
399394

400-
// Undo that
401-
if envSet {
402-
os.Setenv(containersConfEnv, oldContainersConf)
403-
} else {
404-
os.Unsetenv(containersConfEnv)
405-
}
406395
// Then
407396
gomega.Expect(err).ToNot(gomega.HaveOccurred())
408397
gomega.Expect(config.GetDefaultEnv()).To(gomega.BeEquivalentTo(envs))
409398
config.Containers.HTTPProxy = true
410399
gomega.Expect(config.GetDefaultEnv()).To(gomega.BeEquivalentTo(envs))
411-
os.Setenv("HTTP_PROXY", "localhost")
412-
os.Setenv("FOO", "BAR")
400+
t.Setenv("HTTP_PROXY", "localhost")
401+
t.Setenv("FOO", "BAR")
413402
newenvs := []string{"HTTP_PROXY=localhost"}
414403
envs = append(newenvs, envs...)
415404
gomega.Expect(config.GetDefaultEnv()).To(gomega.BeEquivalentTo(envs))

0 commit comments

Comments
 (0)