Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: replace occurences of strncpy to strlcpy #4636

Merged
merged 22 commits into from
Jan 8, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
4251e53
feat: rename strncpy to strlcpy; added tests
philprime Dec 13, 2024
3926467
add changelog
philprime Dec 13, 2024
db5da99
add unit test for CPPException description
philprime Dec 16, 2024
4c0eb5e
Merge branch 'main' into philprime/strncpy-replacement
philprime Dec 16, 2024
49be080
add test case for deletePathContents with too long path
philprime Dec 16, 2024
ce9668b
add unit test for oncrash write to file
philprime Dec 16, 2024
9b7cdec
Merge remote-tracking branch 'origin/main' into philprime/strncpy-rep…
philprime Jan 2, 2025
536cc1a
Fix test cases
philprime Jan 2, 2025
e3e0127
fix: testcase of cpp exception error capturing
philprime Jan 2, 2025
ef8f619
fix: fix replacement in SentryCrashJSONCodec
philprime Jan 2, 2025
332142b
Merge remote-tracking branch 'origin/main' into philprime/strncpy-rep…
philprime Jan 2, 2025
b8efac1
fix: changelog
philprime Jan 2, 2025
6c67afd
fix: add comments why strncpy needs to be used for jsoncodec decoding
philprime Jan 2, 2025
7c9a4ae
Merge branch 'main' into philprime/strncpy-replacement
armcknight Jan 2, 2025
c9074cb
Merge remote-tracking branch 'origin/main' into philprime/strncpy-rep…
philprime Jan 7, 2025
bce122c
fix merge conflict in changelog
philprime Jan 7, 2025
923aa32
rename test handler to mock; add truncation check in test
philprime Jan 7, 2025
889c451
Remove copypasta
philprime Jan 7, 2025
ecf7e80
remove ununecessary docs
philprime Jan 7, 2025
ee88fa4
compact vertical spacing
philprime Jan 7, 2025
80f5dc9
Update Tests/SentryTests/SentryCrash/SentryCrashFileUtils_Tests.m
philprime Jan 7, 2025
820d18b
add workflow dispatch for testflight upload
philprime Jan 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix test cases
  • Loading branch information
philprime committed Jan 2, 2025
commit 536cc1adc2f436d109377159c24fbbf0c532924c
Original file line number Diff line number Diff line change
Expand Up @@ -1256,7 +1256,7 @@ decodeElement(const char *const name, SentryCrashJSONDecodeContext *context)
SENTRY_ASYNC_SAFE_LOG_DEBUG("Number is too long.");
return SentryCrashJSON_ERROR_DATA_TOO_LONG;
}
strlcpy(context->stringBuffer, start, len);
strncpy(context->stringBuffer, start, len);

sscanf(context->stringBuffer, "%lg", &value);

Expand Down
84 changes: 84 additions & 0 deletions Tests/SentryTests/Recording/SentryCrashCTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,71 @@ class SentryCrashCTests: XCTestCase {
)
}

func testOnCrash_crashedDuringCrashHandling_shouldRewriteOldCrashAsRecrashReportToDisk() throws {
// -- Arrange --
var appName = "SentryCrashCTests"
.cString(using: .utf8)!
let workDir = URL(fileURLWithPath: NSTemporaryDirectory())
.appendingPathComponent("SentryCrashCTests-\(UUID().uuidString)")
var installPath = workDir
.path
.cString(using: .utf8)!
let expectedReportsDir = workDir
.appendingPathComponent("Reports")

// Smoke test the existence of the directory
XCTAssertFalse(FileManager.default.fileExists(
atPath: expectedReportsDir.path
))

// Installing the sentrycrash will setup the exception handler
sentrycrash_uninstall()
sentrycrash_install(&appName, &installPath)

// Initial Crash Context
var initialMonitorContext = SentryCrash_MonitorContext()
initialMonitorContext.crashedDuringCrashHandling = false // the first context simulates the initial crash

// Re-created Crash
// The following crash context is a minimal version of the crash context created in the `SentryCrashMonitor_NSException`
var recrashMachineContext = SentryCrashMachineContext()
sentrycrashmc_getContextForThread(
sentrycrashthread_self(),
&recrashMachineContext,
true
)
var cursor = SentryCrashStackCursor()
let callstack = UnsafeMutablePointer<UInt>.allocate(capacity: 0)
sentrycrashsc_initWithBacktrace(&cursor, callstack, 0, 0)

var recrashMonitorContext = SentryCrash_MonitorContext()
recrashMonitorContext.crashedDuringCrashHandling = true
recrashMonitorContext.crashType = SentryCrashMonitorTypeNSException
withUnsafeMutablePointer(to: &recrashMachineContext) { ptr in
recrashMonitorContext.offendingMachineContext = ptr
}
withUnsafeMutablePointer(to: &cursor) { ptr in
recrashMonitorContext.stackCursor = UnsafeMutableRawPointer(ptr)
}

// -- Act --
// Calling the handle exception will trigger the onCrash handler
sentrycrashcm_handleException(&initialMonitorContext)

// After the first handler, the report will be written to disk.
// Read it to memory now, as the next handler will edit the file.
let decodedReport = try readFirstReportFromDisk(reportsDir: expectedReportsDir)

// Calling the handler again with 'crashedDuringCrashHandling' will rewrite the crash report
sentrycrashcm_handleException(&recrashMonitorContext)

// -- Assert --
let decodedRecrashReport = try readFirstReportFromDisk(reportsDir: expectedReportsDir)

let recrashReport = decodedRecrashReport["recrash_report"] as! NSDictionary
XCTAssertEqual(recrashReport, decodedReport)
}

