Skip to content

Conversation

@tustanivsky
Copy link
Collaborator

@tustanivsky tustanivsky commented Oct 27, 2025

This PR adds integration tests for the Sentry Unreal SDK using PowerShell's Pester framework. The tests validate end-to-end functionality by running the SentryPlayground sample application and verifying that events are properly captured and sent to Sentry.

Key Changes

Integration Test Framework:

  • PowerShell/Pester-based integration tests (integration-test/) that execute the pre-built sample app.
  • Cover crash capture and message capture scenarios.
  • Validate event data structure, user context, tags, breadcrumbs, and stack traces.
  • Use CMake to fetch dependencies (e.g., app-runner module for Sentry API integration).
  • Includes a comprehensive README with setup and usage instructions.

CI/CD Integration:

  • New reusable workflows for Linux and Windows integration tests.
  • Run integration tests after unit tests across multiple Unreal Engine versions.
  • Upload test outputs and logs on failure to assist with debugging.

Sample App Enhancements

  • Improved log and events flushing to ensure output is captured
  • Workarounds for platform-specific issues (log duplication on Linux UE 4.27)

Important notices:

  • On Windows, integration tests run only for UE 5.2 and newer as that’s the first version where disabling the default Crash Reporter became possible. This allows crashes to be captured using the Sentry integration.
  • Running the test app pre-built with UE 5.2 or 5.3 on Windows GitHub runners requires the DirectX June 2010 Runtime to be installed (this is also included in the official Epic Games Windows runtime Docker images)

Enabled by:

Related issues:

Closes:

#skip-changelog

@tustanivsky tustanivsky marked this pull request as ready for review October 30, 2025 08:01
@tustanivsky tustanivsky requested a review from mujacica October 30, 2025 12:20
@tustanivsky tustanivsky assigned vaind and unassigned vaind Oct 30, 2025
@tustanivsky tustanivsky requested a review from vaind October 30, 2025 12:20
}
}

Context "Message Capture Tests" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we also want to test logs, non-fatal event (ensure) and/or attachments too?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we can cover more of the plugin’s features with tests in subsequent PRs. This one is primarily focused on introducing the testing framework itself and covering the basics.

@tustanivsky tustanivsky merged commit 247f10f into main Nov 3, 2025
41 checks passed
@tustanivsky tustanivsky deleted the ci/integration-tests branch November 3, 2025 06:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve CI - test on more versions, install final package for validation, test on more linux distros Integration/smoke test

4 participants