Unverified Commit fe3eb4ed authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #56940 from misterikkit/subTest

Automatic merge from submit-queue (batch tested with PRs 56894, 56940, 55223, 56554, 54985). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Convert scheduler_perf tests to use subtest. Combine four separate tests into a table-driven test that uses subtests to logically organize the tests. **What this PR does / why we need it**: Simplifies integration test code in test/integration/scheduler_perf. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Special notes for your reviewer**: **Release note**: ```release-note NONE ``` /sig scheduling
parents a96d386e e256c28b
......@@ -17,6 +17,7 @@ limitations under the License.
package benchmark
import (
"fmt"
"testing"
"time"
......@@ -27,28 +28,19 @@ import (
"github.com/golang/glog"
)
// BenchmarkScheduling100Nodes0Pods benchmarks the scheduling rate
// when the cluster has 100 nodes and 0 scheduled pods
func BenchmarkScheduling100Nodes0Pods(b *testing.B) {
benchmarkScheduling(100, 0, b)
}
// BenchmarkScheduling100Nodes1000Pods benchmarks the scheduling rate
// when the cluster has 100 nodes and 1000 scheduled pods
func BenchmarkScheduling100Nodes1000Pods(b *testing.B) {
benchmarkScheduling(100, 1000, b)
}
// BenchmarkScheduling1000Nodes0Pods benchmarks the scheduling rate
// when the cluster has 1000 nodes and 0 scheduled pods
func BenchmarkScheduling1000Nodes0Pods(b *testing.B) {
benchmarkScheduling(1000, 0, b)
}
// BenchmarkScheduling1000Nodes1000Pods benchmarks the scheduling rate
// when the cluster has 1000 nodes and 1000 scheduled pods
func BenchmarkScheduling1000Nodes1000Pods(b *testing.B) {
benchmarkScheduling(1000, 1000, b)
// BenchmarkScheduling benchmarks the scheduling rate when the cluster has
// various quantities of nodes and scheduled pods.
func BenchmarkScheduling(b *testing.B) {
tests := []struct{ nodes, pods int }{
{nodes: 100, pods: 0},
{nodes: 100, pods: 1000},
{nodes: 1000, pods: 0},
{nodes: 1000, pods: 1000},
}
for _, test := range tests {
name := fmt.Sprintf("%vNodes/%vPods", test.nodes, test.pods)
b.Run(name, func(b *testing.B) { benchmarkScheduling(test.nodes, test.pods, b) })
}
}
// benchmarkScheduling benchmarks scheduling rate with specific number of nodes
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment