Attempt to turn on some more remote tests

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
Daniel J Walsh
2020-10-05 06:13:28 -04:00
parent a7500e54a4
commit ccc5bc167f
26 changed files with 74 additions and 57 deletions

View File

@ -166,10 +166,12 @@ func GetCreateFlags(cf *ContainerCLIOpts) *pflag.FlagSet {
"env", "e", containerConfig.Env(), "env", "e", containerConfig.Env(),
"Set environment variables in container", "Set environment variables in container",
) )
if !registry.IsRemote() {
createFlags.BoolVar( createFlags.BoolVar(
&cf.EnvHost, &cf.EnvHost,
"env-host", false, "Use all current host environment variables in container", "env-host", false, "Use all current host environment variables in container",
) )
}
createFlags.StringSliceVar( createFlags.StringSliceVar(
&cf.EnvFile, &cf.EnvFile,
"env-file", []string{}, "env-file", []string{},

View File

@ -64,7 +64,6 @@ func createFlags(flags *pflag.FlagSet) {
_ = flags.MarkHidden("signature-policy") _ = flags.MarkHidden("signature-policy")
if registry.IsRemote() { if registry.IsRemote() {
_ = flags.MarkHidden("authfile") _ = flags.MarkHidden("authfile")
_ = flags.MarkHidden("env-host")
_ = flags.MarkHidden("http-proxy") _ = flags.MarkHidden("http-proxy")
} }
} }

View File

@ -67,7 +67,6 @@ func runFlags(flags *pflag.FlagSet) {
_ = flags.MarkHidden("signature-policy") _ = flags.MarkHidden("signature-policy")
if registry.IsRemote() { if registry.IsRemote() {
_ = flags.MarkHidden("authfile") _ = flags.MarkHidden("authfile")
_ = flags.MarkHidden("env-host")
_ = flags.MarkHidden("http-proxy") _ = flags.MarkHidden("http-proxy")
_ = flags.MarkHidden("preserve-fds") _ = flags.MarkHidden("preserve-fds")
} }

View File

@ -86,11 +86,6 @@ func searchFlags(flags *pflag.FlagSet) {
flags.BoolVar(&searchOptions.NoTrunc, "no-trunc", false, "Do not truncate the output") flags.BoolVar(&searchOptions.NoTrunc, "no-trunc", false, "Do not truncate the output")
flags.StringVar(&searchOptions.Authfile, "authfile", auth.GetDefaultAuthFile(), "Path of the authentication file. Use REGISTRY_AUTH_FILE environment variable to override") flags.StringVar(&searchOptions.Authfile, "authfile", auth.GetDefaultAuthFile(), "Path of the authentication file. Use REGISTRY_AUTH_FILE environment variable to override")
flags.BoolVar(&searchOptions.TLSVerifyCLI, "tls-verify", true, "Require HTTPS and verify certificates when contacting registries") flags.BoolVar(&searchOptions.TLSVerifyCLI, "tls-verify", true, "Require HTTPS and verify certificates when contacting registries")
if registry.IsRemote() {
_ = flags.MarkHidden("authfile")
_ = flags.MarkHidden("tls-verify")
}
} }
// imageSearch implements the command for searching images. // imageSearch implements the command for searching images.

View File

@ -27,7 +27,7 @@ Note, searching without a search term will only work for registries that impleme
**--authfile**=*path* **--authfile**=*path*
Path of the authentication file. Default is ${XDG\_RUNTIME\_DIR}/containers/auth.json (Not available for remote commands) Path of the authentication file. Default is ${XDG\_RUNTIME\_DIR}/containers/auth.json
Note: You can also override the default path of the authentication file by setting the REGISTRY\_AUTH\_FILE Note: You can also override the default path of the authentication file by setting the REGISTRY\_AUTH\_FILE
environment variable. `export REGISTRY_AUTH_FILE=path` environment variable. `export REGISTRY_AUTH_FILE=path`
@ -74,7 +74,7 @@ Do not truncate the output
Require HTTPS and verify certificates when contacting registries (default: true). If explicitly set to true, Require HTTPS and verify certificates when contacting registries (default: true). If explicitly set to true,
then TLS verification will be used. If set to false, then TLS verification will not be used if needed. If not specified, then TLS verification will be used. If set to false, then TLS verification will not be used if needed. If not specified,
default registries will be searched through (in /etc/containers/registries.conf), and TLS will be skipped if a default default registries will be searched through (in /etc/containers/registries.conf), and TLS will be skipped if a default
registry is listed in the insecure registries. (Not available for remote commands) registry is listed in the insecure registries.
**--help**, **-h** **--help**, **-h**

View File

@ -89,7 +89,6 @@ var _ = Describe("Podman build", func() {
// Check that builds with different values for the squash options // Check that builds with different values for the squash options
// create the appropriate number of layers, then clean up after. // create the appropriate number of layers, then clean up after.
It("podman build basic alpine with squash", func() { It("podman build basic alpine with squash", func() {
SkipIfRemote("FIXME: This is broken should be fixed")
session := podmanTest.PodmanNoCache([]string{"build", "-f", "build/squash/Dockerfile.squash-a", "-t", "test-squash-a:latest", "build/squash"}) session := podmanTest.PodmanNoCache([]string{"build", "-f", "build/squash/Dockerfile.squash-a", "-t", "test-squash-a:latest", "build/squash"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
@ -221,8 +220,12 @@ var _ = Describe("Podman build", func() {
}) })
It("podman build --http_proxy flag", func() { It("podman build --http_proxy flag", func() {
SkipIfRemote("FIXME: This is broken should be fixed") SkipIfRemote("FIXME: This is broken should be fixed") // This is hanging currently.
os.Setenv("http_proxy", "1.2.3.4") os.Setenv("http_proxy", "1.2.3.4")
if IsRemote() {
podmanTest.StopRemoteService()
podmanTest.StartRemoteService()
}
podmanTest.RestoreAllArtifacts() podmanTest.RestoreAllArtifacts()
dockerfile := `FROM docker.io/library/alpine:latest dockerfile := `FROM docker.io/library/alpine:latest
RUN printenv http_proxy` RUN printenv http_proxy`
@ -230,7 +233,7 @@ RUN printenv http_proxy`
dockerfilePath := filepath.Join(podmanTest.TempDir, "Dockerfile") dockerfilePath := filepath.Join(podmanTest.TempDir, "Dockerfile")
err := ioutil.WriteFile(dockerfilePath, []byte(dockerfile), 0755) err := ioutil.WriteFile(dockerfilePath, []byte(dockerfile), 0755)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
session := podmanTest.PodmanNoCache([]string{"build", "--file", dockerfilePath, podmanTest.TempDir}) session := podmanTest.PodmanNoCache([]string{"build", "--http-proxy", "--file", dockerfilePath, podmanTest.TempDir})
session.Wait(120) session.Wait(120)
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
ok, _ := session.GrepString("1.2.3.4") ok, _ := session.GrepString("1.2.3.4")

View File

@ -284,8 +284,6 @@ var _ = Describe("Podman exec", func() {
}) })
It("podman exec preserves container groups with --user and --group-add", func() { It("podman exec preserves container groups with --user and --group-add", func() {
SkipIfRemote("FIXME: This is broken SECCOMP Failues?")
dockerfile := `FROM registry.fedoraproject.org/fedora-minimal dockerfile := `FROM registry.fedoraproject.org/fedora-minimal
RUN groupadd -g 4000 first RUN groupadd -g 4000 first
RUN groupadd -g 4001 second RUN groupadd -g 4001 second

View File

@ -176,7 +176,6 @@ var _ = Describe("Podman images", func() {
}) })
It("podman images filter before image", func() { It("podman images filter before image", func() {
SkipIfRemote("FIXME This should work on podman-remote")
dockerfile := `FROM docker.io/library/alpine:latest dockerfile := `FROM docker.io/library/alpine:latest
RUN apk update && apk add strace RUN apk update && apk add strace
` `
@ -340,7 +339,7 @@ WORKDIR /test
}) })
It("podman images --all flag", func() { It("podman images --all flag", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("FIXME This should work on podman-remote, problem is with podman-remote build")
podmanTest.RestoreAllArtifacts() podmanTest.RestoreAllArtifacts()
dockerfile := `FROM docker.io/library/alpine:latest dockerfile := `FROM docker.io/library/alpine:latest
RUN mkdir hello RUN mkdir hello
@ -372,7 +371,7 @@ LABEL "com.example.vendor"="Example Vendor"
}) })
It("podman with images with no layers", func() { It("podman with images with no layers", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("FIXME This should work on podman-remote, problem is with podman-remote build")
dockerfile := strings.Join([]string{ dockerfile := strings.Join([]string{
`FROM scratch`, `FROM scratch`,
`LABEL org.opencontainers.image.authors="<somefolks@example.org>"`, `LABEL org.opencontainers.image.authors="<somefolks@example.org>"`,

View File

@ -243,7 +243,7 @@ var _ = Describe("Podman load", func() {
}) })
It("podman load localhost registry from dir", func() { It("podman load localhost registry from dir", func() {
SkipIfRemote("FIXME: podman-remote load is currently broken.") SkipIfRemote("podman-remote does not support loading directories")
outfile := filepath.Join(podmanTest.TempDir, "load") outfile := filepath.Join(podmanTest.TempDir, "load")
setup := podmanTest.PodmanNoCache([]string{"tag", BB, "hello:world"}) setup := podmanTest.PodmanNoCache([]string{"tag", BB, "hello:world"})

View File

@ -127,7 +127,7 @@ var _ = Describe("Podman logs", func() {
}) })
It("two containers showing short container IDs", func() { It("two containers showing short container IDs", func() {
SkipIfRemote("FIXME: remote does not support multiple containers") SkipIfRemote("FIXME: podman-remote logs does not support showing two containers at the same time")
log1 := podmanTest.Podman([]string{"run", "-dt", ALPINE, "sh", "-c", "echo podman; echo podman; echo podman"}) log1 := podmanTest.Podman([]string{"run", "-dt", ALPINE, "sh", "-c", "echo podman; echo podman; echo podman"})
log1.WaitWithDefaultTimeout() log1.WaitWithDefaultTimeout()
Expect(log1.ExitCode()).To(Equal(0)) Expect(log1.ExitCode()).To(Equal(0))

View File

@ -33,9 +33,14 @@ var _ = Describe("Podman namespaces", func() {
}) })
It("podman namespace test", func() { It("podman namespace test", func() {
SkipIfRemote("FIXME This should work on Remote")
podman1 := podmanTest.Podman([]string{"--namespace", "test1", "run", "-d", ALPINE, "echo", "hello"}) podman1 := podmanTest.Podman([]string{"--namespace", "test1", "run", "-d", ALPINE, "echo", "hello"})
podman1.WaitWithDefaultTimeout() podman1.WaitWithDefaultTimeout()
if IsRemote() {
// --namespace flag not supported in podman remote
Expect(podman1.ExitCode()).To(Equal(125))
Expect(podman1.ErrorToString()).To(ContainSubstring("unknown flag: --namespace"))
return
}
Expect(podman1.ExitCode()).To(Equal(0)) Expect(podman1.ExitCode()).To(Equal(0))
podman2 := podmanTest.Podman([]string{"--namespace", "test2", "ps", "-aq"}) podman2 := podmanTest.Podman([]string{"--namespace", "test2", "ps", "-aq"})

View File

@ -137,7 +137,6 @@ var _ = Describe("Podman network create", func() {
}) })
It("podman network create with name and subnet", func() { It("podman network create with name and subnet", func() {
SkipIfRemote("FIXME, this should work on --remote")
var ( var (
results []network.NcList results []network.NcList
) )

View File

@ -793,7 +793,7 @@ var _ = Describe("Podman generate kube", func() {
}) })
It("podman play kube seccomp container level", func() { It("podman play kube seccomp container level", func() {
SkipIfRemote("FIXME This is broken") SkipIfRemote("podman-remote does not support --seccomp-profile-root flag")
// expect play kube is expected to set a seccomp label if it's applied as an annotation // expect play kube is expected to set a seccomp label if it's applied as an annotation
jsonFile, err := podmanTest.CreateSeccompJson(seccompPwdEPERM) jsonFile, err := podmanTest.CreateSeccompJson(seccompPwdEPERM)
if err != nil { if err != nil {
@ -820,7 +820,7 @@ var _ = Describe("Podman generate kube", func() {
}) })
It("podman play kube seccomp pod level", func() { It("podman play kube seccomp pod level", func() {
SkipIfRemote("FIXME: This should work with --remote") SkipIfRemote("podman-remote does not support --seccomp-profile-root flag")
// expect play kube is expected to set a seccomp label if it's applied as an annotation // expect play kube is expected to set a seccomp label if it's applied as an annotation
jsonFile, err := podmanTest.CreateSeccompJson(seccompPwdEPERM) jsonFile, err := podmanTest.CreateSeccompJson(seccompPwdEPERM)
if err != nil { if err != nil {

View File

@ -377,7 +377,6 @@ var _ = Describe("Podman pod create", func() {
}) })
It("podman run --add-host in pod", func() { It("podman run --add-host in pod", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"pod", "create"}) session := podmanTest.Podman([]string{"pod", "create"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))

View File

@ -61,7 +61,6 @@ var _ = Describe("Podman pod create", func() {
}) })
It("podman pod container dontshare PIDNS", func() { It("podman pod container dontshare PIDNS", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"pod", "create"}) session := podmanTest.Podman([]string{"pod", "create"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))

View File

@ -88,7 +88,7 @@ var _ = Describe("Podman prune", func() {
}) })
It("podman image prune skip cache images", func() { It("podman image prune skip cache images", func() {
SkipIfRemote("FIXME should work on podman --remote") SkipIfRemote("FIXME: podman-remote build is not working the same as local build")
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true") podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")
none := podmanTest.Podman([]string{"images", "-a"}) none := podmanTest.Podman([]string{"images", "-a"})
@ -110,7 +110,7 @@ var _ = Describe("Podman prune", func() {
}) })
It("podman image prune dangling images", func() { It("podman image prune dangling images", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("FIXME: podman-remote build is not working the same as local build")
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true") podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true") podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")
@ -147,7 +147,6 @@ var _ = Describe("Podman prune", func() {
}) })
It("podman system image prune unused images", func() { It("podman system image prune unused images", func() {
SkipIfRemote("FIXME This should work on podman-remote")
podmanTest.RestoreAllArtifacts() podmanTest.RestoreAllArtifacts()
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true") podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")
prune := podmanTest.PodmanNoCache([]string{"system", "prune", "-a", "--force"}) prune := podmanTest.PodmanNoCache([]string{"system", "prune", "-a", "--force"})

View File

@ -234,7 +234,8 @@ var _ = Describe("Podman pull", func() {
}) })
It("podman pull from docker-archive", func() { It("podman pull from docker-archive", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("podman-remote does not support pulling from docker-archive")
podmanTest.RestoreArtifact(ALPINE) podmanTest.RestoreArtifact(ALPINE)
tarfn := filepath.Join(podmanTest.TempDir, "alp.tar") tarfn := filepath.Join(podmanTest.TempDir, "alp.tar")
session := podmanTest.PodmanNoCache([]string{"save", "-o", tarfn, "alpine"}) session := podmanTest.PodmanNoCache([]string{"save", "-o", tarfn, "alpine"})
@ -296,7 +297,8 @@ var _ = Describe("Podman pull", func() {
}) })
It("podman pull from oci-archive", func() { It("podman pull from oci-archive", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("podman-remote does not support pulling from oci-archive")
podmanTest.RestoreArtifact(ALPINE) podmanTest.RestoreArtifact(ALPINE)
tarfn := filepath.Join(podmanTest.TempDir, "oci-alp.tar") tarfn := filepath.Join(podmanTest.TempDir, "oci-alp.tar")
session := podmanTest.PodmanNoCache([]string{"save", "--format", "oci-archive", "-o", tarfn, "alpine"}) session := podmanTest.PodmanNoCache([]string{"save", "--format", "oci-archive", "-o", tarfn, "alpine"})
@ -315,7 +317,8 @@ var _ = Describe("Podman pull", func() {
}) })
It("podman pull from local directory", func() { It("podman pull from local directory", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("podman-remote does not support pulling from local directory")
podmanTest.RestoreArtifact(ALPINE) podmanTest.RestoreArtifact(ALPINE)
dirpath := filepath.Join(podmanTest.TempDir, "alpine") dirpath := filepath.Join(podmanTest.TempDir, "alpine")
os.MkdirAll(dirpath, os.ModePerm) os.MkdirAll(dirpath, os.ModePerm)
@ -340,7 +343,8 @@ var _ = Describe("Podman pull", func() {
}) })
It("podman pull from local OCI directory", func() { It("podman pull from local OCI directory", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("podman-remote does not support pulling from OCI directory")
podmanTest.RestoreArtifact(ALPINE) podmanTest.RestoreArtifact(ALPINE)
dirpath := filepath.Join(podmanTest.TempDir, "alpine") dirpath := filepath.Join(podmanTest.TempDir, "alpine")
os.MkdirAll(dirpath, os.ModePerm) os.MkdirAll(dirpath, os.ModePerm)

View File

@ -185,7 +185,8 @@ var _ = Describe("Podman rmi", func() {
}) })
It("podman rmi with cached images", func() { It("podman rmi with cached images", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("FIXME This should work on podman-remote, problem is with podman-remote build")
session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"}) session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0)) Expect(session).Should(Exit(0))
@ -255,7 +256,6 @@ var _ = Describe("Podman rmi", func() {
}) })
It("podman rmi -a with parent|child images", func() { It("podman rmi -a with parent|child images", func() {
SkipIfRemote("FIXME This should work on podman-remote")
dockerfile := `FROM docker.io/library/alpine:latest AS base dockerfile := `FROM docker.io/library/alpine:latest AS base
RUN touch /1 RUN touch /1
ENV LOCAL=/1 ENV LOCAL=/1

View File

@ -90,7 +90,7 @@ ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
}) })
It("podman run user entrypoint overrides image entrypoint and image cmd", func() { It("podman run user entrypoint overrides image entrypoint and image cmd", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("FIXME: podman-remote not handling passing --entrypoint=\"\" flag correctly")
dockerfile := `FROM docker.io/library/alpine:latest dockerfile := `FROM docker.io/library/alpine:latest
CMD ["-i"] CMD ["-i"]
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"] ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]

View File

@ -90,11 +90,15 @@ var _ = Describe("Podman run", func() {
}) })
It("podman run --env-host environment test", func() { It("podman run --env-host environment test", func() {
SkipIfRemote("FIXME, We should check that --env-host reports correct error on podman-remote")
env := append(os.Environ(), "FOO=BAR") env := append(os.Environ(), "FOO=BAR")
session := podmanTest.PodmanAsUser([]string{"run", "--rm", "--env-host", ALPINE, "/bin/printenv", "FOO"}, 0, 0, "", env) session := podmanTest.PodmanAsUser([]string{"run", "--rm", "--env-host", ALPINE, "/bin/printenv", "FOO"}, 0, 0, "", env)
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
if IsRemote() {
// podman-remote does not support --env-host
Expect(session.ExitCode()).To(Equal(125))
Expect(session.ErrorToString()).To(ContainSubstring("unknown flag: --env-host"))
return
}
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
match, _ := session.GrepString("BAR") match, _ := session.GrepString("BAR")
Expect(match).Should(BeTrue()) Expect(match).Should(BeTrue())
@ -108,8 +112,11 @@ var _ = Describe("Podman run", func() {
}) })
It("podman run --http-proxy test", func() { It("podman run --http-proxy test", func() {
SkipIfRemote("FIXME: Should report proper error when http-proxy is not supported")
os.Setenv("http_proxy", "1.2.3.4") os.Setenv("http_proxy", "1.2.3.4")
if IsRemote() {
podmanTest.StopRemoteService()
podmanTest.StartRemoteService()
}
session := podmanTest.Podman([]string{"run", "--rm", ALPINE, "printenv", "http_proxy"}) session := podmanTest.Podman([]string{"run", "--rm", ALPINE, "printenv", "http_proxy"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))

View File

@ -33,11 +33,14 @@ var _ = Describe("Podman run restart containers", func() {
}) })
It("Podman start after successful run", func() { It("Podman start after successful run", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"run", "--name", "test", ALPINE, "ls"}) session := podmanTest.Podman([]string{"run", "--name", "test", ALPINE, "ls"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"wait", "test"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
session2 := podmanTest.Podman([]string{"start", "--attach", "test"}) session2 := podmanTest.Podman([]string{"start", "--attach", "test"})
session2.WaitWithDefaultTimeout() session2.WaitWithDefaultTimeout()
Expect(session2.ExitCode()).To(Equal(0)) Expect(session2.ExitCode()).To(Equal(0))

View File

@ -39,7 +39,6 @@ var _ = Describe("Podman run", func() {
podmanTest.Cleanup() podmanTest.Cleanup()
f := CurrentGinkgoTestDescription() f := CurrentGinkgoTestDescription()
processTestResult(f) processTestResult(f)
}) })
It("podman run a container based on local image", func() { It("podman run a container based on local image", func() {
@ -321,7 +320,6 @@ var _ = Describe("Podman run", func() {
It("podman run user capabilities test with image", func() { It("podman run user capabilities test with image", func() {
// We need to ignore the containers.conf on the test distribution for this test // We need to ignore the containers.conf on the test distribution for this test
os.Setenv("CONTAINERS_CONF", "/dev/null") os.Setenv("CONTAINERS_CONF", "/dev/null")
SkipIfRemote("FIXME This should work on podman-remote")
dockerfile := `FROM busybox dockerfile := `FROM busybox
USER bin` USER bin`
podmanTest.BuildImage(dockerfile, "test", "false") podmanTest.BuildImage(dockerfile, "test", "false")
@ -565,7 +563,7 @@ USER bin`
}) })
It("podman run with secrets", func() { It("podman run with secrets", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("--default-mount-file option is not supported in podman-remote")
containersDir := filepath.Join(podmanTest.TempDir, "containers") containersDir := filepath.Join(podmanTest.TempDir, "containers")
err := os.MkdirAll(containersDir, 0755) err := os.MkdirAll(containersDir, 0755)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
@ -725,7 +723,6 @@ USER bin`
}) })
It("podman run with built-in volume image", func() { It("podman run with built-in volume image", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"run", "--rm", redis, "ls"}) session := podmanTest.Podman([]string{"run", "--rm", redis, "ls"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
@ -1041,7 +1038,6 @@ USER mail`
}) })
It("podman run with restart-policy always restarts containers", func() { It("podman run with restart-policy always restarts containers", func() {
SkipIfRemote("FIXME This should work on podman-remote")
testDir := filepath.Join(podmanTest.RunRoot, "restart-test") testDir := filepath.Join(podmanTest.RunRoot, "restart-test")
err := os.MkdirAll(testDir, 0755) err := os.MkdirAll(testDir, 0755)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
@ -1051,11 +1047,11 @@ USER mail`
Expect(err).To(BeNil()) Expect(err).To(BeNil())
file.Close() file.Close()
session := podmanTest.Podman([]string{"run", "-dt", "--restart", "always", "-v", fmt.Sprintf("%s:/tmp/runroot:Z", testDir), fedoraMinimal, "bash", "-c", "date +%N > /tmp/runroot/ran && while test -r /tmp/runroot/running; do sleep 0.1s; done"}) session := podmanTest.Podman([]string{"run", "-dt", "--restart", "always", "-v", fmt.Sprintf("%s:/tmp/runroot:Z", testDir), ALPINE, "sh", "-c", "date +%N > /tmp/runroot/ran && while test -r /tmp/runroot/running; do sleep 0.1s; done"})
found := false found := false
testFile := filepath.Join(testDir, "ran") testFile := filepath.Join(testDir, "ran")
for i := 0; i < 10; i++ { for i := 0; i < 30; i++ {
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
if _, err := os.Stat(testFile); err == nil { if _, err := os.Stat(testFile); err == nil {
found = true found = true

View File

@ -50,7 +50,6 @@ var _ = Describe("Podman run", func() {
}) })
It("podman run a container on an image with a workdir", func() { It("podman run a container on an image with a workdir", func() {
SkipIfRemote("FIXME This should work on podman-remote")
dockerfile := `FROM alpine dockerfile := `FROM alpine
RUN mkdir -p /home/foobar RUN mkdir -p /home/foobar
WORKDIR /etc/foobar` WORKDIR /etc/foobar`

View File

@ -237,7 +237,7 @@ registries = ['{{.Host}}:{{.Port}}']`
}) })
It("podman search attempts HTTP if registry is in registries.insecure and force secure is false", func() { It("podman search attempts HTTP if registry is in registries.insecure and force secure is false", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("--tls-verify is not supportedon podman-remote search")
if podmanTest.Host.Arch == "ppc64le" { if podmanTest.Host.Arch == "ppc64le" {
Skip("No registry image for ppc64le") Skip("No registry image for ppc64le")
} }
@ -278,7 +278,7 @@ registries = ['{{.Host}}:{{.Port}}']`
}) })
It("podman search doesn't attempt HTTP if force secure is true", func() { It("podman search doesn't attempt HTTP if force secure is true", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("--tls-verify is not supportedon podman-remote search")
if podmanTest.Host.Arch == "ppc64le" { if podmanTest.Host.Arch == "ppc64le" {
Skip("No registry image for ppc64le") Skip("No registry image for ppc64le")
} }
@ -317,7 +317,7 @@ registries = ['{{.Host}}:{{.Port}}']`
}) })
It("podman search doesn't attempt HTTP if registry is not listed as insecure", func() { It("podman search doesn't attempt HTTP if registry is not listed as insecure", func() {
SkipIfRemote("FIXME This should work on podman-remote") SkipIfRemote("--tls-verify is not supportedon podman-remote search")
if podmanTest.Host.Arch == "ppc64le" { if podmanTest.Host.Arch == "ppc64le" {
Skip("No registry image for ppc64le") Skip("No registry image for ppc64le")
} }

View File

@ -3,6 +3,7 @@ package integration
import ( import (
"fmt" "fmt"
"os" "os"
"strconv"
"strings" "strings"
. "github.com/containers/podman/v2/test/utils" . "github.com/containers/podman/v2/test/utils"
@ -35,7 +36,6 @@ var _ = Describe("podman system df", func() {
}) })
It("podman system df", func() { It("podman system df", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"create", ALPINE}) session := podmanTest.Podman([]string{"create", ALPINE})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
@ -48,6 +48,11 @@ var _ = Describe("podman system df", func() {
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"images", "-q"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
totImages := strconv.Itoa(len(session.OutputToStringArray()))
session = podmanTest.Podman([]string{"system", "df"}) session = podmanTest.Podman([]string{"system", "df"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
@ -55,7 +60,7 @@ var _ = Describe("podman system df", func() {
images := strings.Fields(session.OutputToStringArray()[1]) images := strings.Fields(session.OutputToStringArray()[1])
containers := strings.Fields(session.OutputToStringArray()[2]) containers := strings.Fields(session.OutputToStringArray()[2])
volumes := strings.Fields(session.OutputToStringArray()[3]) volumes := strings.Fields(session.OutputToStringArray()[3])
Expect(images[1]).To(Equal("11")) Expect(images[1]).To(Equal(string(totImages)))
Expect(containers[1]).To(Equal("2")) Expect(containers[1]).To(Equal("2"))
Expect(volumes[2]).To(Equal("1")) Expect(volumes[2]).To(Equal("1"))
}) })

View File

@ -174,12 +174,19 @@ EOF
run_podman build -t build_test -f build-test/Containerfile build-test run_podman build -t build_test -f build-test/Containerfile build-test
local iid="${lines[-1]}" local iid="${lines[-1]}"
if is_remote; then
ENVHOST=""
else
ENVHOST="--env-host"
fi
# Run without args - should run the above script. Verify its output. # Run without args - should run the above script. Verify its output.
export MYENV2="$s_env2" export MYENV2="$s_env2"
export MYENV3="env-file-should-override-env-host!" export MYENV3="env-file-should-override-env-host!"
run_podman run --rm \ run_podman run --rm \
--env-file=$PODMAN_TMPDIR/env-file \ --env-file=$PODMAN_TMPDIR/env-file \
--env-host \ ${ENVHOST} \
-e MYENV4="$s_env4" \ -e MYENV4="$s_env4" \
build_test build_test
is "${lines[0]}" "$workdir" "container default command: pwd" is "${lines[0]}" "$workdir" "container default command: pwd"