On Wed, 24 Apr 2002, Geoffrey Hausheer wrote: [...]
One answer is not to test this, since it is not documented what the result will be, but the OSes certainly behave differently, and it is possible that some program takes advantage of this. I'm sure there are other similar cases, and I'd like to know (in general) what the right solution will be.
Undocumented behavior should not be tested for unless an application depends on that behavior. Our goal is not to make a clone of a specific version of Windows but to be able to run Windows applications on Unix.
Testing undocumented behavior should only be done if you know of an application that depends on this behavior, and then that application should be mentioned in the test.
I'm probably making a mountain out of a molehill, and I'll just try modifying my tests to work the way Alexandre proposes. I'm just afraid this is setting additonal obstacles for (non Wine) developers to write regression tests.
I don't think it does. If you only have access to Win98, the only way to write a test that is sure to work on all Windows platforms is to do:
if (version==win98) { do_test(); }
As you pointed out, because Win98 behaves a given (possibly documented) way does not mean that Win95 / NT4 / Win XP are going to behave the exact same way. But if you write tests in this fashion,~ it will be pretty much impossible to detect cases where different Windows versions diverge. So the best way to deal with that is to just do the test on all platforms, and rely on people who have access to platforms to which you don't have access, to come and fix the test so that it also works on their platform. This is, after all, the open-source way.
-- Francois Gouget fgouget@free.fr http://fgouget.free.fr/ Any sufficiently advanced Operating System is indistinguishable from Linux