summaryrefslogtreecommitdiff
path: root/pkg/spec/spec_test.go
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2019-04-15 15:26:29 -0400
committerMatthew Heon <matthew.heon@pm.me>2019-05-01 10:19:05 -0400
commit9ee50fe2c7d31e5a6209b63f7735a965dc204131 (patch)
treed346f802417e6a3fce722b129de39613f60b67ba /pkg/spec/spec_test.go
parent71f65ab07f0e96d59ba3836c176f9aa5e7330276 (diff)
downloadpodman-9ee50fe2c7d31e5a6209b63f7735a965dc204131.tar.gz
podman-9ee50fe2c7d31e5a6209b63f7735a965dc204131.tar.bz2
podman-9ee50fe2c7d31e5a6209b63f7735a965dc204131.zip
Migrate to unified volume handling code
Unify handling for the --volume, --mount, --volumes-from, --tmpfs and --init flags into a single file and set of functions. This will greatly improve readability and maintainability. Further, properly handle superceding and conflicting mounts. Our current patchwork has serious issues when mounts conflict, or when a mount from --volumes-from or an image volume should be overwritten by a user volume or named volume. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'pkg/spec/spec_test.go')
-rw-r--r--pkg/spec/spec_test.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/pkg/spec/spec_test.go b/pkg/spec/spec_test.go
index c037bf69e..b7c9c9c0d 100644
--- a/pkg/spec/spec_test.go
+++ b/pkg/spec/spec_test.go
@@ -8,22 +8,22 @@ import (
"github.com/stretchr/testify/assert"
)
-func TestCreateConfig_GetVolumeMounts(t *testing.T) {
+func TestGetVolumeMountsOneVolume(t *testing.T) {
data := spec.Mount{
Destination: "/foobar",
Type: "bind",
- Source: "foobar",
+ Source: "/foobar",
Options: []string{"ro", "rbind", "rprivate"},
}
config := CreateConfig{
- Volumes: []string{"foobar:/foobar:ro"},
+ Volumes: []string{"/foobar:/foobar:ro"},
}
- specMount, err := config.GetVolumeMounts([]spec.Mount{})
+ specMount, _, err := config.getVolumeMounts()
assert.NoError(t, err)
- assert.True(t, reflect.DeepEqual(data, specMount[0]))
+ assert.True(t, reflect.DeepEqual(data, specMount[data.Destination]))
}
-func TestCreateConfig_GetTmpfsMounts(t *testing.T) {
+func TestGetTmpfsMounts(t *testing.T) {
data := spec.Mount{
Destination: "/homer",
Type: "tmpfs",
@@ -33,7 +33,7 @@ func TestCreateConfig_GetTmpfsMounts(t *testing.T) {
config := CreateConfig{
Tmpfs: []string{"/homer:rw,size=787448k,mode=1777"},
}
- tmpfsMount := config.GetTmpfsMounts()
- assert.True(t, reflect.DeepEqual(data, tmpfsMount[0]))
-
+ tmpfsMount, err := config.getTmpfsMounts()
+ assert.NoError(t, err)
+ assert.True(t, reflect.DeepEqual(data, tmpfsMount[data.Destination]))
}