mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-07-18 04:54:54 +00:00
The code paths for adding AllocationTimestamp were not tested well. None of the test cases verified that an AllocationTimestamp gets added at all because go-cmp was instructed to ignore the unpredictable field. We can do better than that and at least check for existence by normalizing all non-nil time stamps to the empty time. This affects all tests where the binding conditions and thus AllocationTimestamp support is enabled. The retry loop for status updates was untested. The fake client has to return a conflict status error to trigger it. This enables writing a test case where a concurrent deallocation would have caused the nil panic without the previous fix. For binding conditions, one test case gets added which runs through the full flow of allocating a claim and trying to bind it. All other test cases seem to have started with the claim already allocated. Altogether this increases coverage from 82.4% to 83.7%.