diff --git a/Sources/KSCrashRecording/Monitors/KSCrashMonitor_Signal.c b/Sources/KSCrashRecording/Monitors/KSCrashMonitor_Signal.c index 639ec61d1..1072dc254 100644 --- a/Sources/KSCrashRecording/Monitors/KSCrashMonitor_Signal.c +++ b/Sources/KSCrashRecording/Monitors/KSCrashMonitor_Signal.c @@ -239,17 +239,32 @@ static void addContextualInfoToEvent(struct KSCrash_MonitorContext* eventContext } } +#else + +static void setEnabled(bool isEnabled) +{ + // Not supported +} + +static bool isEnabled(void) +{ + return false; +} + +static void addContextualInfoToEvent(struct KSCrash_MonitorContext* eventContext) +{ + // Not supported +} + #endif KSCrashMonitorAPI* kscm_signal_getAPI(void) { static KSCrashMonitorAPI api = { -#if KSCRASH_HAS_SIGNAL .setEnabled = setEnabled, .isEnabled = isEnabled, .addContextualInfoToEvent = addContextualInfoToEvent -#endif }; return &api; } diff --git a/Tests/KSCrashRecordingCoreTests/KSCPU_Tests.m b/Tests/KSCrashRecordingCoreTests/KSCPU_Tests.m index 7a0eb143f..5229f869c 100644 --- a/Tests/KSCrashRecordingCoreTests/KSCPU_Tests.m +++ b/Tests/KSCrashRecordingCoreTests/KSCPU_Tests.m @@ -27,12 +27,14 @@ #import +#import "KSSystemCapabilities.h" #import "KSCPU.h" #import "KSMachineContext.h" #import "TestThread.h" #import +#if KSCRASH_HAS_THREADS_API @interface KSCPU_Tests : XCTestCase @end @@ -97,3 +99,5 @@ - (void) testStackGrowDirection } @end + +#endif diff --git a/Tests/KSCrashRecordingTests/KSCrashMonitor_Signal_Tests.m b/Tests/KSCrashRecordingTests/KSCrashMonitor_Signal_Tests.m index c8a14a440..22ca45745 100644 --- a/Tests/KSCrashRecordingTests/KSCrashMonitor_Signal_Tests.m +++ b/Tests/KSCrashRecordingTests/KSCrashMonitor_Signal_Tests.m @@ -27,15 +27,17 @@ #import +#import "KSSystemCapabilities.h" #import "KSCrashMonitorContext.h" #import "KSCrashMonitor_Signal.h" - @interface KSCrashMonitor_Signal_Tests : XCTestCase @end @implementation KSCrashMonitor_Signal_Tests +#if KSCRASH_HAS_SIGNAL + - (void) testInstallAndRemove { KSCrashMonitorAPI* api = kscm_signal_getAPI(); @@ -61,4 +63,21 @@ - (void) testDoubleInstallAndRemove XCTAssertFalse(api->isEnabled()); } +#else + +- (void) testNoImplementation +{ + KSCrashMonitorAPI* api = kscm_signal_getAPI(); + + KSCrash_MonitorContext context; + api->addContextualInfoToEvent(&context); + + api->setEnabled(true); + XCTAssertFalse(api->isEnabled()); + api->setEnabled(false); + XCTAssertFalse(api->isEnabled()); +} + +#endif + @end