CNA-VGAP-009: GraphicsDeviceManager's iOS/Android back-buffer orientation branch has no test
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
modules/runtime/src/GraphicsDeviceManager.cpp— platformSupportsOrientations and INTERNAL_CreateGraphicsDeviceInformationmodules/runtime/tests/Microsoft/Xna/Framework/GraphicsDeviceManagerPlatformTests.cpp— DefaultBackBufferPreferencesAreTheXnaDefaults skip
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.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Known issues
- Verification gap index