Skip to content

Commit f16e6d9

Browse files
committed
test: De-duplicate driver detection
Add matchDrivers() helper for looking up --driver=name or --vm-driver=name.
1 parent 150c63c commit f16e6d9

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

test/integration/main_test.go

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,32 +134,32 @@ func Target() string {
134134

135135
// NoneDriver returns whether or not this test is using the none driver
136136
func NoneDriver() bool {
137-
return strings.Contains(*startArgs, "--driver=none") || strings.Contains(*startArgs, "--vm-driver=none")
137+
return matchDriverFlag("none")
138138
}
139139

140140
// HyperVDriver returns whether or not this test is using the Hyper-V driver
141141
func HyperVDriver() bool {
142-
return strings.Contains(*startArgs, "--driver=hyperv") || strings.Contains(*startArgs, "--vm-driver=hyperv")
142+
return matchDriverFlag("hyperv")
143143
}
144144

145145
// KVM returns true is is KVM driver
146146
func KVMDriver() bool {
147-
return strings.Contains(*startArgs, "--driver=kvm") || strings.Contains(*startArgs, "--vm-driver=kvm") || strings.Contains(*startArgs, "--driver=kvm2") || strings.Contains(*startArgs, "--vm-driver=kvm2")
147+
return matchDriverFlag("kvm", "kvm2")
148148
}
149149

150150
// VirtualboxDriver returns whether or not this test is using the VirtualBox driver
151151
func VirtualboxDriver() bool {
152-
return strings.Contains(*startArgs, "--driver=virtualbox") || strings.Contains(*startArgs, "--vm-driver=virtualbox")
152+
return matchDriverFlag("virtualbox")
153153
}
154154

155155
// DockerDriver returns whether or not this test is using the docker or podman driver
156156
func DockerDriver() bool {
157-
return strings.Contains(*startArgs, "--driver=docker") || strings.Contains(*startArgs, "--vm-driver=docker")
157+
return matchDriverFlag("docker")
158158
}
159159

160160
// PodmanDriver returns whether or not this test is using the docker or podman driver
161161
func PodmanDriver() bool {
162-
return strings.Contains(*startArgs, "--driver=podman") || strings.Contains(*startArgs, "--vm-driver=podman")
162+
return matchDriverFlag("podman")
163163
}
164164

165165
// RootlessDriver returns whether or not this test is using the rootless KIC driver
@@ -173,7 +173,7 @@ func KicDriver() bool {
173173
}
174174

175175
func HyperkitDriver() bool {
176-
return strings.Contains(*startArgs, "--driver=hyperkit") || strings.Contains(*startArgs, "--vm-driver=hyperkit")
176+
return matchDriverFlag("hyperkit")
177177
}
178178

179179
// NeedsAuxDriver Returns true if the driver needs an auxiliary driver (kvm, hyperkit,..)
@@ -232,3 +232,15 @@ func Seconds(n int) time.Duration {
232232
func TestingKicBaseImage() bool {
233233
return strings.Contains(*startArgs, "base-image")
234234
}
235+
236+
func matchDriverFlag(names ...string) bool {
237+
args := *startArgs
238+
for _, name := range names {
239+
for _, prefix := range []string{"--driver=", "--vm-driver="} {
240+
if strings.Contains(args, prefix+name) {
241+
return true
242+
}
243+
}
244+
}
245+
return false
246+
}

0 commit comments

Comments
 (0)