CNA-VGAP-009: GraphicsDeviceManager's iOS/Android back-buffer orientation branch has no test

CNA snapshot 009d40f5  ·  Known Issues › Verification gaps  ·  source links pinned to 009d40f5

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

On iOS and Android GraphicsDeviceManager reshapes the preferred back buffer by DisplayOrientation and forwards SupportedOrientations to the window; the desktop test skips itself on those platforms, and the only run that reaches the branch is the iOS simulator smoke application, which asserts that a frame completes but not the back-buffer shape or the forwarded orientations.

Identifier
CNA-VGAP-009
Category
Verification gap
Subsystem
Platforms
Status
Open
Verified against
CNA 009d40f5 (009d40f5dd085c4e674d3479675fac84b12b3e0a)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
GraphicsDeviceManager::PreferredBackBufferWidth/Height and SupportedOrientations on iOS and Android

Expected behaviour

The phone branch (Portrait gives width = the smaller edge; any other orientation gives the landscape shape) is pinned by a test.

Actual behaviour at TARGET

platformSupportsOrientations in GraphicsDeviceManager.cpp is true only for the platform names iOS and Android, and INTERNAL_CreateGraphicsDeviceInformation swaps the size there. DefaultBackBufferPreferencesAreTheXnaDefaults in GraphicsDeviceManagerPlatformTests.cpp calls GTEST_SKIP on those names, and no unit test fakes a phone platform. apple_smoke.cpp, which apple-ci.yml launches in the iOS simulator, sets SupportedOrientations to LandscapeLeft and runs one frame, so the iOS branch executes there, but its only assertion is the success marker; nothing runs the branch on Android.

Source locations

Evidence

Checked by reading at 009d40f5; not executed.

Independent re-verification: Checked by reading at 009d40f5; not executed. The iOS smoke application and the ios-simulator job of apple-ci.yml were read for the statement that the branch runs without an assertion on its result.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

Desktop verbatim-size test; GameWindowTests.cpp covers SupportedOrientations bookkeeping on the desktop.

Regression test

A test with a platform stub reporting iOS or Android that checks the portrait and landscape shapes and the forwarded orientations.

Blast radius

Mobile back-buffer sizing and orientation.

Workaround

No workaround is known.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.