summaryrefslogtreecommitdiff
path: root/test/e2e/common_test.go
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2020-09-30 08:57:50 -0400
committerChris Evich <cevich@redhat.com>2020-09-30 13:33:57 -0400
commitd4ca13f7c0d0af7d1b8f88671548f7aa99cb1b10 (patch)
tree7ec8552eae91a52ad0eb8938b84261faf32dd8bc /test/e2e/common_test.go
parentf32fa3dd599aaeef74c14a7f1c76e1d27e56d1dd (diff)
downloadpodman-d4ca13f7c0d0af7d1b8f88671548f7aa99cb1b10.tar.gz
podman-d4ca13f7c0d0af7d1b8f88671548f7aa99cb1b10.tar.bz2
podman-d4ca13f7c0d0af7d1b8f88671548f7aa99cb1b10.zip
Distinguish userns vs containerized tests
The systemd test was inaccurately being skipped when a userns env. var. flag was set. At best this is confusing to new developers, and at worse it actively blocks an otherwise legitimate class of tests. Improve the accuracy of skip-logic by adding/using a purpose built set of functions. Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'test/e2e/common_test.go')
-rw-r--r--test/e2e/common_test.go35
1 files changed, 24 insertions, 11 deletions
diff --git a/test/e2e/common_test.go b/test/e2e/common_test.go
index f4c80d865..c663a4dca 100644
--- a/test/e2e/common_test.go
+++ b/test/e2e/common_test.go
@@ -599,19 +599,21 @@ func (p *PodmanTestIntegration) CreateSeccompJson(in []byte) (string, error) {
return jsonFile, nil
}
-func SkipIfRootlessCgroupsV1(reason string) {
+func checkReason(reason string) {
if len(reason) < 5 {
- panic("SkipIfRootlessCgroupsV1 must specify a reason to skip")
+ panic("Test must specify a reason to skip")
}
+}
+
+func SkipIfRootlessCgroupsV1(reason string) {
+ checkReason(reason)
if os.Geteuid() != 0 && !CGROUPSV2 {
Skip("[rootless]: " + reason)
}
}
func SkipIfRootless(reason string) {
- if len(reason) < 5 {
- panic("SkipIfRootless must specify a reason to skip")
- }
+ checkReason(reason)
if os.Geteuid() != 0 {
ginkgo.Skip("[rootless]: " + reason)
}
@@ -629,23 +631,34 @@ func isRootless() bool {
}
func SkipIfCgroupV1(reason string) {
- if len(reason) < 5 {
- panic("SkipIfCgroupV1 must specify a reason to skip")
- }
+ checkReason(reason)
if !CGROUPSV2 {
Skip(reason)
}
}
func SkipIfCgroupV2(reason string) {
- if len(reason) < 5 {
- panic("SkipIfCgroupV2 must specify a reason to skip")
- }
+ checkReason(reason)
if CGROUPSV2 {
Skip(reason)
}
}
+func isContainerized() bool {
+ // This is set to "podman" by podman automatically
+ if os.Getenv("container") != "" {
+ return true
+ }
+ return false
+}
+
+func SkipIfContainerized(reason string) {
+ checkReason(reason)
+ if isContainerized() {
+ Skip(reason)
+ }
+}
+
// PodmanAsUser is the exec call to podman on the filesystem with the specified uid/gid and environment
func (p *PodmanTestIntegration) PodmanAsUser(args []string, uid, gid uint32, cwd string, env []string) *PodmanSessionIntegration {
podmanSession := p.PodmanAsUserBase(args, uid, gid, cwd, env, false, false, nil)