Я хотел бы создать различные сетевые ошибки во время тестирования.Я использую API сокетов Berkely непосредственно в C ++ в Linux.Я запускаю фиктивный сервер в другом потоке из Boost.Test, который прослушивает localhost.
Например, я хотел бы создать тайм-аут во время соединения.До сих пор я пытался не вызывать accept на моём фиктивном сервере и устанавливать значение backlog равным 1, а затем устанавливать несколько соединений, но все, кажется, успешно соединяются.Я бы подумал, что если бы не было места в очереди невыполненных работ, я бы, по крайней мере, получил бы ошибку отказа в соединении, если бы не тайм-аут.рассмотрите возможность использования чего-то внешнего, такого как IPchains, чтобы преднамеренно отбрасывать определенные пакеты на определенные порты во время тестирования, но мне нужно было бы автоматизировать создание и удаление правил, чтобы я мог делать это в рамках своих тестов модуля Boost.Test.Я мог бы посмеяться над различными системными вызовами, но я бы предпочел пройти через настоящий стек TCP, если это возможно.
Идеи?