CesiumGS / cesium-omniverse

Bringing the 3D geospatial ecosystem to Omniverse
https://cesium.com/platform/cesium-for-omniverse/
Apache License 2.0
55 stars 7 forks source link

Unit tests #9

Open lilleyse opened 1 year ago

lilleyse commented 1 year ago

The C++ unit test infrastructure is set up but there aren't any meaningful unit tests yet. We're using doctest.

Since the C++ library interacts with a USD stage and has no hard dependency on Omniverse or even a 3D context, we can mock a lot of streaming behavior in a headless way.

We may need to write additional unit tests for the Omniverse Kit extensions (Python code) but it's not clear what those would be yet or what the tooling would look like.

lilleyse commented 1 year ago

As of https://github.com/CesiumGS/cesium-omniverse/pull/257 and https://github.com/CesiumGS/cesium-omniverse/pull/260 we have some Python unit tests that run locally but not on CI. The UI tests depend on imgui which depends on a graphics context. We'd like to get these running on CI but it's not clear what's the best path forward.

Also, since this issue was written the C++ code now depends on Omniverse libraries like Fabric which may require GPU support. Needs to be tested still.