Files
MapLibreParticleLab/render-test/ios
Bart Louwers 9374765cb8 Add target for iOS render test to Bazel (#1277)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-06-28 16:41:21 +02:00
..

iOS RenderTestRunner App

This is a blank single-view-controller iOS app, linked against to a C++ static libraries, plus a a simple unit xctest. We use CMake to create an Xcode-friendly out-of-source build system. In another word, the build system is maintained by CMakeLists file,instead of a configured .xcodeproj file.

This CMake project can build the executable RenderTestApp which is linked to the static C++ library 'mbgl-render-test'. CMakeLists.txt files are the only build configuration kept in source control. This is in contrast to committing the .xcodeproj directory which includes the backing XML, which is nonsensically hard to edit by hand.

The test instantiates ObjC object of class IosTestRunner from the app, the class will instantiates a C++ object from the linked library mbgl-render-test and calls running render test function on it. It subsequently deletes the C++ object pointer. In the end, the test will check the existence of test reports, which are html files that attach to xctest result.