tast-lint: Run Golint.

We run golint and take problems whose confidence is >=0.8.

We filter results in addition in some ways:
- Lines marked "// NOLINT" are ignored. This is because golint is
  actually designed to make "suggestions"; it sometimes gives
  false positive but does not provide a way to selectively ignore
  errors by itself. Nevertheless, we believe running golint in
  the pre-upload hook is worth doing.
- unexported-type-in-api is ignored.
- Test main functions are allowed to be exported without
  comments.

Also, -debug option is added to turn on verbose output. It can be
used to print the information required to add more filtering
in the case of false positives.

CQ-DEPEND=CL:1287349
CQ-DEPEND=CL:1287449
BUG=chromium:894750
TEST=fast_build.sh -T
TEST=tools/run_lint.sh

Change-Id: Ic095877d0069ca917e9fb406b087cf458bcac78d
Reviewed-on: https://chromium-review.googlesource.com/1287469
Commit-Ready: Shuhei Takahashi <nya@chromium.org>
Tested-by: Shuhei Takahashi <nya@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
4 files changed
tree: 8f029c8a97bd45fa2461e76ff9550f1ba65d67a7
  1. docs/
  2. src/
  3. tools/
  4. .gitignore
  5. fast_build.sh
  6. PRESUBMIT.cfg
  7. README.md
README.md

Tast (go/tast)

Tast logo with Go gopher with green rubber PASS stamp

Tast is an integration-testing system for Chrome OS. Its focus is on maintainability, speed, and ease of interpreting and reproducing test results. It supports building, deploying, and running tests. It doesn't implement other functionality like managing labs of devices used for testing, scheduling tests, or storing test results.

To try it out, see the quickstart document. The overview is a good starting point for learning more about how the system is structured.

Directory structure

This repository is organized in accordance with the Go in Chromium OS suggestions.

  • src/chromiumos/
    • cmd/local_test_runner/ - main package for the local_test_runner executable used to execute local test bundles on-device.
    • cmd/remote_test_runner/ - main package for the remote_test_runner executable used to execute remote test bundles on the host system.
    • cmd/tast/ - main package for the tast executable used to build and run tests.
      • ... - Packages used only by the tast executable.
    • tast/... - Common packages shared by multiple executables.

Tests are located in the tast-tests repository.

Documentation

For more information, see the docs subdirectory.

GoDoc

Mailing list

The tast-users mailing list is used for discussions about writing and running tests.

Bug reports

Please file bug reports and feature requests in the Chromium issue tracker using the Tests>Tast component.

Other notes

The Go gopher concept and design was originally created by Renee French and is covered by the Creative Commons Attribution 3.0 license. The Tast logo above is also covered by the Creative Commons Attribution 3.0 license.