Testing with real sockets, across multiple images is the only way I would trust my own networking programs. OSProcess makes that an easy, one-click affair.
On Mon, Oct 28, 2013 at 5:50 PM, Norbert Hartl <[email protected]> wrote: > I’m working on project that deals with server to server communication. For > the test suite it is necessary to simulate the two ends of the communication > within one test. The problem is that in a single threaded environment you > make a send call SC from server A to B but the response of B will happen > before SC returned. That makes every state change the happens in A after SC > bogus from a call flow perspective. > > There are two approaches that have their own problems. > > 1) Until now I’m reordering parts of the call stack to simulate the return of > a call before the actual call is sent. But now I have nested sends that make > my simple approach not working anymore. I could elaborate my approach by > using something like delimited continuations to make a less brittle approach > to stack call reordering in order to cope with the problem. That would need > some work and the stack in the debugger will look a little bit odd/confusing. > > 2.) The product will later have a dispatcher process that dispatches each > send operation in its own process. That would solve one problem: the timing > of when actions happen. But I’m not sure if it will be easy to orchestrate > actions in a way that I would call controlled in order to have reliable tests. > > Are there any approaches to simulate coroutines in a single thread > environment or approaches to deal with multiple processes within one process? > > It is hard to explain and I hope my description of the problem is > understandable > > thanks in advance, > > Norbert
