commit | b9fd6f2c109c99d6523c0da92a5663f6ac4fdd69 | [log] [tgz] |
---|---|---|
author | ulfjack <ulfjack@google.com> | Thu Apr 04 03:58:21 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Apr 04 04:00:02 2019 -0700 |
tree | 1ccfada75196981d6eee987f36237a0068588fd0 | |
parent | 6793b9358e51f0be8ea02376d530a847e2f3e2d4 [diff] |
Simplify Test summary creation - return a TestSummary rather than a Builder - only call build() once - remove some dead code - avoid creating some unnecessary intermediate lists This code is performance critical in that the thread executing it is holding a lock on AggregatingTestListener. On builds which have a lot of executing tests (e.g., high values of --runs_per_test) this can lead to significant lock contention. It might be better to refactor this code to just store the received test attempt results and only aggregate when all attempts for a specific test are done, rather than trying to do incremental work. That should make the code simpler, although it might be a bit slower, but allows multiple test reports to process in parallel. PiperOrigin-RevId: 241903073
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds 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.
Follow our tutorials:
See CONTRIBUTING.md
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.