func testOnCrash_crashedDuringCrashHandling_installFilePathTooLong_shouldNotWriteToDisk() throws {
// -- Arrange --
var appName = "SentryCrashCTests"
Expand Down Expand Up @@ -174,6 +239,7 @@ class SentryCrashCTests: XCTestCase {
sentrycrashsc_initWithBacktrace(&cursor, callstack, 0, 0)

var recrashMonitorContext = SentryCrash_MonitorContext()
recrashMonitorContext.crashedDuringCrashHandling = true
recrashMonitorContext.crashType = SentryCrashMonitorTypeNSException
withUnsafeMutablePointer(to: &recrashMachineContext) { ptr in
recrashMonitorContext.offendingMachineContext = ptr
Expand All @@ -195,4 +261,22 @@ class SentryCrashCTests: XCTestCase {
atPath: expectedReportsDir.path
))
}

// MARK: - Helper

func readFirstReportFromDisk(reportsDir: URL) throws -> NSDictionary {
let reportUrls = try FileManager.default
.contentsOfDirectory(atPath: reportsDir.path)
XCTAssertEqual( reportUrls.count, 1)
XCTAssertTrue(reportUrls[0].hasPrefix("SentryCrashCTests-report-"))
XCTAssertTrue(reportUrls[0].hasSuffix(".json"))

let reportData = try Data(contentsOf: reportsDir.appendingPathComponent(reportUrls[0]))
let decodedReport = try SentryCrashJSONCodec.decode(
reportData,
options: SentryCrashJSONDecodeOptionNone
) as! NSDictionary

return decodedReport
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,53 +67,36 @@
- (void)testCallHandler_shouldCaptureExceptionDescription
{
// -- Arrange --
waitHandleExceptionHandlerExpectation =
[self expectationWithDescription:@"Wait for C++ exception"];

sentrycrashcm_setEventCallback(testHandleExceptionHandler);
SentryCrashMonitorAPI *api = sentrycrashcm_cppexception_getAPI();

const char *errorMessage = "Example Error";
NSString *errorMessage = @"Example Error";

// -- Act --
// Create a thread that will throw an uncaught exception
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
api->setEnabled(true);
try {
throw std::runtime_error(errorMessage);
} catch (...) {
// Rethrowing without catching will trigger std::terminate()
std::rethrow_exception(std::current_exception());
}
});
api->setEnabled(true);
try {
throw std::runtime_error(errorMessage.UTF8String);
} catch (...) {
// This exception handler sets the error context of the termination handler
// Instead of rethrowing, directly call the termination handler
std::get_terminate()();
}

// -- Assert --
[self waitForExpectationsWithTimeout:5
handler:^(NSError *_Nullable error) {
SentryCrash_MonitorContext *context
= capturedHandleExceptionContext;

// Cleanup
api->setEnabled(false);
sentrycrashcm_setEventCallback(NULL);
capturedHandleExceptionContext = NULL;

// Check for expectation failures
if (error) {
XCTFail(@"Expectation failed with error: %@", error);
}

// Assertions
XCTAssertTrue(strcmp(context->crashReason, errorMessage));
}];
SentryCrash_MonitorContext *context = capturedHandleExceptionContext;

// Cleanup
api->setEnabled(false);
sentrycrashcm_setEventCallback(NULL);
capturedHandleExceptionContext = NULL;

NSString *crashReason = [[NSString alloc] initWithUTF8String:context->crashReason];
XCTAssertEqualObjects(crashReason, errorMessage);

Check failure on line 94 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit macOS - Xcode 15.4 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_shouldCaptureExceptionDescription] : ((crashReason) equal to (errorMessage)) failed: ("") is not equal to ("Example Error")

