# govim integration tests
Files in this directory configure Cloud Build to run [govim] integration tests
against a gopls binary built from source.
## Running on GCP
To run these integration tests in Cloud Build, use the following steps. Here
we assume that `$PROJECT_ID` is a valid GCP project and `$BUCKET` is a cloud
storage bucket owned by that project.
- `cd` to the root directory of the tools project.
- (at least once per GCP project) Build the test harness:
```
$ gcloud builds submit \
--project="${PROJECT_ID}" \
--config=gopls/integration/govim/cloudbuild.harness.yaml
```
- Run the integration tests:
```
$ gcloud builds submit \
--project="${PROJECT_ID}" \
--config=gopls/integration/govim/cloudbuild.yaml \
--substitutions=_RESULT_BUCKET="${BUCKET}"
```
## Fetching Artifacts
Assuming the artifacts bucket is world readable, you can fetch integration from
GCS. They are located at:
- logs: `https://storage.googleapis.com/${BUCKET}/log-${EVALUATION_ID}.txt`
- artifact tarball: `https://storage.googleapis.com/${BUCKET}/govim/${EVALUATION_ID}/artifacts.tar.gz`
The `artifacts.go` command can be used to fetch both artifacts using an
evaluation id.
## Running locally
Run `gopls/integration/govim/run_local.sh`. This may take a while the first
time it is run, as it will require building the test harness. This script
accepts two flags to modify its behavior:
**--sudo**: run docker with `sudo`
**--short**: run `go test -short`
[govim]: https://github.com/govim/govim