Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Testing network interrupts in software

I have a network C++ program in Windows that I'd like to test for network disconnects at various times. What are my options?

Currently I am:

  1. Actually disconnecting the network wire from the back of my computer
  2. using ipconfig /release
  3. Using the cports program to close out the socket completely

None of these methods though are ideal for me, and I'd like to emulate network problems more easily.

I would like for sometimes connects to fail, sometimes socket reads to fail, and sometimes socket writes to fail. It would be great if there was some utility I could use to emulate these types of problems.

It would also be nice to be able to build some automated unit tests while this emulated bad network is up.

like image 738
Brian R. Bondy Avatar asked Sep 14 '08 18:09

Brian R. Bondy


2 Answers

You might want to abstract the network layer, and then you can have unit tests that inject interesting failure events at appropriate points.

like image 102
Douglas Leeder Avatar answered Oct 02 '22 13:10

Douglas Leeder


The closest I can think of is doing something similar with VEDekstop from Shunra..

Simulating High Latency and Low Bandwidth in Testing of Database Applications

Shunra VE Desktop Standard is a Windows-based client software solution that simulates a wide area network link so that you can test applications under a variety of current and potential network conditions – directly from your desktop.

like image 36
Gulzar Nazim Avatar answered Oct 02 '22 12:10

Gulzar Nazim