Bug 278500 - graphics/openexr: Convert to cmake:testing
Summary: graphics/openexr: Convert to cmake:testing
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Matthias Andree
URL:
Keywords:
Depends on: 278533
Blocks:
  Show dependency treegraph
 
Reported: 2024-04-21 09:02 UTC by Daniel Engberg
Modified: 2024-05-03 18:58 UTC (History)
0 users

See Also:
mandree: maintainer-feedback+


Attachments
Patch for openexr (1.07 KB, patch)
2024-04-21 09:02 UTC, Daniel Engberg
mandree: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Engberg freebsd_committer freebsd_triage 2024-04-21 09:02:56 UTC
Created attachment 250128 [details]
Patch for openexr

Only build test suite when requested
Comment 1 Matthias Andree freebsd_committer freebsd_triage 2024-04-22 11:50:51 UTC
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?
Comment 2 Matthias Andree freebsd_committer freebsd_triage 2024-04-22 20:18:06 UTC
should 278533's patch be committed - that would fix the performance regression; after that (or equivalent) will have happened, we can commit this, too.
Comment 3 commit-hook freebsd_committer freebsd_triage 2024-05-03 18:57:51 UTC
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(-)