Skip to content

Flaky Unit Test: TestControllerGameServersNodeState #4391

@markmandel

Description

@markmandel

I reckon this is because of the upgrade to Go 1.25, so now this is a difference in behaviour..

--- FAIL: TestControllerGameServersNodeState (0.10s)
    controller_test.go:88: 
        	Error Trace:	/go/src/agones.dev/agones/pkg/metrics/controller_test.go:88
        	            				/go/src/agones.dev/agones/pkg/metrics/controller_test.go:605
        	Error:      	Not equal: 
        	            	expected: &metricdata.Distribution{Count:3, Sum:3, SumOfSquaredDeviation:2, BucketOptions:(*metricdata.BucketOptions)(0xc000d869a8), Buckets:[]metricdata.Bucket{metricdata.Bucket{Count:1, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:1, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:1, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}}}
        	            	actual  : &metricdata.Distribution{Count:1, Sum:1, SumOfSquaredDeviation:0, BucketOptions:(*metricdata.BucketOptions)(0xc000d868e8), Buckets:[]metricdata.Bucket{metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:1, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}, metricdata.Bucket{Count:0, Exemplar:(*metricdata.Exemplar)(nil)}}}
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,5 +1,5 @@
        	            	 (*metricdata.Distribution)({
        	            	- Count: (int64) 3,
        	            	- Sum: (float64) 3,
        	            	- SumOfSquaredDeviation: (float64) 2,
        	            	+ Count: (int64) 1,
        	            	+ Sum: (float64) 1,
        	            	+ SumOfSquaredDeviation: (float64) 0,
        	            	  BucketOptions: (*metricdata.BucketOptions)({
        	            	@@ -37,7 +37,3 @@
        	            	   (metricdata.Bucket) {
        	            	-   Count: (int64) 1,
        	            	-   Exemplar: (*metricdata.Exemplar)(<nil>)
        	            	-  },
        	            	-  (metricdata.Bucket) {
        	            	-   Count: (int64) 1,
        	            	+   Count: (int64) 0,
        	            	    Exemplar: (*metricdata.Exemplar)(<nil>)
        	            	@@ -147,2 +143,6 @@
        	            	    Exemplar: (*metricdata.Exemplar)(<nil>)
        	            	+  },
        	            	+  (metricdata.Bucket) {
        	            	+   Count: (int64) 0,
        	            	+   Exemplar: (*metricdata.Exemplar)(<nil>)
        	            	   }
        	Test:       	TestControllerGameServersNodeState
        	Messages:   	metric: gameservers_node_count, tags: [], values don't match; got: &{1 1 0 0xc000d868e8 [{0 <nil>} {1 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>}]}, want: &{3 3 2 0xc000d869a8 [{1 <nil>} {1 <nil>} {1 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>} {0 <nil>}]}
{"message":"Wait for cache sync","severity":"info","time":"2025-12-18T02:35:08.006298316Z"}
{"message":"unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"agones.dev\", Version:\"v1\", Resource:\"gameserversets\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}, ListOptions:v1.ListOptions{TypeMeta:v1.TypeMeta{Kind:\"\", APIVersion:\"\"}, LabelSelector:\"\", FieldSelector:\"\", Watch:true, AllowWatchBookmarks:true, ResourceVersion:\"\", ResourceVersionMatch:\"\", TimeoutSeconds:(*int64)(0xc0006c50f8), Limit:0, Continue:\"\", SendInitialEvents:(*bool)(nil)}}","severity":"error","time":"2025-12-18T02:35:08.007016927Z"}
{"message":"unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"agones.dev\", Version:\"v1\", Resource:\"gameserversets\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}, ListOptions:v1.ListOptions{TypeMeta:v1.TypeMeta{Kind:\"\", APIVersion:\"\"}, LabelSelector:\"\", FieldSelector:\"\", Watch:true, AllowWatchBookmarks:true, ResourceVersion:\"\", ResourceVersionMatch:\"\", TimeoutSeconds:(*int64)(0xc000a03968), Limit:0, Continue:\"\", SendInitialEvents:(*bool)(nil)}}","severity":"error","time":"2025-12-18T02:35:09.595846674Z"}
{"message":"unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"agones.dev\", Version:\"v1\", Resource:\"gameserversets\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}, ListOptions:v1.ListOptions{TypeMeta:v1.TypeMeta{Kind:\"\", APIVersion:\"\"}, LabelSelector:\"\", FieldSelector:\"\", Watch:true, AllowWatchBookmarks:true, ResourceVersion:\"\", ResourceVersionMatch:\"\", TimeoutSeconds:(*int64)(0xc000f98198), Limit:0, Continue:\"\", SendInitialEvents:(*bool)(nil)}}","severity":"error","time":"2025-12-18T02:35:11.240893779Z"}
{"message":"Wait for cache sync","severity":"info","time":"2025-12-18T02:35:13.117241643Z"}
{"message":"unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"agones.dev\", Version:\"v1\", Resource:\"gameserversets\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}, ListOptions:v1.ListOptions{TypeMeta:v1.TypeMeta{Kind:\"\", APIVersion:\"\"}, LabelSelector:\"\", FieldSelector:\"\", Watch:true, AllowWatchBookmarks:true, ResourceVersion:\"\", ResourceVersionMatch:\"\", TimeoutSeconds:(*int64)(0xc000012a38), Limit:0, Continue:\"\", SendInitialEvents:(*bool)(nil)}}","severity":"error","time":"2025-12-18T02:35:13.117728213Z"}
{"message":"Starting http server...","severity":"info","test":"TestMetrics_Endpoint_ExposesAllMetrics","time":"2025-12-18T02:35:14.221317353Z"}
{"message":"unhandled watch: testing.WatchActionImpl{ActionImpl:testing.ActionImpl{Namespace:\"\", Verb:\"watch\", Resource:schema.GroupVersionResource{Group:\"agones.dev\", Version:\"v1\", Resource:\"gameserversets\"}, Subresource:\"\"}, WatchRestrictions:testing.WatchRestrictions{Labels:labels.internalSelector(nil), Fields:fields.andTerm{}, ResourceVersion:\"\"}, ListOptions:v1.ListOptions{TypeMeta:v1.TypeMeta{Kind:\"\", APIVersion:\"\"}, LabelSelector:\"\", FieldSelector:\"\", Watch:true, AllowWatchBookmarks:true, ResourceVersion:\"\", ResourceVersionMatch:\"\", TimeoutSeconds:(*int64)(0xc0008efe48), Limit:0, Continue:\"\", SendInitialEvents:(*bool)(nil)}}","severity":"error","time":"2025-12-18T02:35:14.423247844Z"}
{"error":"http: Server closed","message":"http server closed","severity":"info","test":"TestMetrics_Endpoint_ExposesAllMetrics","time":"2025-12-18T02:35:14.545124258Z"}
FAIL

Metadata

Metadata

Labels

area/testsUnit tests, e2e tests, anything to make sure things don't breakgood first issueThese are great first issues. If you are looking for a place to start, start here!help wantedWe would love help on these issues. Please come help us!kind/bugThese are bugs.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions