V2 DRM automated testing verifies game functions correctly with and without protection enabled. The release matrix runs protected signed builds and unprotected DRM-free builds through the same boot, gameplay, entitlement, persistence, telemetry, and safe-failure journeys.
with and without protection enabled.
Test Matrix#
V2/ue/Build/DRM/v2-drm-automated-testing.json defines two build modes:
ProtectedDRM and UnprotectedDRMFree. Each test suite runs with protection
enabled and without protection enabled, writes release evidence under
$(ArchiveRoot)/DRM/AutomatedTesting, and uses the Unreal automation spec at
V2/ue/Source/V2Tests/Private/Launch/DRMAutomatedTesting.spec.cpp.
Required automated suites cover boot and startup parity, gameplay smoke parity, online entitlement parity, persistence and telemetry parity, and removal pathway regression. Functional journeys include BootToMainMenu, TrainingModeSmoke, ArcadeMatchSmoke, OnlineEntitlementHandshake, OfflineLicenseBoot, SaveLoadRoundTrip, SettingsRoundTrip, TelemetryDelivery, DRMFreeArtifactBoot, and TamperSafeBoot.
CI Gates#
V2/ue/Tools/plan-v2-drm-automated-testing.py emits the deterministic DRM
automated testing plan. V2/ue/Tools/check-v2-drm-automated-testing.py
validates the manifest, planner output, automation spec, documentation
dependency, protected/unprotected matrix, Horde wiring, CI workflow wiring, and
this runbook.
Required release gates:
drm-automated-testing-plan-generateddrm-automated-testing-build-mode-coveragedrm-automated-testing-suite-coveragedrm-automated-testing-protected-unprotected-matrixdrm-automated-testing-game-function-coveragedrm-automated-testing-release-evidence