diff options
-rw-r--r-- | cmd/podman/common/volumes.go | 4 | ||||
-rw-r--r-- | pkg/systemd/activation.go | 6 | ||||
-rw-r--r-- | pkg/systemd/activation_test.go | 32 |
3 files changed, 34 insertions, 8 deletions
diff --git a/cmd/podman/common/volumes.go b/cmd/podman/common/volumes.go index aff323936..883d604da 100644 --- a/cmd/podman/common/volumes.go +++ b/cmd/podman/common/volumes.go @@ -337,9 +337,9 @@ func getBindMount(args []string) (spec.Mount, error) { } switch kv[1] { case "private": - newMount.Options = append(newMount.Options, "z") - case "shared": newMount.Options = append(newMount.Options, "Z") + case "shared": + newMount.Options = append(newMount.Options, "z") default: return newMount, errors.Wrapf(util.ErrBadMntOption, "%s mount option must be 'private' or 'shared'", kv[0]) } diff --git a/pkg/systemd/activation.go b/pkg/systemd/activation.go index 8f75f9cca..9fcfed771 100644 --- a/pkg/systemd/activation.go +++ b/pkg/systemd/activation.go @@ -25,11 +25,5 @@ func SocketActivated() bool { if err != nil || nfds == 0 { return false } - - // "github.com/coreos/go-systemd/v22/activation" will use and validate this variable's - // value. We're just providing a fast fail - if _, found = os.LookupEnv("LISTEN_FDNAMES"); !found { - return false - } return true } diff --git a/pkg/systemd/activation_test.go b/pkg/systemd/activation_test.go new file mode 100644 index 000000000..d2553777b --- /dev/null +++ b/pkg/systemd/activation_test.go @@ -0,0 +1,32 @@ +package systemd + +import ( + "fmt" + "os" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestSocketActivated(t *testing.T) { + assert := assert.New(t) + + assert.False(SocketActivated()) + + // different pid + assert.NoError(os.Setenv("LISTEN_PID", "1")) + assert.False(SocketActivated()) + + // same pid no fds + assert.NoError(os.Setenv("LISTEN_PID", fmt.Sprintf("%d", os.Getpid()))) + assert.NoError(os.Setenv("LISTEN_FDS", "0")) + assert.False(SocketActivated()) + + // same pid some fds + assert.NoError(os.Setenv("LISTEN_FDS", "1")) + assert.True(SocketActivated()) + + // FDNAME is ok too (but not required) + assert.NoError(os.Setenv("LISTEN_FDNAMES", "/meshuggah/rocks")) + assert.True(SocketActivated()) +} |