Какая магия происходит в макросе TEST() в Google Tests?
Я использую Google Tests и хочу понять, как этот фреймворк добавляет тест к набору на исполнение.
Скажите, пожалуйста, во что, хотя бы примерно, раскрывается макрос:
TEST(A, B)
{
// ...
}
Я пытался понять происходящее, читая исходники, но там все сделано на макросах и шаблонах, и понять происходящее очень сложно.
Я предполагаю, что макрос TEST() разворачивается в какое-нибудь наследование и определение переменной данного типа, но я не понимаю, как созданный объект добавляется к набору исполняемых тестов...