Created attachment 250128 [details] Patch for openexr Only build test suite when requested
Daniel, thanks for the contribution. I understand the purpose and support it, but bottom line, we lose ctest's -j flag, massively prolonging the test time, for me from under 100 s to beyond 500 s. For attended builds, this isn't right. I haven't fully understood if it's our cmake.mk that should pass this down, or an artifact of OpenEXR, or what. The "ctest" based at any rate does not directly call into ctest, but into ninja, but the way we do invoke it from cmake.mk also lacks a REDUCTION/LIMITATION of parallelity through the make jobs number. So I would say "needs revision". Trivially adding do-test back in seems at first glance to interfere with the CMAKE_TESTING variables. This is a snapshot with the patch in place: -+= 12126 mandree make test \-+- 13207 mandree ninja -v test \-+- 13341 mandree /usr/local/bin/ctest --force-new-ctest-process \--- 13537 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRTest testLargeDataWindowOffsets And this without: -+= 13683 mandree make test \-+- 14892 mandree ctest -j 16 |--- 14903 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testAttrStrings |--- 14904 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testAttrStringVectors |--- 14916 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testOpenDeep |--- 14920 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testReadDeep |--- 14936 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testNoCompression |--- 14937 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testRLECompression |--- 14938 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testZIPCompression |--- 14939 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testZIPSCompression |--- 14940 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testPIZCompression |--- 14941 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testPXR24Compression |--- 14942 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testB44Compression |--- 14943 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testB44ACompression |--- 14944 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testDWAACompression |--- 14945 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRCoreTest testDWABCompression |--- 14954 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRTest testCompositeDeepScanLine \--- 14955 mandree /usr/ports/graphics/openexr/work/.build/bin/OpenEXRTest testCompression So, what do we do to keep the -j16 or whatever would be in _MAKE_JOBS in the ctest invocation?
should 278533's patch be committed - that would fix the performance regression; after that (or equivalent) will have happened, we can commit this, too.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=2ce9c15f88b83c14cab7ccb2114c70f7cff7aa77 commit 2ce9c15f88b83c14cab7ccb2114c70f7cff7aa77 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-04-21 09:02:00 +0000 Commit: Matthias Andree <mandree@FreeBSD.org> CommitDate: 2024-05-03 18:57:13 +0000 graphics/openexr: Only build test suite when requested In order to avoid ctest performance regressions, we also required commit cbee39bcd1a2472b8f3e24754f5bb3a3429b79a0 from PR 278533. PR: 278500 graphics/openexr/Makefile | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)