From ab113e7750c68fc8426ea82af302bbe3e514bce2 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Sat, 16 Jan 2016 00:25:50 -0800 Subject: [PATCH] Add more unit tests for spread strategy Signed-off-by: Victor Vieux --- scheduler/strategy/spread_test.go | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/scheduler/strategy/spread_test.go b/scheduler/strategy/spread_test.go index 4571df611c..5d0cd0eb7a 100644 --- a/scheduler/strategy/spread_test.go +++ b/scheduler/strategy/spread_test.go @@ -8,6 +8,44 @@ import ( "github.com/stretchr/testify/assert" ) +func TestSpreadPlaceDifferentNodeSize(t *testing.T) { + s := &SpreadPlacementStrategy{} + + nodes := []*node.Node{ + createNode(fmt.Sprintf("node-0"), 64, 21), + createNode(fmt.Sprintf("node-1"), 128, 42), + } + + // add 60 containers + for i := 0; i < 60; i++ { + config := createConfig(0, 0) + node := selectTopNode(t, s, config, nodes) + assert.NoError(t, node.AddContainer(createContainer(fmt.Sprintf("c%d", i), config))) + } + + assert.Equal(t, len(nodes[0].Containers), 30) + assert.Equal(t, len(nodes[1].Containers), 30) +} + +func TestSpreadPlaceDifferentNodeSizeCPUs(t *testing.T) { + s := &SpreadPlacementStrategy{} + + nodes := []*node.Node{ + createNode(fmt.Sprintf("node-0"), 64, 21), + createNode(fmt.Sprintf("node-1"), 128, 42), + } + + // add 60 containers 1CPU + for i := 0; i < 60; i++ { + config := createConfig(0, 1) + node := selectTopNode(t, s, config, nodes) + assert.NoError(t, node.AddContainer(createContainer(fmt.Sprintf("c%d", i), config))) + } + + assert.Equal(t, len(nodes[0].Containers), 20) + assert.Equal(t, len(nodes[1].Containers), 40) +} + func TestSpreadPlaceEqualWeight(t *testing.T) { s := &SpreadPlacementStrategy{}