@@ -17,16 +17,19 @@ limitations under the License.
17
17
package state
18
18
19
19
import (
20
+ "errors"
20
21
"os"
21
22
"path"
22
23
"strings"
23
24
"testing"
24
25
25
26
"github.com/stretchr/testify/assert"
27
+ "github.com/stretchr/testify/require"
26
28
27
29
resourcev1alpha2 "k8s.io/api/resource/v1alpha2"
28
30
"k8s.io/apimachinery/pkg/util/sets"
29
31
"k8s.io/kubernetes/pkg/kubelet/checkpointmanager"
32
+ cmerrors "k8s.io/kubernetes/pkg/kubelet/checkpointmanager/errors"
30
33
testutil "k8s.io/kubernetes/pkg/kubelet/cm/cpumanager/state/testing"
31
34
)
32
35
@@ -198,7 +201,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
198
201
assert .Error (t , err )
199
202
assert .Contains (t , err .Error (), tc .expectedError )
200
203
} else {
201
- assert . NoError (t , err , "unexpected error while creating checkpointState" )
204
+ requireNoCheckpointError (t , err )
202
205
// compare state after restoration with the one expected
203
206
assertStateEqual (t , state , tc .expectedState )
204
207
}
@@ -270,11 +273,21 @@ func TestOldCheckpointRestore(t *testing.T) {
270
273
271
274
checkpoint := NewDRAManagerCheckpoint ()
272
275
err = cpm .GetCheckpoint (testingCheckpoint , checkpoint )
273
- assert . NoError (t , err , "could not restore checkpoint" )
276
+ requireNoCheckpointError (t , err )
274
277
275
278
checkpointData , err := checkpoint .MarshalCheckpoint ()
276
279
assert .NoError (t , err , "could not Marshal Checkpoint" )
277
280
278
281
expectedData := `{"version":"v1","entries":[{"DriverName":"test-driver.cdi.k8s.io","ClassName":"class-name","ClaimUID":"067798be-454e-4be4-9047-1aa06aea63f7","ClaimName":"example","Namespace":"default","PodUIDs":{"139cdb46-f989-4f17-9561-ca10cfb509a6":{}},"ResourceHandles":null,"CDIDevices":{"test-driver.cdi.k8s.io":["example.com/example=cdi-example"]}}],"checksum":453625682}`
279
282
assert .Equal (t , expectedData , string (checkpointData ), "expected ClaimInfoState does not equal to restored one" )
280
283
}
284
+
285
+ func requireNoCheckpointError (t * testing.T , err error ) {
286
+ t .Helper ()
287
+ var cksumErr * cmerrors.CorruptCheckpointError
288
+ if errors .As (err , & cksumErr ) {
289
+ t .Fatalf ("unexpected corrupt checkpoint, expected checksum %d, got %d" , cksumErr .ExpectedCS , cksumErr .ActualCS )
290
+ } else {
291
+ require .NoError (t , err , "could not restore checkpoint" )
292
+ }
293
+ }
0 commit comments