A test that reaches a specific number of assertion calls freezes. It happens when 4096th assertion is called.
If I kill the test by Ctrl+C it reports (that is correct):
Completed "main": 8191 passes, 0 failures, 1 exception.
So it looks like there is something wrong with handling of child processes. But when executing by run_single_test() it hangs as well...
Tested on platforms:
* Linux 3.2.1-2-ARCH #1 SMP PREEMPT Mon Jan 23 12:50:27 UTC 2012 i686 Intel(R) Atom(TM) CPU N550 @ 1.50GHz GenuineIntel GNU/Linux
* Linux2.6.32.53 #1 SMP Mon Jan 9 13:08:18 CET 2012 x86_64 x86_64 x86_64 GNU/Linux
Version: cgreen-1.0.0-beta2
Example with passing test (4095 loops) and freezing one (4096 loops).
There is a potential fix for the problem since r543, so I tried it on Cygwin and it partially works, giving an error for some cases, but the runner never returns.
So here's a test case to play with on other systems to figure out whether it works. It uses the more modern syntax and the cgreen-runner.
Ok, so 4095 is the limit on MacOSX 10.10.1 with Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn), Target: x86_64-apple-darwin14.0.0, Thread model: posix
Tests work ok, CGREEN_EXCEPTION cast for too many assertions. Runner finishes also, so
https://sourceforge.net/p/cgreen/bugs/11/#6cbb is a Cygwin-problem...