-template <typename F, typename... Args>
-void assert_result(int expected, F&& func, Args... args)
-{
- int ret = func(args...);
- RUNNER_ASSERT_MSG_BT(ret == expected, "Expected " << expected << " got: " << ret);
-}
-
-template <typename F, typename... Args>
-void assert_positive(F&& func, Args... args)
-{
- assert_result(CKMC_ERROR_NONE, std::move(func), args...);
-}
-
-template <typename F, typename... Args>
-void assert_invalid_param(F&& func, Args... args)
-{
- assert_result(CKMC_ERROR_INVALID_PARAMETER, std::move(func), args...);
-}
-
-template <typename T>
-size_t list_size(const T* list)
-{
- size_t size = 0;
- while(list) {
- list = list->next;
- size++;
- }
- return size;
-}
-