Testing edge cases and undocumented behavior

Francois Gouget fgouget at free.fr
Fri Aug 26 02:52:35 CDT 2011


On Thu, 25 Aug 2011, Vincent Povirk wrote:
[...]
> * Is a Windows application likely to need this?

I'd add a couple of factors that pertain to this:
 * Is the behavior documented by the MSDN? If yes then applications are 
   more likely to rely on it.

 * Does the behavior correspond to a known usage pattern? If yes, then 
   even if not documented in the MSDN, applications are likely to depend 
   on it. Two examples:
   - APIs that take an 'LPSTR output_buffer, DWORD *buffer_size' pair of
     parameters. If they allow the programmer to pass 'NULL, &size' 
     where size=0 as parameters to determine the required buffer size, 
     then you can expect applications to make use of it even if the MSDN 
     forgot to document it.
   - APIs that take output parameters and will simply not fill them if 
     the pointer is NULL instead of crashing.


Of course the first thing to test is that these are are actually 
supported across a broad swath of the more recent Windows versions.


-- 
Francois Gouget <fgouget at free.fr>              http://fgouget.free.fr/
                     Avoid the Gates of Hell - use Linux.



More information about the wine-devel mailing list