catchorg / catchorg/Catch2

Disabling signals is broken in V3

Open
#2,791 8 comments 2 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
21.5k
Forks
3.5k
Avg merge
3d 16h
Merged PRs (30d)
2

Description

**Describe the bug**
It is not possible to disable signals in Catch2 V3 when it is prebuild into a static library.

**Expected behavior**
In V2 it was possible to disable signals/SEH with defining `CATCH_CONFIG_NO_POSIX_SIGNALS` and `CATCH_CONFIG_NO_WINDOWS_SEH` because it was a header only library. It would be nice if this would also possible for V3 without the need to build the library yourself.

**Reproduction steps**
The problem is also described here:
https://github.com/catchorg/Catch2/issues/1295#issuecomment-925820850
The example code is trying to disable the signals like in V2, but in V3 these defines need to be defined when building the library itself.

**Platform information:**
- OS: **Linux / Windows**
- Catch version: **v3**

**Additional context**
I'm maintaining a fork of [Sourcetrail](https://github.com/petermost/Sourcetrail) which contains tests for JNI/JVM function calls. The JVM is internally using signals and this will lead to test failures because Catch2 intercepts these signals and reports a SIGSEGV.

I probably don't need to mention this, but this issue might become more urgent when Debian/Ubuntu starts to deploy a prebuild Catch2 V3 via their repositories.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.