Add --build-tool-options to pass options to make/ninja/etc. (#25)

https://github.com/llvm/llvm-lnt/commit/768874171529d31d12adb032df57b1c5f1c1fa77
stopped us always using make but in the process removed the "-k" flag.

This flag causes make to carry on even when some targets fail. This is
very important for running the test suite in CI. Without it, a single
build failure marks thousands of subsequent programs as missing, as if
they too had failed to compile.

If I deliberately break a single source test the results currently are:
```
Total Discovered Tests: 3424
  Passed            :  378 (11.04%)
  Executable Missing: 3046 (88.96%)
Import succeeded.
```
This is what they should be:
```
Executable Missing Tests (1):
  test-suite :: SingleSource/UnitTests/2003-04-22-Switch.test

Total Discovered Tests: 3424
  Passed            : 3423 (99.97%)
  Executable Missing:    1 (0.03%)
Import succeeded.
```

cmake --build does not have its own -k option, so we have to pass it
after -- to the native tool. Unfortunately ninja's -k takes a number,
so ninja -k 0 is equivalent to make -k. Therefore we can't just
always add "-- -k" here.

Instead I've added a new option --build-tool-options where you can
pass any arguments you want. The build bots will use this to pass
"-k" to make, as we know for sure they use make.

Anything using ninja will also want to pass "-k 0" to get the same
effect.
2 files changed
tree: 84a530f0299680c8db623bcfe70dda73248a42d0
  1. deployment/
  2. docker/
  3. docs/
  4. examples/
  5. lnt/
  6. schemas/
  7. tests/
  8. utils/
  9. .arcconfig
  10. .gitignore
  11. LICENSE.TXT
  12. MANIFEST.in
  13. mypy.ini
  14. Procfile
  15. README.md
  16. requirements.client.txt
  17. requirements.server.txt
  18. requirements.txt
  19. setup.cfg
  20. setup.py
  21. tox.ini
README.md

LLVM “Nightly Test” Infrastructure

This directory and its subdirectories contain the LLVM nightly test infrastructure. This is technically version “4.0” of the LLVM nightly test architecture.

The infrastructure has the following layout:

$ROOT/lnt - Top-level Python ‘lnt’ module

$ROOT/lnt/server/db - Database schema, utilities, and examples of the LNT plist format.

$ROOT/docs - Sphinx documentation for LNT.

$ROOT/tests - Tests for the infrastructure.

For more information, see the web documentation, or docs/.

Testing

Testing is done by running tox from the top-level directory. It runs the tests for Python 3 and checks code style.