approvals / ApprovalTests.cpp

Native ApprovalTests for C++ on Linux, Mac and Windows
https://approvaltestscpp.readthedocs.io/en/latest/
Apache License 2.0
318 stars 51 forks source link

Boost_Tests crashes on Cygwin in AppVeyor with multiple translation units #120

Closed claremacrae closed 3 years ago

claremacrae commented 4 years ago

Since dividing Boost_Tests in to two separate source files, the test has been failing on Cygwin in AppVeyor.

The output in the logs is:

test 1
    Start 1: Boost_Tests

1: Test command: C:\projects\approvaltests-cpp\tests\Boost_Tests\Boost_Tests.exe
1: Test timeout computed to be: 10000000
1:       0 [main] Boost_Tests 1498 cygwin_exception::open_stackdumpfile: Dumping stack trace to Boost_Tests.exe.stackdump
1/4 Test #1: Boost_Tests ......................***Failed    0.16 sec

It does not fail on my own 64-bit Cygwin build, which is making it hard to track it down.

claremacrae commented 4 years ago

Example failing build: https://ci.appveyor.com/project/isidore/approvaltests-cpp/builds/32151028/job/ini75yj9o38xu9l0

claremacrae commented 4 years ago

When I combine the main.cpp and the test file in to one source file, the test passes in Appveyor Cygwin build.

claremacrae commented 4 years ago

This looks possible similar to https://github.com/boostorg/test/issues/126 - which links to https://svn.boost.org/trac10/ticket/13407 - which suggests that the bug was fixed in Boost 1.67.0 - and Cygwin is providing Boost 1.66.0! 😞

claremacrae commented 4 years ago

This is still a problem. For now, we have disabled all the Approval tests in Boost_Tests on Cygwin, and made it run a trivial test instead.

This needs investigation later.

claremacrae commented 3 years ago

Closing, as the test works fine in Cygwin on GitHub Actions