Test suites fail with parallel programs...
Test suites, as we use them, assume the program we are testing is stable. We figure if a test passes, it would pass again if we ran the test again. If it fails, we are used to being able to debug it.
Parallel programming destroys our tidy little world. Headaches abound.
Just today, I was hit with the experiences of yet-another customer frustrated by this new reality. Fortunately, I gave good advice before this customer wasted a lot of time.
I've seen all sorts of weird pseudo-solutions, like running the test suites a couple extra times to see if you can get more comfortable that your program is stable. Yikes!
There is a solution - use a tool to eliminate the timing dependent bugs in the program you wish to test. That puts us back in a world we understand - where test suites work as they always have, and failing tests are debuggable. It's not a cakewalk to use such tools, but they beat the alternative.
For more ramblings on this topic - see my longer explanation.

