Для меня это была строка: fastcgi_pass unix: /var/run/php5-fpm.sock;
, который должен был быть просто: fastcgi_pass unix: /run/php5-fpm.sock;
TEST_P - это макрос, который при раскрытии объявляет полный класс c ++, к которому INSTANTIATE_TEST_CASE_P добавляет функциональность.
Поскольку ваш TEST_P находится в отдельном файле .cc, ваш вызов INSTANTIATE_TEST_CASE_P (который находится в своем собственном файле .cc) не может его увидеть, поэтому он по сути определяет функцию без класса-владельца.
С другой стороны, класс, определенный в TEST_P, не оснащен методами, которые INSTANTIATE_TEST_CASE_P определил бы для него. Так что он не находит никаких тестовых экземпляров для запуска.
Вам нужно переместить декларацию TEST_P туда, где ваш вызов INSTANTIATE_TEST_CASE_P может увидеть ее, чтобы она работала.
Однако, предостережение - TEST_P не только объявляет класс, но и определяет несколько функций. Поэтому, если вы попытаетесь поместить его в файл заголовка, вы можете получить некоторые ошибки компоновщика, относящиеся к этим методам класса (как уже определено, например). Так что лучшее место для этого может быть рядом с вызовом INSTANTIATE_TEST_CASE_P.
TEST_P действительно предназначен для собственного независимого тестового примера, и похоже, что он был разработан для того, чтобы входить в собственный исходный файл, и недоступен как своего рода компонент библиотеки, как вы, похоже, пытаетесь это сделать.