Try to deflake MacOSXFsEventsDiffAwarenessTest.

This test was using a short sleep to wait for fsevents to propagate and,
of course, sometimes we exhaust this timeout without seeing the events
(if the machine is very busy, for example).  Or at least that's the
theory behind why this test has become flaky now.

Fix this by retrying the query a few times so that we wait for a very
short amount of time in the common case--but with the ability to tolerate
delays.

While doing this, significantly change how the test works to improve
readability and to cope with the fact that retrying the getDiff calls
requires changing the algorithm we use to check for success (given that
the arguments to this function have to be sequential views).

Tested: Manually ran this test on my Mac with --runs_per_test=100 and
with a very short sleep in each iteration (10ms instead of the 100ms
I'm adding here).

RELNOTES: None.
PiperOrigin-RevId: 294720397
1 file changed
tree: ed7aa76241d353467387cd3d23d1b93e229229cf
  1. .bazelci/
  2. examples/
  3. scripts/
  4. site/
  5. src/
  6. third_party/
  7. tools/
  8. .bazelrc
  9. .gitattributes
  10. .gitignore
  11. AUTHORS
  12. BUILD
  13. CHANGELOG.md
  14. CODEOWNERS
  15. combine_distfiles.py
  16. combine_distfiles_to_tar.sh
  17. compile.sh
  18. CONTRIBUTING.md
  19. CONTRIBUTORS
  20. distdir.bzl
  21. ISSUE_TEMPLATE.md
  22. LICENSE
  23. README.md
  24. WORKSPACE
README.md

Bazel

{Fast, Correct} - Choose two

Build and test software of any size, quickly and reliably.

  • Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.

  • One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.

  • Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.

  • Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.

Getting Started

Documentation

Contributing to Bazel

See CONTRIBUTING.md

Build status