I noticed that running tests on Windows is not part of the release checklist anymore. Is this on purpose? People are still running messaging on windows ...
Hudson has some windows machines configured.
Once I've got everything running fast we'll be able to do full runs on Windows and Linux boxes.
But there is another issue with Hudson.
Since Hudson uses VMWare, and does not fully utilise the machines, it is:
a) Significantly slower than running the test suite on a dedicated machine
b) More seriously, because of the virtualization, any timing issues are brought to the front. Although it still runs a Java program "correctly" you will observer wild differences in thread scheduling and timing which is good for showing up race conditions but extremely bad for any tests that rely on timing to give correct results.
Unfortunately, for messaging, some tests do rely on timing. E.g. testing that the expiration of a message happens pretty much on time (also scheduled delivery etc).
Now, of course Java even without virtualization is not real time, and gc can happen anytime screwing the timing, but, in practice without virtualization if we add a small margin of error in our timing tests they give good results, this is not the case with virtualization in to play - the required margin of error because so large as to make the test pointless.
This may mean I will separate any timing sensitive tests into their own (small) testsuite and this will need to be run on a dedicated team.