kernel32: Return correct drive type for empty drives

GOUJON Alexandre ale.goujon at gmail.com
Fri Aug 31 09:44:44 CDT 2012


On 08/29/2012 09:35 PM, Alexandre Julliard wrote:
> Alexandre Goujon <ale.goujon at gmail.com> writes:
>
>> Should fix bug #17037
>> I followed your advice and now, I only ask the mountmgr when needed.
>> ---
>>   dlls/kernel32/volume.c |   10 +++++++++-
>>   1 file changed, 9 insertions(+), 1 deletion(-)
> This is failing here when the drive is empty:
>
> ../../../tools/runtest -q -P wine -M kernel32.dll -T ../../.. -p kernel32_test.exe.so volume.c && touch volume.ok
> volume.c:132: Tests skipped: can't test removing fake drive
> volume.c:785: Test failed: IOCTL_DVD_READ_STRUCTURE (DvdPhysicalDescriptor) failed, last error = 87
> make: *** [volume.ok] Error 1
>
> If I put a DVD in I get:
>
> volume.c:813: Test failed: IOCTL_DVD_READ_STRUCTURE should have failed
>
> Probably the tests need some fixing.
>
I worked on these issues and found that :
+ "make volume.ok" is different than "wine kernel32_test.exe.so volume" 
(WINETEST_PLATFORM=wine is set in the first command)
+ the error

"volume.c:813: Test failed: IOCTL_DVD_READ_STRUCTURE should have failed"

comes from a missing check. I fixed it with 
http://source.winehq.org/patches/data/89457.
+ the error

"volume.c:785: Test failed: IOCTL_DVD_READ_STRUCTURE (DvdPhysicalDescriptor) failed, last error = 87"

comes from ioctl() failing (errno = ENOMEDIUM), returning 
STATUS_INVALID_PARAMETER hence last error = 87 
(ERROR_INVALID_PARAMETER).  I fixed that with 
http://source.winehq.org/patches/data/89458.

Except the fact that I wasn't testing my patch the right way (I'm not 
very proud of it), this also proved the TestBot is not very efficient 
regarding volume tests.
So, I am proposing to add several virtual drives to some virtual 
machines. Is it possible ? I can work on it if needed.
With genisomage and mkudffs, it's very easy to generate ISO files of 
different kinds.
It won't be the same as with real discs and real drives but at least, it 
would prevent some regressions..
Any comment on this ?



More information about the wine-devel mailing list