Merge pull request #114761 from pohly/e2e-storage-deterministic-order

e2e storage: define local PersistentVolume tests in deterministic order
This commit is contained in:
Kubernetes Prow Robot 2023-01-02 14:57:41 -08:00 committed by GitHub
commit 5f0e7932f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -21,6 +21,7 @@ import (
"fmt"
"math/rand"
"path/filepath"
"sort"
"strconv"
"strings"
"sync"
@ -108,6 +109,19 @@ var setupLocalVolumeMap = map[localVolumeType]utils.LocalVolumeType{
BlockFsWithoutFormatLocalVolumeType: utils.LocalVolumeBlock, // block device in Filesystem mode (default in this test suite)
}
// setupLocalVolumeMapKeys returns all keys in a sorted slice. This is needed
// to define tests in a deterministic order.
func setupLocalVolumeMapKeys() []localVolumeType {
var keys []localVolumeType
for key := range setupLocalVolumeMap {
keys = append(keys, key)
}
sort.Slice(keys, func(i, j int) bool {
return keys[i] < keys[j]
})
return keys
}
type localTestVolume struct {
// Local test resource
ltr *utils.LocalTestResource
@ -181,7 +195,7 @@ var _ = utils.SIGDescribe("PersistentVolumes-local ", func() {
}
})
for tempTestVolType := range setupLocalVolumeMap {
for _, tempTestVolType := range setupLocalVolumeMapKeys() {
// New variable required for gingko test closures
testVolType := tempTestVolType