polysquare / cmake-unit

A unit testing framework for CMake
MIT License
36 stars 5 forks source link

Some optimizations that substantially reduce test runtime. #68

Closed smspillaz closed 9 years ago

smspillaz commented 9 years ago

We spent a substantial amount of time computing test lists and dispatch tables. This ocurred multiple times every single time CMakeLists.txt was re-entered and was effectively redundant work as the value would be the same every time. Cache the values of these lists and tables as global properties and pass them to each CMake invocation.

Removed cmake_unit_discover_tests and instead folded test detection in a namespace into the NAMESPACE keyword of cmake_unit_init. Given that we can dynamically look up command names at runtime, there isn't much need for a separate function in the API to discover tests anymore.

coveralls commented 9 years ago

Coverage Status

Coverage increased (+1.0%) when pulling 0e884fe275ccc0b5303f9c9124fba6a8e440e9ca on smspillaz:cmake-unit.item_62 into dae07fa5a55e2974ac92629e360e933592bfce21 on polysquare:master.