| #!/bin/bash |
| |
| # Copyright 2020 The Go Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style |
| # license that can be found in the LICENSE file. |
| |
| # This script runs govim integration tests but always succeeds, instead writing |
| # their result to a file so that any test failure can be deferred to a later |
| # build step. We do this so that we can capture govim test artifacts regardless |
| # of the test results. |
| |
| # See golang.org/issues/38042. Temporarily disable telemetry until event |
| # exporters are threadsafe. |
| export GOVIM_GOPLS_FLAGS="-telemetry.disable" |
| |
| # Substitute the locally built gopls binary for use in govim integration tests. |
| go test -short ./cmd/govim -gopls /workspace/gopls/gopls |
| |
| # Stash the error, for use in a later build step. |
| echo "exit $?" > /workspace/govim_test_result.sh |
| |
| # Clean up unnecessary artifacts. This is based on govim/_scripts/tidyUp.bash. |
| # Since we're fetching govim using the go command, we won't have this non-go |
| # source directory available to us. |
| if [[ -n "$GOVIM_TESTSCRIPT_WORKDIR_ROOT" ]]; then |
| echo "Cleaning up build artifacts..." |
| # Make artifacts writable so that rm -rf doesn't complain. |
| chmod -R u+w "$GOVIM_TESTSCRIPT_WORKDIR_ROOT" |
| |
| # Remove directories we don't care about. |
| find "$GOVIM_TESTSCRIPT_WORKDIR_ROOT" -type d \( -name .vim -o -name gopath \) -prune -exec rm -rf '{}' \; |
| fi |