On 07/29/2010 03:43 AM, Joerg-Cyril.Hoehle@t-systems.com wrote:
Andrew,
Run on a Win98SE VM. The E drive is a CDROM drive.
Thank you very much for the result. I added the broken(GetLastError()) for Win9x based on your data.
Now is your chance to repeat the test with https://testbot.winehq.org/JobDetails.pl?Key=4014 (either as .patch file or the binary from testbot). This is valuable because testbot skips most new tests, lacking another drive, giving no proof that the fixed patch indeed works without errors on win9x. If it fails, please report to wine-devel as I already submitted the new patch.
Hi Jörg,
No failures with the testbot executable. Run under the same Win98SE VM, again from the E: drive.
Andrew
On Thu, Jul 29, 2010 at 11:17 PM, Andrew Eikum aeikum@codeweavers.com wrote:
On 07/29/2010 03:43 AM, Joerg-Cyril.Hoehle@t-systems.com wrote:
Andrew,
Run on a Win98SE VM. The E drive is a CDROM drive.
Thank you very much for the result. I added the broken(GetLastError()) for Win9x based on your data.
Now is your chance to repeat the test with https://testbot.winehq.org/JobDetails.pl?Key=4014 (either as .patch file or the binary from testbot). This is valuable because testbot skips most new tests, lacking another drive, giving no proof that the fixed patch indeed works without errors on win9x. If it fails, please report to wine-devel as I already submitted the new patch.
Hi Jörg,
No failures with the testbot executable. Run under the same Win98SE VM, again from the E: drive.
Andrew
Out of curiosity, I ran your test binary in my MinGW shell (as part of msysgit) under Windows Vista SP2 32bit. Regular winetest doesn't have any additional kernel32 volume test failures, but yours:
$ kernel32_test.exe volume volume.c:395: Test failed: GetVolumeInformationA failed, last error 123 volume.c:406: Test failed: GetVolumeInformationA failed, last error 123 volume: 405 tests executed (0 marked as todo, 2 failures), 0 skipped.
$ uname -a MINGW32_NT-6.0 JEFFZ-PC 1.0.11(0.46/3/2) 2009-02-27 22:34 i686 unknown
jeffz@JEFFZ-PC ~/Desktop $ pwd /c/Users/jeffz/Desktop
Regards Jeff
Hi,
The binary from https://testbot.winehq.org/JobDetails.pl?Key=4014 passes all tests on native win95 w2k SP4 wxp SR3 and inside vmware on win98SE (Andrew Eikum)
Jeff Zaroyko writes:
I ran your test binary in my MinGW shell (as part of msysgit) under Windows Vista SP2 32bit.
I can imagine two possible reasons why it fails on your Vista machine a) Testbot's mingw compiled binary running in the mingw shell may behave differently than a native bin in a native shell.
b) SetEnvironmentVariable("=C:",path) is not usable on/since(?) Vista to modify the per-drive default directory and hence does not manage to establish the precondition needed for the test.
Do you get different results when doing the following: # assuming C: is where %WINDOWSDIR% resides C: cd \ X: # which dir on X should not matter Y:\path\to\kernel32_test.exe volume C: cd \windows X: Y:\path\to\kernel32_test.exe volume # X: must not be C:; Y: can be any drive
For completion, you could check whether you get different results when invoking the test.exe with current directory a) C:\ # many GetVolumeInfo tests are skipped b) C:\windows # dito c) X:\ with \windows as CD on C: d) X:\anysubdir with \windows as CD on C: e) X:\anysubdir with \ as CD on C: f) X:\ with \ as CD on C: I think that if SetEnv has no effect you'll get different failures.
I.e. this batch file C: CD \ Y:\path\to\kernel32_test.exe volume CD windows Y:\path\to\kernel32_test.exe volume X: CD \ Y:\path\to\kernel32_test.exe volume CD \anysubdir Y:\path\to\kernel32_test.exe volume C: CD \ X: Y:\path\to\kernel32_test.exe volume CD \ Y:\path\to\kernel32_test.exe volume
Thank you, Jörg Höhle
On Fri, Jul 30, 2010 at 7:01 PM, Joerg-Cyril.Hoehle@t-systems.com wrote:
Do you get different results when doing the following: # assuming C: is where %WINDOWSDIR% resides
There's a %WINDIR% which is c:\windows
C: cd \ X: # which dir on X should not matter Y:\path\to\kernel32_test.exe volume
Passes outside of MinGW.
C: cd \windows X: Y:\path\to\kernel32_test.exe volume # X: must not be C:; Y: can be any drive
Passes outside of MinGW.
For completion, you could check whether you get different results when invoking the test.exe with current directory a) C:\ # many GetVolumeInfo tests are skipped b) C:\windows # dito c) X:\ with \windows as CD on C: d) X:\anysubdir with \windows as CD on C: e) X:\anysubdir with \ as CD on C: f) X:\ with \ as CD on C: I think that if SetEnv has no effect you'll get different failures.
I.e. this batch file C: CD \ Y:\path\to\kernel32_test.exe volume CD windows Y:\path\to\kernel32_test.exe volume X: CD \ Y:\path\to\kernel32_test.exe volume CD \anysubdir Y:\path\to\kernel32_test.exe volume C: CD \ X: Y:\path\to\kernel32_test.exe volume CD \ Y:\path\to\kernel32_test.exe volume
No failures outside of MinGW. Inside MinGW, I invoke cmd to run the batch file:
jeffz@JEFFZ-PC ~/Desktop $ cmd Microsoft Windows [Version 6.0.6002] Copyright (c) 2006 Microsoft Corporation. All rights reserved.
c:\Users\jeffz\Desktop>joerg.bat
c:\Users\jeffz\Desktop>C:
c:\Users\jeffz\Desktop>CD \
c:>c:\users\jeffz\Desktop\kernel32_test.exe volume volume.c:365: Test failed: GetVolumeInformationA did not fail, last error 373 8559 volume.c:384: Test failed: GetVolumeInformationA did not fail, last error 373 8559 volume: 406 tests executed (0 marked as todo, 2 failures), 0 skipped.
c:>CD windows
c:\Windows>c:\users\jeffz\Desktop\kernel32_test.exe volume volume.c:395: Test failed: GetVolumeInformationA failed, last error 123 volume.c:406: Test failed: GetVolumeInformationA failed, last error 123 volume: 406 tests executed (0 marked as todo, 2 failures), 0 skipped.
c:\Windows>D:
D:>CD \
D:>c:\users\jeffz\Desktop\kernel32_test.exe volume volume: 406 tests executed (0 marked as todo, 0 failures), 0 skipped.
D:>CD \recovery
D:\RECOVERY>c:\users\jeffz\Desktop\kernel32_test.exe volume volume: 406 tests executed (0 marked as todo, 0 failures), 0 skipped.
D:\RECOVERY>C:
c:\Windows>CD \
c:>D:
D:\RECOVERY>c:\users\jeffz\Desktop\kernel32_test.exe volume volume: 406 tests executed (0 marked as todo, 0 failures), 0 skipped.
D:\RECOVERY>CD \
D:>c:\users\jeffz\Desktop\kernel32_test.exe volume volume: 406 tests executed (0 marked as todo, 0 failures), 0 skipped.
D:>
Regards Jeff
Hi,
Jeff Zaroyko wrote:
No failures outside of MinGW.
Thanks. This validates the relationship between GetVolumeInformation and the per-drive current directory on win95/98/2k/xp/7.
Inside MinGW, I invoke cmd to run the batch file: volume: 406 tests executed (0 marked as todo, 2 failures), 0 skipped.
Wait! When starting from C: as in cases a) and b) there should have been a skip. if (currentdir[0] == windowsdir[0]) { skip("Please re-run from another device than %c:\n", windowsdir[0]); If properly skipped, there would have been 0 failures.
Could you please add a TRACE("%s vs. %s\n", currentdir, windowsdir); Either the path is in a strange format, or there's a case issue. Perhaps GetCurrentDir reports "C:..." while GetWindowsDir uses "c:..."? Then I should use toupper(currentdir[0]) == toupper(windowsdir[0]) Could you please retry the test with if (toupper(currentdir[0]) == toupper(windowsdir[0])) { skip(...)
a) C:\ # many GetVolumeInfo tests are skipped b) C:\windows # dito c) X:\ with \windows as CD on C: d) X:\anysubdir with \windows as CD on C: e) X:\anysubdir with \ as CD on C: f) X:\ with \ as CD on C:
Regards, Jörg Höhle
On Mon, Aug 2, 2010 at 7:03 PM, Joerg-Cyril.Hoehle@t-systems.com wrote:
Hi,
Jeff Zaroyko wrote:
No failures outside of MinGW.
Thanks. This validates the relationship between GetVolumeInformation and the per-drive current directory on win95/98/2k/xp/7.
Inside MinGW, I invoke cmd to run the batch file: volume: 406 tests executed (0 marked as todo, 2 failures), 0 skipped.
Wait! When starting from C: as in cases a) and b) there should have been a skip. if (currentdir[0] == windowsdir[0]) { skip("Please re-run from another device than %c:\n", windowsdir[0]); If properly skipped, there would have been 0 failures.
Could you please add a TRACE("%s vs. %s\n", currentdir, windowsdir);
Would you mind supplying a new binary? My regular GNU/Linux system is dead due to hardware issues and I don't have a new enough version of flex to try building with MinGW on Windows.
Jeff Zaroyko wrote:
Would you mind supplying a new binary?
Testbot did it for us: job #4154 https://testbot.winehq.org/JobDetails.pl?Key=4154
Regards, Jörg Höhle
On Mon, Aug 2, 2010 at 9:43 PM, Joerg-Cyril.Hoehle@t-systems.com wrote:
Jeff Zaroyko wrote:
Would you mind supplying a new binary?
Testbot did it for us: job #4154 https://testbot.winehq.org/JobDetails.pl?Key=4154
Regards, Jörg Höhle
This new #4154 binary doesn't have any failures when run from the MinGW shell:
volume.c:345: Tests skipped: Please re-run from another device than C: volume: 392 tests executed (0 marked as todo, 0 failures), 1 skipped.
Only the earlier binary from #4014 does as per the earlier email.
Jeff