Check failure on line 94 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit macOS - Xcode 16.1 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_shouldCaptureExceptionDescription] : ((crashReason) equal to (errorMessage)) failed: ("") is not equal to ("Example Error")

Check failure on line 94 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit Catalyst - Xcode 15.4 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_shouldCaptureExceptionDescription] : ((crashReason) equal to (errorMessage)) failed: ("") is not equal to ("Example Error")

Check failure on line 94 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit iOS - Xcode 16.1 - OS 18.1

-[SentryCrashMonitor_CppException_Tests testCallHandler_shouldCaptureExceptionDescription] : ((crashReason) equal to (errorMessage)) failed: ("") is not equal to ("Example Error")

Check failure on line 94 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit Catalyst - Xcode 16.1 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_shouldCaptureExceptionDescription] : ((crashReason) equal to (errorMessage)) failed: ("") is not equal to ("Example Error")

Check failure on line 94 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit iOS - Xcode 15.4 - OS 17.2

-[SentryCrashMonitor_CppException_Tests testCallHandler_shouldCaptureExceptionDescription] : ((crashReason) equal to (errorMessage)) failed: ("") is not equal to ("Example Error")

Check failure on line 94 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit iOS - Xcode 14.3 - OS 16.4

-[SentryCrashMonitor_CppException_Tests testCallHandler_shouldCaptureExceptionDescription] : ((crashReason) equal to (errorMessage)) failed: ("") is not equal to ("Example Error")
}

- (void)testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription
{
// -- Arrange --
waitHandleExceptionHandlerExpectation =
[self expectationWithDescription:@"Wait for C++ exception"];

sentrycrashcm_setEventCallback(testHandleExceptionHandler);
SentryCrashMonitorAPI *api = sentrycrashcm_cppexception_getAPI();

Expand All @@ -124,38 +107,28 @@

// -- Act --
// Create a thread that will throw an uncaught exception
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
api->setEnabled(true);
try {
throw std::runtime_error(errorMessage.UTF8String);
} catch (...) {
// Rethrowing without catching will trigger std::terminate()
std::rethrow_exception(std::current_exception());
}
});
api->setEnabled(true);
try {
throw std::runtime_error(errorMessage.UTF8String);
} catch (...) {
// This exception handler sets the error context of the termination handler
// Instead of rethrowing, directly call the termination handler
std::get_terminate()();
}

// -- Assert --
NSString *truncatedErrorMessage = [@"" stringByPaddingToLength:1000
withString:@"A"
startingAtIndex:0];
[self waitForExpectationsWithTimeout:5
handler:^(NSError *_Nullable error) {
SentryCrash_MonitorContext *context
= capturedHandleExceptionContext;

// Cleanup
api->setEnabled(false);
sentrycrashcm_setEventCallback(NULL);
capturedHandleExceptionContext = NULL;

// Check for expectation failures
if (error) {
XCTFail(@"Expectation failed with error: %@", error);
}

// Assertions
XCTAssertTrue(strcmp(
context->crashReason, truncatedErrorMessage.UTF8String));
}];
SentryCrash_MonitorContext *context = capturedHandleExceptionContext;

// Cleanup
api->setEnabled(false);
sentrycrashcm_setEventCallback(NULL);
capturedHandleExceptionContext = NULL;

// Assertions
NSString *crashReason = [[NSString alloc] initWithUTF8String:context->crashReason];
XCTAssertEqualObjects(crashReason, truncatedErrorMessage);

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit macOS - Xcode 15.4 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit macOS - Xcode 16.1 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit tvOS - Xcode 15.4 - OS 17.5

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("0uUk�") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit Catalyst - Xcode 15.4 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit tvOS - Xcode 16.1 - OS 18.1

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit iOS - Xcode 16.1 - OS 18.1

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit Catalyst - Xcode 16.1 - OS latest

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit iOS - Xcode 15.4 - OS 17.2

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")

Check failure on line 132 in Tests/SentryTests/SentryCrash/SentryCrashMonitor_CppException_Tests.mm

View workflow job for this annotation

GitHub Actions / Unit iOS - Xcode 14.3 - OS 16.4

-[SentryCrashMonitor_CppException_Tests testCallHandler_descriptionLongerThanBuffer_shouldCaptureTruncatedExceptionDescription] : ((crashReason) equal to (truncatedErrorMessage)) failed: ("") is not equal to ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
}
@end
2 changes: 1 addition & 1 deletion scripts/.clang-format-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
19.1.5
19.1.6
Loading