[lucicfg] Be careful when mixing assert.fails(...) and fail(...) builtin.

fail(...) builtin uses a thread local state (FailureCollector) to capture
structured information about an error (because Starlark stringifies all errors
returned by a builtin).

assert.fails(...) "catches" starlark errors, but it doesn't clear the captured
error in the thread local state. Fixing this would require forking assert
library, which I'd like to avoid.

So instead just don't use failure collector in tests that don't care about
extra information (like custom stack trace) attached to errors. In lucicfg only
tests that use "Expect errors" blocks care about custom stack traces, and they
generally do not use 'assert' library.

R=tandrii@chromium.org
BUG=833946

Change-Id: I06d9f8fe48c6720070141a4d2e2bcd3d9d88584a
Reviewed-on: https://chromium-review.googlesource.com/c/1397345
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
4 files changed
tree: 4d35fc35c84a7cc8ba1399de2201d0437947fe0f
  1. appengine/
  2. auth/
  3. buildbucket/
  4. cipd/
  5. client/
  6. common/
  7. config/
  8. cq/
  9. dm/
  10. examples/
  11. gce/
  12. grpc/
  13. hardcoded/
  14. infra/
  15. logdog/
  16. luci_notify/
  17. lucicfg/
  18. lucictx/
  19. machine-db/
  20. milo/
  21. mmutex/
  22. mp/
  23. scheduler/
  24. scripts/
  25. server/
  26. starlark/
  27. tokenserver/
  28. tools/
  29. tumble/
  30. vpython/
  31. web/
  32. .travis.yml
  33. AUTHORS
  34. codereview.settings
  35. CONTRIBUTING.md
  36. CONTRIBUTORS
  37. LICENSE
  38. OWNERS
  39. pre-commit-go.yml
  40. PRESUBMIT.py
  41. README.md
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

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

Contributing

Contributing uses the same flow as Chromium contributions.