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