mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 21:58:31 +09:00
- Thirteen cases that need no GL context and no driver, so the fact that PipeCalls.def and the seven generated files agree is checked on every unit run rather than at review time. - The catalogue count is one fact stated three times - the macro expansion, MGP_CALL_LIST_DOCUMENTED_COUNT and the two generated tables - and the per-class counts documented in the .def header are asserted individually, which is what caught kCtxState being 17 rather than 18 (set_texture_params carries kCtxObject, per the plan's own example in section 4.1). - An uninstalled pipe must be all-null: that is what "this subsystem has not been migrated, keep pulling" means (section 4.1), so it is asserted rather than assumed. - The comparator test pins the two properties the verify harness depends on: the FIRST differing field is named, and padding is not a field - two payloads that differ only in padding compare equal, while a nested array element does not. - The poison test pins the per-verb behaviour a bitmap cannot express: a field filled for verb N is stale at verb N+1.
29 lines
704 B
CMake
29 lines
704 B
CMake
cmake_minimum_required(VERSION 3.14)
|
|
|
|
add_executable(
|
|
PipeCatalogueTest
|
|
PipeCatalogueTest.cpp
|
|
)
|
|
|
|
target_include_directories(PipeCatalogueTest PRIVATE
|
|
${MGL_ROOT}/include
|
|
${MGL_ROOT}/MobileGL
|
|
${MGL_ROOT}/MobileGL/MG_Pipe
|
|
${MGL_ROOT}/3rdparty/xxHash
|
|
${MGL_ROOT}/3rdparty/Vulkan-Headers/include
|
|
${MGL_ROOT}/3rdparty/SPIRV-Reflect
|
|
)
|
|
|
|
target_link_libraries(
|
|
PipeCatalogueTest PRIVATE
|
|
GTest::gtest_main
|
|
${LINK_LIBRARIES}
|
|
)
|
|
|
|
if (MSVC)
|
|
target_compile_options(PipeCatalogueTest PRIVATE /Zc:preprocessor)
|
|
endif()
|
|
|
|
include(GoogleTest)
|
|
gtest_discover_tests(PipeCatalogueTest DISCOVERY_TIMEOUT 30 PROPERTIES LABELS unit)
|