On 12/07/2024 03:31, Brian Inglis via Cygwin-apps wrote:
On 2024-07-10 15:05, Jon Turney wrote:
On 10/07/2024 00:35, Brian Inglis via Cygwin-apps wrote:
Description:
Elegant unit testing framework for C with support for mock objects,
derived from Google Cmockery.
License: Apache-2.0
I would like to provide a Cygwin package for cmocka, as it is now
required for testing my fortune-mod package.
For more information see the project home pages:
https://cmocka.org
It is packaged by major Linux and BSD distros:
https://repology.org/project/cmocka/versions
There is an error building the docs using doxygen, and that hangs, using
either cmake/make or cmake/ninja builds, locally and in GH CI (see
previous job 8341 - had to cancel after 3 hours), with current stable
and a local build of the latest doxygen release, and an issue has
been raised upstream.
I suspect this is a problem in cygwin.
There is (what sounds like) a similar problem when building libxcb's
documentation, in that it gets stuck somewhere in doxygen, waiting for
a load of dot.exe processes to finish even after they're all done.
I bisected that to working under 3.3.6 and failing under 3.4.0, but
there's nothing obviously related in that interval, and I haven't
found the time to bisect the commits...
Thanks Jon,
They agree with that suspicion in doxygen:
https://github.com/doxygen/doxygen/issues/10251
Looking at some hints and approaches for doxygen diagnostics and debugging:
-DDOXYGEN_DOT_NUM_THREADS=1
Eliminating all other job paramaters, that is the one that switches
hangs on and off.
When you have time, would you care to retry libxcb docs with that
CYGCMAKE_ARGS or equivalent?
I can see if upstream can help us narrow the code down to a simple STC
for us, or should we loop in, or punt to, Ken as maintainer? ;^>
I think the most productive investigation at this stage would be to
confirm my observation of the range of commits in cygwin which
introduces the regression, and try to bisect that
(Due to version skew, you'd probably have to hop in your time machine to
make an installation using 3.3.4, then use that to build and test
intermediate versions)