This is an automated email from the ASF dual-hosted git repository.
ccondit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-core.git
The following commit(s) were added to refs/heads/master by this push:
new 4e05576e [YUNIKORN-2822] Improve coverage of resources and
tracked_resources (#952)
4e05576e is described below
commit 4e05576e8740d2018130efb29b2575c905a14651
Author: SP12893678 <[email protected]>
AuthorDate: Wed Aug 21 13:33:22 2024 -0500
[YUNIKORN-2822] Improve coverage of resources and tracked_resources (#952)
Closes: #952
Signed-off-by: Craig Condit <[email protected]>
---
pkg/common/resources/resources_test.go | 7 ++++
pkg/common/resources/tracked_resources_test.go | 49 ++++++++++++++++++++++++++
2 files changed, 56 insertions(+)
diff --git a/pkg/common/resources/resources_test.go
b/pkg/common/resources/resources_test.go
index 1cfe3500..9273fd01 100644
--- a/pkg/common/resources/resources_test.go
+++ b/pkg/common/resources/resources_test.go
@@ -356,6 +356,13 @@ func TestMatchAnyOnlyExisting(t *testing.T) {
}
})
}
+
+ // case: left and right resource is same instance
+ quantity := map[string]Quantity{"first": 1}
+ left := NewResourceFromMap(quantity)
+ right := left
+ result := left.MatchAny(right)
+ assert.Assert(t, result)
}
func TestStrictlyGreaterThanOnlyExisting(t *testing.T) {
diff --git a/pkg/common/resources/tracked_resources_test.go
b/pkg/common/resources/tracked_resources_test.go
index 2d420053..a7b20944 100644
--- a/pkg/common/resources/tracked_resources_test.go
+++ b/pkg/common/resources/tracked_resources_test.go
@@ -21,6 +21,8 @@ package resources
import (
"fmt"
"reflect"
+ "sort"
+ "strings"
"testing"
"time"
@@ -128,6 +130,11 @@ func TestTrackedResourceClone(t *testing.T) {
}
})
}
+
+ // case: tracked resource is nil
+ tr := (*TrackedResource)(nil)
+ cloned := tr.Clone()
+ assert.Assert(t, cloned == nil)
}
// TestTrackedResourceAggregateTrackedResource tests the
AggregateTrackedResource function.
@@ -211,6 +218,11 @@ func TestTrackedResourceAggregateTrackedResource(t
*testing.T) {
}
})
}
+
+ // case: resource is nil
+ tr := NewTrackedResourceFromMap(nil)
+ tr.AggregateTrackedResource("instanceType1", nil,
time.Now().Add(-time.Minute))
+ assert.Assert(t, tr.TrackedResourceMap != nil &&
len(tr.TrackedResourceMap) == 0)
}
func TestEqualsTracked(t *testing.T) {
@@ -263,3 +275,40 @@ func TestEqualsTracked(t *testing.T) {
})
}
}
+
+func TestTrackedResourceString(t *testing.T) {
+ sortTrackedResourceString := func(s string) string {
+ s = strings.TrimPrefix(s, "TrackedResource{")
+ s = strings.TrimSuffix(s, "}")
+ parts := strings.Split(s, ",")
+ sort.Strings(parts)
+ return "TrackedResource{" + strings.Join(parts, ",") + "}"
+ }
+
+ // case: empty tracked resource
+ tr1 := NewTrackedResource()
+ expected := "TrackedResource{}"
+ assert.Equal(t, sortTrackedResourceString(expected),
sortTrackedResourceString(tr1.String()))
+
+ // case: tracked resource with one instance type and one resource
+ tr2 := NewTrackedResourceFromMap(map[string]map[string]Quantity{
+ "instanceType1": {
+ "cpu": 10,
+ },
+ })
+ expected = "TrackedResource{instanceType1:cpu=10}"
+ assert.Equal(t, sortTrackedResourceString(expected),
sortTrackedResourceString(tr2.String()))
+
+ // case: tracked resource with multiple instance types and resource
+ tr3 := NewTrackedResourceFromMap(map[string]map[string]Quantity{
+ "instanceType1": {
+ "cpu": 10,
+ "memory": 20,
+ },
+ "instanceType2": {
+ "memory": 15,
+ },
+ })
+ expected =
"TrackedResource{instanceType1:cpu=10,instanceType1:memory=20,instanceType2:memory=15}"
+ assert.Equal(t, sortTrackedResourceString(expected),
sortTrackedResourceString(tr3.String()))
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]