CppUTest 와 Google Test 에서 테스트 케이스를 등록 할 때 메모리 영역 사용 관련 질문

loolaz의 이미지

CppUTest 는 테스트 케이스를 등록 할 때 각 테스트케이스의 클래스들이 전역 변수로 할당 되어, 테스트케이스들의 관리를 위한 별도 메모리 사용이 없이 전역 변수 간에 링크드리스트로 관리가 되네요.. 즉..

TestcaseA : Test{
...
Test * next;
} testInstance;

TestInstaller install(&testInstance, ...);

이런 식으로 처리가 됩니다..

그리고 실제 install 내에서도 따로 testInstance 변수들을 큐를 잡아서 관리하거나 하지 않고, testInstance 끼리 next 포인터로 엮어서 관리해 주는군요..

testInstanceA->next = testInstanceB;
testInstanceB->next = testInstanceC;
...

반면, Google Test 는

TestcaseA : Test{
...

};

testinfor * testinfo_ = MakeAndRegisterTestInfo(...);

코드를 통해 테스트케이스를 생성하는데 MakeAndRegisterTestInfo(...); 함수 내부를 들어가 보면 결국 new TestcaseA() 를 하고 있습니다.

결국 CppUTest는 메모리의 데이터 영역, Google Test는 메모리의 heap 영역에 각각 테스트케이스를 관리하는 것 같은데요..

두 방식은 각각 어떤 장단점이 있을까요? (양 쪽 다 별 차이가 없는데 괜한 삽질을 한걸 까요? --;;)