When attempting to setup Check to build and test in AppVeyor for MinGW and Cygwin it was found that at least MinGW fails to run check_check_export. When run it will raise a SIGSEGV. Attaching a debugger, the failure was found here:
#0 strlen
#1 vsnprintf
#2 _ck_assert_failed check_check_sub.c:959
#3 test_ck_assert_double_eq
Namely, the vsnprintf(buf, BUFSIZ, msg, ap) call was leading to the failure, where the msg was Assertion ‘%s’ failed: %s == %.*lg, %s == %.*lg.
Removing the double and ldouble tests (floating tests) allows check_check_export to pass.
Note that the same tests pass on a Windows 7 64 bit machine but fail on AppVeyor.
Notes about MinGW and the AppVeyor Windows VM:
- MinGW compiles for 32 bit, not 64 bit.
- The Windows VM runs Windows Server 2012 R2, 64 bit.
When attempting to setup Check to build and test in AppVeyor for MinGW and Cygwin it was found that at least MinGW fails to run check_check_export. When run it will raise a SIGSEGV. Attaching a debugger, the failure was found here:
Namely, the
vsnprintf(buf, BUFSIZ, msg, ap)call was leading to the failure, where themsgwasAssertion ‘%s’ failed: %s == %.*lg, %s == %.*lg.Removing the double and ldouble tests (floating tests) allows check_check_export to pass.
Note that the same tests pass on a Windows 7 64 bit machine but fail on AppVeyor.
Notes about MinGW and the AppVeyor Windows VM: