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]

Reply via email to