To run tests for the Go source code, run go test ./..., or specify a package
directly, go test ./util/textutil.
To run tests for the website, run yarn run test.
To run the end-to-end tests for the website: yarn run test-e2e. See
web app development documentation for more information.
The test suite is exercised on every pull request. For the moment CI output access is limited to Sourcegraph employees, though we hope to enable public read-only access soon.
The test pipeline is generated by dev/ci/gen-pipeline.go, and written to a
YAML file by dev/ci/init-pipeline.yml. This pipeline is immediately scheduled by
Buildkite to run on the Sourcegraph build farm. Some things that are tested
include:
- all of the Go source files that have tests
- dev/check/all.sh (gofmt, lint, go generator, no Security TODO's, Bash syntax, others)
- JS formatting/linting (prettier, tslint, stylelint, graphql-lint)
- Dockerfile linter (hadolint)
- Check whether the Go module folders are "tidy" (go mod tidy)