I noticed that Travis CI will soldier onward if a step in its script: block fails. This wastes build time when there is an error somewhere early on in the testing process
For example, in the main C++ build, if travis_script_cpp.sh fails, then the subsequent steps will continue.
It seems the way to deal with this is to add || travis_terminate 1 to lines that can fail
I also found this discussion