func generateSideCarAndVolumeCases()

in benchmarks/benchmark/tools/model-load-benchmark/suite-generator/generator.go [27:61]


func generateSideCarAndVolumeCases(base config.Config) []config.Config {
	sideCarCases := []config.Config{deepCopyConfig(base)}
	if base.SideCarResources != nil {
		sideCarCases = generateResourceCasesForStruct(base, "SideCarResources", reflect.ValueOf(base.SideCarResources))
	}
	fmt.Printf("Number of sidecarresource combinations generated %v \n", len(sideCarCases))

	var volumeCases []config.Config
	for _, sideCarCase := range sideCarCases {
		if sideCarCase.VolumeAttributes != nil {
			generatedVolumeCases := generateResourceCasesForStruct(sideCarCase, "VolumeAttributes", reflect.ValueOf(sideCarCase.VolumeAttributes))
			volumeCases = append(volumeCases, generatedVolumeCases...)
		} else {
			volumeCases = append(volumeCases, sideCarCase)
		}
	}
	fmt.Printf("Number of sidecarresource and volume case combinations generated %v\n", len(volumeCases))

	var finalCases []config.Config
	for _, volumeCase := range volumeCases {
		if volumeCase.VolumeAttributes != nil {
			generatedBoolCases := generateBoolCasesForStruct(volumeCase)
			finalCases = append(finalCases, generatedBoolCases...)
		} else {
			finalCases = append(finalCases, volumeCase)
		}
	}
	fmt.Printf("Number of all combinations generated %v \n", len(finalCases))

	if len(finalCases) == 0 {
		finalCases = append(finalCases, deepCopyConfig(base))
	}

	return finalCases
}