Parcourir la source

round results

Signed-off-by: Alex Meijer <ameijer@kubecost.com>
Alex Meijer il y a 3 ans
Parent
commit
7031ad8df0
1 fichiers modifiés avec 31 ajouts et 21 suppressions
  1. 31 21
      pkg/kubecost/allocation_test.go

+ 31 - 21
pkg/kubecost/allocation_test.go

@@ -517,6 +517,12 @@ func assertParcResults(t *testing.T, as *AllocationSet, msg string, exps map[str
 	for allocKey, a := range as.Allocations {
 		for key, actualParc := range a.ProportionalAssetResourceCosts {
 			expectedParcs := exps[allocKey]
+
+			// round to prevent floating point issues from failing tests at ultra high precision
+			actualParc.NodeResourceCostPercentage = roundFloat(actualParc.NodeResourceCostPercentage)
+			actualParc.CPUPercentage = roundFloat(actualParc.CPUPercentage)
+			actualParc.RAMPercentage = roundFloat(actualParc.RAMPercentage)
+			actualParc.GPUPercentage = roundFloat(actualParc.GPUPercentage)
 			if !reflect.DeepEqual(expectedParcs[key], actualParc) {
 				t.Fatalf("actual PARC %v did not match expected PARC %v", actualParc, expectedParcs[key])
 			}
@@ -524,6 +530,10 @@ func assertParcResults(t *testing.T, as *AllocationSet, msg string, exps map[str
 
 	}
 }
+func roundFloat(val float64) float64 {
+	ratio := math.Pow(10, float64(5))
+	return math.Round(val*ratio) / ratio
+}
 
 func assertAllocationTotals(t *testing.T, as *AllocationSet, msg string, exps map[string]float64) {
 	for _, a := range as.Allocations {
@@ -1079,10 +1089,10 @@ func TestAllocationSet_AggregateBy(t *testing.T) {
 						Cluster:                    "cluster1",
 						Node:                       "",
 						ProviderID:                 "",
-						CPUPercentage:              0.16666666666666666,
-						GPUPercentage:              0.16666666666666666,
-						RAMPercentage:              0.2708333333333333,
-						NodeResourceCostPercentage: 0.22619047619047614,
+						CPUPercentage:              0.16667,
+						GPUPercentage:              0.16667,
+						RAMPercentage:              0.27083,
+						NodeResourceCostPercentage: 0.22619,
 						GPUTotalCost:               18,
 						GPUProportionalCost:        3,
 						CPUTotalCost:               18,
@@ -1096,10 +1106,10 @@ func TestAllocationSet_AggregateBy(t *testing.T) {
 						Cluster:                    "cluster1",
 						Node:                       "",
 						ProviderID:                 "",
-						CPUPercentage:              0.16666666666666666,
-						GPUPercentage:              0.16666666666666666,
+						CPUPercentage:              0.16667,
+						GPUPercentage:              0.16667,
 						RAMPercentage:              0.0625,
-						NodeResourceCostPercentage: 0.10714285714285714,
+						NodeResourceCostPercentage: 0.10714,
 						GPUTotalCost:               18,
 						GPUProportionalCost:        3,
 						CPUTotalCost:               18,
@@ -1111,10 +1121,10 @@ func TestAllocationSet_AggregateBy(t *testing.T) {
 						Cluster:                    "cluster2",
 						Node:                       "",
 						ProviderID:                 "",
-						CPUPercentage:              0.16666666666666666,
-						GPUPercentage:              0.16666666666666666,
-						RAMPercentage:              0.16666666666666666,
-						NodeResourceCostPercentage: 0.16666666666666666,
+						CPUPercentage:              0.16667,
+						GPUPercentage:              0.16667,
+						RAMPercentage:              0.16667,
+						NodeResourceCostPercentage: 0.16667,
 						GPUTotalCost:               18,
 						GPUProportionalCost:        3,
 						CPUTotalCost:               18,
@@ -1535,10 +1545,10 @@ func TestAllocationSet_AggregateBy(t *testing.T) {
 						Cluster:                    "cluster1",
 						Node:                       "c1nodes",
 						ProviderID:                 "c1nodes",
-						CPUPercentage:              0.16666666666666666,
-						GPUPercentage:              0.16666666666666666,
-						RAMPercentage:              0.2708333333333333,
-						NodeResourceCostPercentage: 0.22619047619047614,
+						CPUPercentage:              0.16667,
+						GPUPercentage:              0.16667,
+						RAMPercentage:              0.27083,
+						NodeResourceCostPercentage: 0.22619,
 						GPUTotalCost:               18,
 						GPUProportionalCost:        3,
 						CPUTotalCost:               18,
@@ -1550,10 +1560,10 @@ func TestAllocationSet_AggregateBy(t *testing.T) {
 						Cluster:                    "cluster2",
 						Node:                       "node2",
 						ProviderID:                 "node2",
-						CPUPercentage:              0.16666666666666666,
-						GPUPercentage:              0.16666666666666666,
+						CPUPercentage:              0.16667,
+						GPUPercentage:              0.16667,
 						RAMPercentage:              0.0625,
-						NodeResourceCostPercentage: 0.10714285714285714,
+						NodeResourceCostPercentage: 0.10714,
 						GPUTotalCost:               18,
 						GPUProportionalCost:        3,
 						CPUTotalCost:               18,
@@ -1567,10 +1577,10 @@ func TestAllocationSet_AggregateBy(t *testing.T) {
 						Cluster:                    "cluster1",
 						Node:                       "c1nodes",
 						ProviderID:                 "c1nodes",
-						CPUPercentage:              0.16666666666666666,
-						GPUPercentage:              0.16666666666666666,
+						CPUPercentage:              0.16667,
+						GPUPercentage:              0.16667,
 						RAMPercentage:              0.0625,
-						NodeResourceCostPercentage: 0.10714285714285714,
+						NodeResourceCostPercentage: 0.10714,
 						GPUTotalCost:               18,
 						GPUProportionalCost:        3,
 						CPUTotalCost:               18,