diff options
author | Yiqiao Pu <ypu@redhat.com> | 2018-04-11 15:04:25 +0800 |
---|---|---|
committer | Yiqiao Pu <ypu@redhat.com> | 2018-04-16 10:55:29 +0800 |
commit | f1a4867bcd4db4e5299225c0e7a35451ec0de7db (patch) | |
tree | 98815851d27a9d20ae6abd7fdd9a0cf34054e4f5 /test/e2e | |
parent | d6d7edb841a8c3044c81386fdb4113dd895a26f3 (diff) | |
download | podman-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/e2e')
-rw-r--r-- | test/e2e/libpod_suite_test.go | 10 | ||||
-rw-r--r-- | test/e2e/push_test.go | 26 |
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}, "")}) |