Merge pull request #106244 from cncal/fix-state-checkpoint-testcase
fix test for CheckpointStateRestore
This commit is contained in:
		| @@ -23,6 +23,7 @@ import ( | ||||
| 	"strings" | ||||
| 	"testing" | ||||
|  | ||||
| 	"github.com/stretchr/testify/require" | ||||
| 	"k8s.io/kubernetes/pkg/kubelet/checkpointmanager" | ||||
| 	"k8s.io/kubernetes/pkg/kubelet/cm/containermap" | ||||
| 	testutil "k8s.io/kubernetes/pkg/kubelet/cm/cpumanager/state/testing" | ||||
| @@ -201,15 +202,11 @@ func TestCheckpointStateRestore(t *testing.T) { | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "cpumanager_state_test") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(testingDir) | ||||
| 	// create checkpoint manager for testing | ||||
| 	cpm, err := checkpointmanager.NewCheckpointManager(testingDir) | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("could not create testing checkpoint manager: %v", err) | ||||
| 	} | ||||
| 	require.NoErrorf(t, err, "could not create testing checkpoint manager: %v", err) | ||||
|  | ||||
| 	for _, tc := range testCases { | ||||
| 		t.Run(tc.description, func(t *testing.T) { | ||||
| @@ -219,21 +216,18 @@ func TestCheckpointStateRestore(t *testing.T) { | ||||
| 			// prepare checkpoint for testing | ||||
| 			if strings.TrimSpace(tc.checkpointContent) != "" { | ||||
| 				checkpoint := &testutil.MockCheckpoint{Content: tc.checkpointContent} | ||||
| 				if err := cpm.CreateCheckpoint(testingCheckpoint, checkpoint); err != nil { | ||||
| 					t.Fatalf("could not create testing checkpoint: %v", err) | ||||
| 				} | ||||
| 				err = cpm.CreateCheckpoint(testingCheckpoint, checkpoint) | ||||
| 				require.NoErrorf(t, err, "could not create testing checkpoint: %v", err) | ||||
| 			} | ||||
|  | ||||
| 			restoredState, err := NewCheckpointState(testingDir, testingCheckpoint, tc.policyName, tc.initialContainers) | ||||
| 			if err != nil { | ||||
| 				if strings.TrimSpace(tc.expectedError) != "" { | ||||
| 					if strings.Contains(err.Error(), "could not restore state from checkpoint") && | ||||
| 						strings.Contains(err.Error(), tc.expectedError) { | ||||
| 						t.Logf("got expected error: %v", err) | ||||
| 						return | ||||
| 					} | ||||
| 				} | ||||
| 				t.Fatalf("unexpected error while creatng checkpointState: %v", err) | ||||
| 			if strings.TrimSpace(tc.expectedError) == "" { | ||||
| 				require.NoError(t, err) | ||||
| 			} else { | ||||
| 				require.Error(t, err) | ||||
| 				require.Contains(t, err.Error(), "could not restore state from checkpoint") | ||||
| 				require.Contains(t, err.Error(), tc.expectedError) | ||||
| 				return | ||||
| 			} | ||||
|  | ||||
| 			// compare state after restoration with the one expected | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot