#!/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
