При использовании Google Test с C++11, если тесты определены в отдельных модулях компиляции, является ли механизм автоматической регистрации уязвимым для фиаско статического порядка инициализации?
Если нет, то почему?
ОТРЕДАКТИРОВАНО ДЛЯ ДОБАВЛЕНИЯ:
В частности: насколько я понимаю, стандарт позволяет инициализация статических членов тестовых классов в других модулях компиляции должна происходить после входа в main().
Метод UnitTest::GetInstance() гарантирует, что реестр UnitTest создается при первом доступе. Но что мешает этому первому доступу быть вызовом основного метода Run() из main() до регистрации каких-либо тестов?
Возможно, дело в том, что они являются статическими членами класса, а не статическими свободными переменными?
Подробнее здесь: https://stackoverflow.com/questions/450 ... on-order-f
Мобильная версия