Some thoughts about our tests and the build time
Stephan Bergmann
sbergman at redhat.com
Wed May 25 07:37:46 UTC 2016
On 05/24/2016 06:21 PM, Bjoern Michaelsen wrote:
> Along with that, we could then kill the "make build-nocheck" travesty and have
> 'make' and 'make build' each do the same regardless of if its on toplevel and
> in a module? Right? Please?
I'm actually happily using build-nocheck in at least two scenarios quite
regularly:
* Doing a full rebuild after adding a new Clang plugin (esp. if it is an
automatic rewriter) is often an iterative process---start a full "make",
see where it fails, fix LO code, adapt the plugin if necessary, continue
with "make". Building (phony) test targets during each iteration can be
time consuming, so I often do the iterative part with "make
build-nocheck" and only do a full "make check" (catching any---typically
few---remaining issues in test-only code) once at the end.
* Running executables built with ASan/UBSan instrumentation tends to be
memory-intensive, so for such a build I typically do
make -j12 build-nocheck && make -j4 check
to quickly get everything built, but execute the tests only with reduced
parallelism, to not run out of memory. (This does execute any helpers
built during the build during the full-parallelism phase, but they
appear to be "rare" enough to never have caused OOM problems for me in
practice. It would remain to be seen whether the---true---unit tests
run during plain "make" would be lightweight enough to also not cause
problems when run in the full-parallelism phase---but still they would
needlessly be run during both phases if we remove build-nocheck.)
To me at least, the build-nocheck target looks like a useful tool for
developers, not a "travesty".
More information about the LibreOffice
mailing list