@devadideva
Если бы мне надо было проверить правильность заполнения структуры функцией socket(), я бы не писал тест для этой функции совсем :)

Я бы сделал логику этой публичной функции тривиальной, например линейная серия вызовов внутренних функций, которые не доступны конечному пользователю socket(), и вот их бы уже тестировал.

Эти функции уже можно написать однозначно вычисляющими результат. Главное не сильно увлечься этим делом и не загонять каждую строку кода в отдельную функцию
@tech