Specs
Beautiful C++ Test Framework
Loading...
Searching...
No Matches
TEARDOWN.h
Go to the documentation of this file.
1#pragma once
2
4
5#include "MacrosCore.h" // IWYU pragma: keep
6
7#define __SPEC_TEARDOWN_BODY(symbol, count) \
8 inline void \
9 _GLOBAL_MACRO_FUNCTIONS_NEW_NAMED_FUNCTION_NAME_FROM_COUNT(symbol, count)(SpecsCpp::ISpecGroup*, SpecsCpp::ISpecComponent*, SpecsCpp::ISpec*); \
10 _GLOBAL_MACRO_FUNCTIONS_NEW_NAMED_FUNCTION_RUNNER_VARIABLE_NAME_FROM_COUNT(symbol, count){[]( \
11 ) { \
12 SpecsCpp::DSLs::GlobalInterface::define_teardown_fn( \
13 _GLOBAL_MACRO_FUNCTIONS_NEW_NAMED_FUNCTION_NAME_FROM_COUNT(symbol, count) \
14 ); \
15 }}; \
16 inline void _GLOBAL_MACRO_FUNCTIONS_NEW_NAMED_FUNCTION_NAME_FROM_COUNT(symbol, count)( \
17 [[maybe_unused]] SpecsCpp::ISpecGroup * current_group, \
18 [[maybe_unused]] SpecsCpp::ISpecComponent * current_teardown, \
19 [[maybe_unused]] SpecsCpp::ISpec * current_test \
20 )
21
22#define _SPEC_TEARDOWN() __SPEC_TEARDOWN_BODY(_SPEC_TEARDOWN_, __COUNTER__)