summaryrefslogtreecommitdiffhomepage
path: root/test/benchmarks
diff options
context:
space:
mode:
authorZach Koopmans <zkoopmans@google.com>2020-12-11 20:53:59 -0800
committergVisor bot <gvisor-bot@google.com>2020-12-11 20:56:09 -0800
commit4b697aae55eacac75f5e9c76aacd40981720c3fd (patch)
tree4f24f3dcb747b86a5499627d5d3734e11ef8ee49 /test/benchmarks
parentbe5922fbd2cba19ee01e1012474e8e80053e3298 (diff)
Fix long running bazel build jobs.
- Skip the bazel clean command on the last run of the benchmark. - Use --test.benchtime=1ns to force running the benchmark once (https://github.com/golang/go/issues/32051) PiperOrigin-RevId: 347124606
Diffstat (limited to 'test/benchmarks')
-rw-r--r--test/benchmarks/fs/bazel_test.go18
1 files changed, 10 insertions, 8 deletions
diff --git a/test/benchmarks/fs/bazel_test.go b/test/benchmarks/fs/bazel_test.go
index 53ed3f9f2..3fb4da9d1 100644
--- a/test/benchmarks/fs/bazel_test.go
+++ b/test/benchmarks/fs/bazel_test.go
@@ -61,10 +61,10 @@ func runBuildBenchmark(b *testing.B, image, workdir, target string) {
for _, bm := range benchmarks {
pageCache := tools.Parameter{
Name: "page_cache",
- Value: "clean",
+ Value: "dirty",
}
if bm.clearCache {
- pageCache.Value = "dirty"
+ pageCache.Value = "clean"
}
filesystem := tools.Parameter{
@@ -129,12 +129,14 @@ func runBuildBenchmark(b *testing.B, image, workdir, target string) {
if !strings.Contains(got, want) {
b.Fatalf("string %s not in: %s", want, got)
}
- // Clean bazel in case we use b.N.
- _, err = container.Exec(ctx, dockerutil.ExecOpts{
- WorkDir: prefix + workdir,
- }, "bazel", "clean")
- if err != nil {
- b.Fatalf("build failed with: %v", err)
+
+ // Clean bazel in the case we are doing another run.
+ if i < b.N-1 {
+ if _, err = container.Exec(ctx, dockerutil.ExecOpts{
+ WorkDir: prefix + workdir,
+ }, "bazel", "clean"); err != nil {
+ b.Fatalf("build failed with: %v", err)
+ }
}
b.StartTimer()
}