From 3282f5a7c1d9d0792841abac850209d221a89340 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Thu, 20 Jul 2017 19:46:08 +0200 Subject: [PATCH] tests: fix for rootless multiple uids/gids Signed-off-by: Giuseppe Scrivano --- .../configs/validate/rootless_test.go | 68 +++++++------------ 1 file changed, 24 insertions(+), 44 deletions(-) diff --git a/libcontainer/configs/validate/rootless_test.go b/libcontainer/configs/validate/rootless_test.go index 23d678d9..f802f8cb 100644 --- a/libcontainer/configs/validate/rootless_test.go +++ b/libcontainer/configs/validate/rootless_test.go @@ -66,28 +66,6 @@ func TestValidateRootlessMappingUid(t *testing.T) { if err := validator.Validate(config); err == nil { t.Errorf("Expected error to occur if no uid mappings provided") } - - config = rootlessConfig() - config.UidMappings[0].HostID = geteuid() + 1 - if err := validator.Validate(config); err == nil { - t.Errorf("Expected error to occur if geteuid() != mapped uid") - } - - config = rootlessConfig() - config.UidMappings[0].Size = 1024 - if err := validator.Validate(config); err == nil { - t.Errorf("Expected error to occur if more than one uid mapped") - } - - config = rootlessConfig() - config.UidMappings = append(config.UidMappings, configs.IDMap{ - HostID: geteuid() + 1, - ContainerID: 0, - Size: 1, - }) - if err := validator.Validate(config); err == nil { - t.Errorf("Expected error to occur if more than one uid extent mapped") - } } func TestValidateRootlessMappingGid(t *testing.T) { @@ -98,28 +76,6 @@ func TestValidateRootlessMappingGid(t *testing.T) { if err := validator.Validate(config); err == nil { t.Errorf("Expected error to occur if no gid mappings provided") } - - config = rootlessConfig() - config.GidMappings[0].HostID = getegid() + 1 - if err := validator.Validate(config); err == nil { - t.Errorf("Expected error to occur if getegid() != mapped gid") - } - - config = rootlessConfig() - config.GidMappings[0].Size = 1024 - if err := validator.Validate(config); err == nil { - t.Errorf("Expected error to occur if more than one gid mapped") - } - - config = rootlessConfig() - config.GidMappings = append(config.GidMappings, configs.IDMap{ - HostID: getegid() + 1, - ContainerID: 0, - Size: 1, - }) - if err := validator.Validate(config); err == nil { - t.Errorf("Expected error to occur if more than one gid extent mapped") - } } /* rootlessMount() */ @@ -149,6 +105,18 @@ func TestValidateRootlessMountUid(t *testing.T) { if err := validator.Validate(config); err != nil { t.Errorf("Expected error to not occur when setting uid=0 in mount options: %+v", err) } + + config.Mounts[0].Data = "uid=2" + config.UidMappings[0].Size = 10 + if err := validator.Validate(config); err != nil { + t.Errorf("Expected error to not occur when setting uid=2 in mount options and UidMapping[0].size is 10") + } + + config.Mounts[0].Data = "uid=20" + config.UidMappings[0].Size = 10 + if err := validator.Validate(config); err == nil { + t.Errorf("Expected error to occur when setting uid=20 in mount options and UidMapping[0].size is 10") + } } func TestValidateRootlessMountGid(t *testing.T) { @@ -176,6 +144,18 @@ func TestValidateRootlessMountGid(t *testing.T) { if err := validator.Validate(config); err != nil { t.Errorf("Expected error to not occur when setting gid=0 in mount options: %+v", err) } + + config.Mounts[0].Data = "gid=5" + config.GidMappings[0].Size = 10 + if err := validator.Validate(config); err != nil { + t.Errorf("Expected error to not occur when setting gid=5 in mount options and GidMapping[0].size is 10") + } + + config.Mounts[0].Data = "gid=11" + config.GidMappings[0].Size = 10 + if err := validator.Validate(config); err == nil { + t.Errorf("Expected error to occur when setting gid=11 in mount options and GidMapping[0].size is 10") + } } /* rootlessCgroup() */