aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/shell
diff options
context:
space:
mode:
authorGravatar Philipp Wollermann <philwo@google.com>2016-05-24 11:16:30 +0000
committerGravatar Yue Gan <yueg@google.com>2016-05-24 11:58:34 +0000
commitcf34cf9454e372926f36d4e669ac0d8d4ff77294 (patch)
treec2d9c37463249ade5337bbca03dc647b397d8f0b /src/test/shell
parent34d4e6f1bbe80e8b0d42caddc22b5b941a3efeb1 (diff)
workers: When a WorkerFactory is instantiated, first remove old worker logs that belong to a prior running Bazel server.
-- MOS_MIGRATED_REVID=123092141
Diffstat (limited to 'src/test/shell')
-rwxr-xr-xsrc/test/shell/bazel/bazel_worker_test.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/shell/bazel/bazel_worker_test.sh b/src/test/shell/bazel/bazel_worker_test.sh
index 38f768d3e9..36ff8dfead 100755
--- a/src/test/shell/bazel/bazel_worker_test.sh
+++ b/src/test/shell/bazel/bazel_worker_test.sh
@@ -394,4 +394,32 @@ EOF
expect_log "Build completed, shutting down worker pool..."
}
+function test_logs_are_deleted_on_server_restart() {
+ prepare_example_worker
+ cat >>BUILD <<'EOF'
+[work(
+ name = "hello_world_%s" % idx,
+ worker = ":worker",
+ args = ["--write_uuid", "--write_counter"],
+) for idx in range(10)]
+EOF
+
+ bazel build -s --worker_verbose --strategy=Work=worker --worker_max_instances=1 --worker_quit_after_build :hello_world_1 &> $TEST_log \
+ || fail "build failed"
+
+ expect_log "Created new Work worker (id [0-9]\+)"
+
+ worker_log=$(egrep -o -- 'logging to .*/worker-logs/.*' "$TEST_log" | sed 's/^logging to //')
+
+ [ -e "$worker_log" ] \
+ || fail "Worker log was not found"
+
+ # Running a build after a server shutdown should trigger the removal of old worker log files.
+ bazel shutdown &> $TEST_log
+ bazel build &> $TEST_log
+
+ [ ! -e "$worker_log" ] \
+ || fail "Worker log was not deleted"
+}
+
run_suite "Worker integration tests"