On 08/29/2012 09:35 PM, Alexandre Julliard wrote:
Alexandre Goujon <ale.gou...@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 ?


Reply via email to