On Mon, Aug 3, 2009 at 12:20, Niklas Gustavsson<[email protected]> wrote: > On Mon, Aug 3, 2009 at 10:05 AM, Bernd Fondermann<[email protected]> > wrote: >> Niklas Gustavsson wrote: >> This test perfectly demonstrates the pros and cons of integration >> testing of socket based protocols. >> >> All test run within about 5.3 seconds on my machine, probably less on yours. >> >> The integration test _alone_ takes 5 seconds! (Which makes me want to >> disable it. Suggestion: Can we move integration tests to a separate >> source folder so they can easily be excluded from running?) > > Yes, either we can move it to a separate source folder (activated by a > different Maven profile as suggested by Emmanuel) or to a different > module. I'm all for doing this if we decide to keep doing integration > tests (which I think we should).
+1 > >> Why is that? The tests sets up the whole server infrastructure. This >> adds overhead to the test, but is not the cause for the long running >> time. It's Thread.sleep(5000). This is a common problem with testing >> async stuff. Maybe we can reduce this to 100 ms, but this might cause >> spurious test failures for some, which are hard to reproduce. > > I don't think we do a Thread.sleep() anywhere in the integration > tests, or am I missing something? Instead we use Smacks listener > support, with a timeout of 5000 ms (in the sendSync method). Doing > that, I think we return as soon as possible (or at least as soon as > Smack lets us). My apologies, bad observation. I just stumbled upon it because it took long (longer than the other stuff). You are right. >> A better approach - if possible - would be to have a listener kicking in >> when the async processing is finished, causing some kind of continuation >> to finish of the test. > > This is what we're already doing, right? > >> In general I'd stick with my original statement to discourage using this >> kinds of tests for handlers. > > I find these tests have been quite powerful so far, detecting two or > three bugs in Vysper already. +1. Do you have bug reports? Bernd
