mirror of
https://github.com/containers/podman.git
synced 2025-05-17 23:26:08 +08:00
test/e2e/run_userns_test.go: new file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> Closes: #690 Approved by: mheon
This commit is contained in:

committed by
Atomic Bot

parent
522a7197a8
commit
769f8f2d72
2
.papr.sh
2
.papr.sh
@ -30,5 +30,5 @@ make TAGS="${TAGS}" install PREFIX=/usr ETCDIR=/etc
|
||||
make TAGS="${TAGS}" test-binaries
|
||||
|
||||
# Run the ginkgo integration tests
|
||||
GOPATH=/go make localintegration
|
||||
SKIP_USERNS=1 GOPATH=/go make localintegration
|
||||
exit 0
|
||||
|
@ -1,6 +1,7 @@
|
||||
language: go
|
||||
|
||||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
@ -52,7 +52,7 @@ RUN mkdir -p /usr/src/criu \
|
||||
&& rm -rf /usr/src/criu
|
||||
|
||||
# Install runc
|
||||
ENV RUNC_COMMIT 84a082bfef6f932de921437815355186db37aeb1
|
||||
ENV RUNC_COMMIT 0cbfd8392fff2462701507296081e835b3b0b99a
|
||||
RUN set -x \
|
||||
&& export GOPATH="$(mktemp -d)" \
|
||||
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \
|
||||
|
60
test/e2e/run_userns_test.go
Normal file
60
test/e2e/run_userns_test.go
Normal file
@ -0,0 +1,60 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("Podman UserNS support", func() {
|
||||
var (
|
||||
tempdir string
|
||||
err error
|
||||
podmanTest PodmanTest
|
||||
)
|
||||
|
||||
BeforeEach(func() {
|
||||
tempdir, err = CreateTempDirInTempDir()
|
||||
if err != nil {
|
||||
os.Exit(1)
|
||||
}
|
||||
podmanTest = PodmanCreate(tempdir)
|
||||
podmanTest.RestoreAllArtifacts()
|
||||
})
|
||||
|
||||
AfterEach(func() {
|
||||
podmanTest.Cleanup()
|
||||
|
||||
})
|
||||
|
||||
It("podman uidmapping and gidmapping", func() {
|
||||
if os.Getenv("SKIP_USERNS") != "" {
|
||||
Skip("Skip userns tests.")
|
||||
}
|
||||
if _, err := os.Stat("/proc/self/uid_map"); err != nil {
|
||||
Skip("User namespaces not supported.")
|
||||
}
|
||||
|
||||
session := podmanTest.Podman([]string{"run", "--uidmap=0:1:70000", "--gidmap=0:20000:70000", "busybox", "echo", "hello"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
ok, _ := session.GrepString("hello")
|
||||
Expect(ok).To(BeTrue())
|
||||
})
|
||||
|
||||
It("podman uidmapping and gidmapping --net=host", func() {
|
||||
if os.Getenv("SKIP_USERNS") != "" {
|
||||
Skip("Skip userns tests.")
|
||||
}
|
||||
if _, err := os.Stat("/proc/self/uid_map"); err != nil {
|
||||
Skip("User namespaces not supported.")
|
||||
}
|
||||
session := podmanTest.Podman([]string{"run", "--net=host", "--uidmap=0:1:70000", "--gidmap=0:20000:70000", "busybox", "echo", "hello"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
ok, _ := session.GrepString("hello")
|
||||
Expect(ok).To(BeTrue())
|
||||
})
|
||||
|
||||
})
|
Reference in New Issue
Block a user