commit | 980485327acf7d09b8f21f64154466cf06e8d9ce | [log] [tgz] |
---|---|---|
author | Robert Iannucci <iannucci@chromium.org> | Wed May 08 21:19:51 2024 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed May 08 21:19:51 2024 |
tree | be085b01483800133b0adcd9b0007d4ab81040e8 | |
parent | 2311e6347449be2e313bde956d22e56b0bc12984 [diff] |
[testing] Make spellings of all symbols flow better. Previously you could either import the `assert` package with dot imports to get Assert/Check (and their cryptic "L" variants)... but dot importing is not great. Or you could not dot import and then you had `assert.Assert` (ew) or `assert.Check` (what?). This package renames `assert` to `truth`, and renames the "L" variants to the more verbose "Loosely". This gives the names `truth.Assert` and `truth.CheckLoosely`, which are better. In addition, this also makes a new `assert` and `check` package, which each export `That` and `Loosely` symbols. This results in fairly natural spellings like: check.Loosely(t, myCustomInt(10), should.Equal(10)) assert.That(t, "something", should.HavePrefix("some")) Which I believe are concise and clear, and don't require polluting the global namespace with any dot imports. This additionally removes the custom `testing.TB` subset interface, which was only done to avoid importing "testing". Removing it just results in one fewer weird thing to remember. R=gregorynisbet@google.com Bug: 319730573 Change-Id: Ibc237811e70ed1cf2dfcf8fb999ea51c63f42acf Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/5527814 Auto-Submit: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Robbie Iannucci <iannucci@chromium.org> Reviewed-by: Gregory Nisbet <gregorynisbet@google.com>
LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:
fetch infra cd infra/go eval `./env.py` cd src/go.chromium.org/luci
It is now possible to directly install tools with go install:
go install go.chromium.org/luci/auth/client/cmd/...@latest go install go.chromium.org/luci/buildbucket/cmd/...@latest go install go.chromium.org/luci/cipd/client/cmd/...@latest go install go.chromium.org/luci/client/cmd/...@latest go install go.chromium.org/luci/cv/cmd/...@latest go install go.chromium.org/luci/gce/cmd/...@latest go install go.chromium.org/luci/grpc/cmd/...@latest go install go.chromium.org/luci/logdog/client/cmd/...@latest go install go.chromium.org/luci/luci_notify/cmd/...@latest go install go.chromium.org/luci/lucicfg/cmd/...@latest go install go.chromium.org/luci/luciexe/legacy/cmd/...@latest go install go.chromium.org/luci/mailer/cmd/...@latest go install go.chromium.org/luci/mmutex/cmd/...@latest go install go.chromium.org/luci/resultdb/cmd/...@latest go install go.chromium.org/luci/server/cmd/...@latest go install go.chromium.org/luci/swarming/cmd/...@latest go install go.chromium.org/luci/tokenserver/cmd/...@latest go install go.chromium.org/luci/tools/cmd/...@latest
Contributing uses the same flow as Chromium contributions.