summaryrefslogtreecommitdiff
path: root/pkg/rootless/rootless_test.go
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2021-05-05 17:49:52 +0200
committerGiuseppe Scrivano <gscrivan@redhat.com>2021-05-05 18:03:10 +0200
commitc2c0d5058203070033b2d2e84c8b168bd4060650 (patch)
tree9d08ccf712e02d99a52611c6bc60e072ce6ada49 /pkg/rootless/rootless_test.go
parent4d2ba323f2e67fbfd6150582196c6e0229c70a8e (diff)
downloadpodman-c2c0d5058203070033b2d2e84c8b168bd4060650.tar.gz
podman-c2c0d5058203070033b2d2e84c8b168bd4060650.tar.bz2
podman-c2c0d5058203070033b2d2e84c8b168bd4060650.zip
rootless: improve automatic range split
sort.Search returns the smallest index, so provide the available IDs in decreasing order. It fixes an issue when splitting the current mappings over multiple available IDs. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'pkg/rootless/rootless_test.go')
-rw-r--r--pkg/rootless/rootless_test.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/pkg/rootless/rootless_test.go b/pkg/rootless/rootless_test.go
index ef574099c..fe9b23cdf 100644
--- a/pkg/rootless/rootless_test.go
+++ b/pkg/rootless/rootless_test.go
@@ -98,4 +98,61 @@ func TestMaybeSplitMappings(t *testing.T) {
if !reflect.DeepEqual(newMappings, desiredMappings) {
t.Fatal("wrong mappings generated")
}
+
+ mappings = []spec.LinuxIDMapping{
+ {
+ ContainerID: 0,
+ HostID: 0,
+ Size: 4,
+ },
+ }
+ desiredMappings = []spec.LinuxIDMapping{
+ {
+ ContainerID: 0,
+ HostID: 0,
+ Size: 1,
+ },
+ {
+ ContainerID: 1,
+ HostID: 1,
+ Size: 1,
+ },
+ {
+ ContainerID: 2,
+ HostID: 2,
+ Size: 1,
+ },
+ {
+ ContainerID: 3,
+ HostID: 3,
+ Size: 1,
+ },
+ }
+ availableMappings = []user.IDMap{
+ {
+ ID: 0,
+ ParentID: 0,
+ Count: 1,
+ },
+ {
+ ID: 1,
+ ParentID: 1,
+ Count: 1,
+ },
+ {
+ ID: 2,
+ ParentID: 2,
+ Count: 1,
+ },
+ {
+ ID: 3,
+ ParentID: 3,
+ Count: 1,
+ },
+ }
+
+ newMappings = MaybeSplitMappings(mappings, availableMappings)
+ if !reflect.DeepEqual(newMappings, desiredMappings) {
+ t.Fatal("wrong mappings generated")
+ }
}