summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorYiqiao Pu <ypu@redhat.com>2018-04-11 15:04:25 +0800
committerYiqiao Pu <ypu@redhat.com>2018-04-16 10:55:29 +0800
commitf1a4867bcd4db4e5299225c0e7a35451ec0de7db (patch)
tree98815851d27a9d20ae6abd7fdd9a0cf34054e4f5 /test
parentd6d7edb841a8c3044c81386fdb4113dd895a26f3 (diff)
downloadpodman-f1a4867bcd4db4e5299225c0e7a35451ec0de7db.tar.gz
podman-f1a4867bcd4db4e5299225c0e7a35451ec0de7db.tar.bz2
podman-f1a4867bcd4db4e5299225c0e7a35451ec0de7db.zip
Add a function for check if command exist
Use this function to check if command exist before execute it in our test. Signed-off-by: Yiqiao Pu <ypu@redhat.com>
Diffstat (limited to 'test')
-rw-r--r--test/e2e/libpod_suite_test.go10
-rw-r--r--test/e2e/push_test.go26
2 files changed, 22 insertions, 14 deletions
diff --git a/test/e2e/libpod_suite_test.go b/test/e2e/libpod_suite_test.go
index 8887fd96e..fa48334a3 100644
--- a/test/e2e/libpod_suite_test.go
+++ b/test/e2e/libpod_suite_test.go
@@ -612,3 +612,13 @@ func WaitContainerReady(p *PodmanTest, id string, expStr string, timeout int, st
s.WaitWithDefaultTimeout()
}
}
+
+//IsCommandAvaible check if command exist
+func IsCommandAvailable(command string) bool {
+ check := exec.Command("bash", "-c", strings.Join([]string{"command -v", command}, " "))
+ err := check.Run()
+ if err != nil {
+ return false
+ }
+ return true
+}
diff --git a/test/e2e/push_test.go b/test/e2e/push_test.go
index f5bfc0c53..5267a66a4 100644
--- a/test/e2e/push_test.go
+++ b/test/e2e/push_test.go
@@ -78,14 +78,15 @@ var _ = Describe("Podman push", func() {
cwd, _ := os.Getwd()
certPath := filepath.Join(cwd, "../", "certs")
- setup := podmanTest.SystemExec("getenforce", []string{})
- setup.WaitWithDefaultTimeout()
- if setup.OutputToString() == "Enforcing" {
-
- setup = podmanTest.SystemExec("setenforce", []string{"0"})
- setup.WaitWithDefaultTimeout()
-
- defer podmanTest.SystemExec("setenforce", []string{"1"})
+ if IsCommandAvailable("getenforce") {
+ ge := podmanTest.SystemExec("getenforce", []string{})
+ ge.WaitWithDefaultTimeout()
+ if ge.OutputToString() == "Enforcing" {
+ se := podmanTest.SystemExec("setenforce", []string{"0"})
+ se.WaitWithDefaultTimeout()
+
+ defer podmanTest.SystemExec("setenforce", []string{"1"})
+ }
}
session := podmanTest.Podman([]string{"run", "--entrypoint", "htpasswd", "registry:2", "-Bbn", "podmantest", "test"})
@@ -123,7 +124,7 @@ var _ = Describe("Podman push", func() {
push.WaitWithDefaultTimeout()
Expect(push.ExitCode()).To(Equal(0))
- setup = podmanTest.SystemExec("cp", []string{filepath.Join(certPath, "domain.crt"), "/etc/containers/certs.d/localhost:5000/ca.crt"})
+ setup := podmanTest.SystemExec("cp", []string{filepath.Join(certPath, "domain.crt"), "/etc/containers/certs.d/localhost:5000/ca.crt"})
setup.WaitWithDefaultTimeout()
defer os.RemoveAll("/etc/containers/certs.d/localhost:5000")
@@ -186,17 +187,14 @@ var _ = Describe("Podman push", func() {
})
It("podman push to local ostree", func() {
- setup := podmanTest.SystemExec("which", []string{"ostree"})
- setup.WaitWithDefaultTimeout()
-
- if setup.ExitCode() != 0 {
+ if !IsCommandAvailable("ostree") {
Skip("ostree is not installed")
}
ostreePath := filepath.Join(podmanTest.TempDir, "ostree/repo")
os.MkdirAll(ostreePath, os.ModePerm)
- setup = podmanTest.SystemExec("ostree", []string{strings.Join([]string{"--repo=", ostreePath}, ""), "init"})
+ setup := podmanTest.SystemExec("ostree", []string{strings.Join([]string{"--repo=", ostreePath}, ""), "init"})
setup.WaitWithDefaultTimeout()
session := podmanTest.Podman([]string{"push", ALPINE, strings.Join([]string{"ostree:alp@", ostreePath}, "")})