mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-09 20:58:31 +09:00
[Test] (MG_Test): catch the unit tests up with three deliberate behaviour changes
ctest -L unit had been failing 13 of its 418 cases, all of them tests left asserting what the code did before a commit that changed it on purpose: - "restore target GL version to 3.3" put the advertised target back after the experimental 4.6 run, but the two Voxy sanity tests still demanded 4.6. The extensions they really care about are all still advertised, so assert 3.3 and drop the now-meaningless AtExperimentalCTSVersion from their names. - "support rectangle textures where the emulation is exact" made every desktop-only target supported - rectangle included, stored as a plain 2D - while the texture test still expected rectangle to be rejected. - "keep declared modern GLSL versions strict" changed two things at once: a normalized legacy directive now carries a marker on its line, so the ten tests matching "#version 330 core\n" whole no longer match; and a version the application declared itself is no longer raised to 460, so the sources declaring 330/400 keep their own number and only MobileGL's own normalization is retargeted. Test expectations follow, rather than the implementation being bent back: each of the three changes is the intended behaviour and is argued for where it was made. The retry test now drives the 460 escalation from a legacy "#version 130" source, which is the only thing that is still rescued, and gained a case pinning the other half of that contract - an application-declared "#version 330" stays at 330. 418/418 unit tests pass.
This commit is contained in:
@@ -197,13 +197,15 @@ TEST(DirectGLESSanity, AdvertisesDepthTextureForGlmarkShadowScenes) {
|
||||
EXPECT_NE(std::find(extensions.begin(), extensions.end(), MobileGL::E_GL_ARB_depth_texture), extensions.end());
|
||||
}
|
||||
|
||||
TEST(DirectGLESSanity, AdvertisesVoxyRequiredRenderingExtensionsAtExperimentalCTSVersion) {
|
||||
// The advertised target went back to 3.3 (see "restore target GL version to 3.3"); Voxy only ever
|
||||
// needed the extensions, which stay advertised, so assert what the backend really reports.
|
||||
TEST(DirectGLESSanity, AdvertisesVoxyRequiredRenderingExtensions) {
|
||||
MobileGL::MG_Backend::DirectGLES::BackendObject_DirectGLES backend;
|
||||
const auto& rendererInfo = backend.GetRendererInfo().RendererGLInfo;
|
||||
const auto& extensions = rendererInfo.Extensions;
|
||||
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Major, 4);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Minor, 6);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Major, 3);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Minor, 3);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Patch, 0);
|
||||
|
||||
EXPECT_NE(std::find(extensions.begin(), extensions.end(), MobileGL::E_GL_ARB_compute_shader),
|
||||
@@ -397,13 +399,14 @@ TEST(DirectVulkanSanity, RenderPassExtentUsesSwapchainSizeOnlyForDefaultFramebuf
|
||||
MobileGL::IntVec2(512, 512));
|
||||
}
|
||||
|
||||
TEST(DirectVulkanSanity, AdvertisesVoxyRequiredRenderingExtensionsAtExperimentalCTSVersion) {
|
||||
// See the DirectGLES twin above: the target version is 3.3 again, the extensions are what matter.
|
||||
TEST(DirectVulkanSanity, AdvertisesVoxyRequiredRenderingExtensions) {
|
||||
MobileGL::MG_Backend::DirectVulkan::BackendObject_DirectVulkan backend;
|
||||
const auto& rendererInfo = backend.GetRendererInfo().RendererGLInfo;
|
||||
const auto& extensions = rendererInfo.Extensions;
|
||||
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Major, 4);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Minor, 6);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Major, 3);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Minor, 3);
|
||||
EXPECT_EQ(rendererInfo.TargetGLVersion.Patch, 0);
|
||||
|
||||
EXPECT_NE(std::find(extensions.begin(), extensions.end(), MobileGL::E_GL_ARB_compute_shader),
|
||||
|
||||
Reference in New Issue
Block a user