Improved ijar shell tests

The ijar tests were a bit bloated so using our shell test framework
to separate those tests into individual function and enable sharding.
The ijar tests are still ~70s on a macbook with a SSD drive (compared
to ~140s before).

Those 70s are spent in tests that write big files and test ijar
behavior with those big files. In those tests, disk IOs dominate
time. Timing the various operation gave that jaring the 2.2Gb large
file takes ~17s each time (operation we do twice). Simply creating
that file takes approximatively 10s. Reducing the number of
operations in that test would reduce significantly its duration.
Unfortunately, that would reduce the coverage of the test.

--
Change-Id: Idc817ab32b78b69bde8dd95ddedbcf6b9f12ee3f
MOS_MIGRATED_REVID=92723971
3 files changed
tree: b712369cd8511fc57c62cfb456f252b1524704a2
  1. .travis/
  2. examples/
  3. scripts/
  4. site/
  5. src/
  6. third_party/
  7. tools/
  8. .gitignore
  9. .travis.yml
  10. bootstrap_test.sh
  11. compile.sh
  12. CONTRIBUTING.md
  13. LICENSE.txt
  14. README.md
  15. WORKSPACE
README.md

Bazel (Alpha)

{Fast, Correct} - Choose two

Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google‘s software, and thus it has been designed to handle build problems present in Google’s development environment, including:

  • A massive, shared code repository, in which all software is built from source. Bazel has been built for speed, using both caching and parallelism to achieve this. Bazel is critical to Google's ability to continue to scale its software development practices as the company grows.

  • An emphasis on automated testing and releases. Bazel has been built for correctness and reproducibility, meaning that a build performed on a continuous build machine or in a release pipeline will generate bitwise-identical outputs to those generated on a developer's machine.

  • Language and platform diversity. Bazel's architecture is general enough to support many different programming languages within Google, and can be used to build both client and server software targeting multiple architectures from the same underlying codebase.

Find more background about Bazel in our FAQ.

Getting Started

Build Status