[4/4] (Try4) msi/tests: Fix package test when run on root drive directory.

Nicolas Le Cam niko.lecam at gmail.com
Sun Apr 12 12:01:32 CDT 2009


2009/4/12 James McKenzie <jjmckenzie51 at earthlink.net>:
> Nicolas Le Cam wrote:
>> 2009/4/11 Ben Klein <shacklein at gmail.com>:
>>
>>> 2009/4/11 Nicolas Le Cam <niko.lecam at gmail.com>:
>>>
>>>> 2009/4/11 James Hawkins <truiken at gmail.com>:
>>>> Let met explain :
>>>>
>>>> Running test on wine in folder C:\test : works (expected "C:\test" got
>>>> "C:\test")
>>>> Running test on wine in folder C:\ : works (expected "C:\" got "C:\")
>>>> Running test on wine in folder
>>>> Z:\home\nlecam\Projects\wine\wine-git\dlls\msi\tests : works (expected
>>>> "Z:\home\nlecam\Projects\wine\wine-git\dlls\msi\tests" got
>>>> "Z:\home\nlecam\Projects\wine\wine-git\dlls\msi\tests")
>>>> Running test on Windows in folder C:\test : works (expected "C:\test"
>>>> got "C:\test")
>>>> Running test on Windows in folder C:\ : fails (expected "C:\" got "")
>>>>
>>> This looks to me like it would be dependent on the WAY you run the test.
>>>
>>>
>>>> Running test on Windows in folder X:\Documents And
>>>> Settings\nlecam\Desktop : fails (expected "X:\Documents And
>>>> Settings\nlecam\Desktop" got "C:\Documents And
>>>> Settings\nlecam\Desktop")
>>>>
>>> This looks like X: is mapped to the same place as C:, and wine's path
>>> translation is picking C: first. If that's so, it would also depend on
>>> the way you run the test.
>>>
>>> Of course, I could be astronomically wrong :D
>>>
>>>
>>
>> Hi Ben,
>>
>> Tests were launched from cmd.exe, current directory was where
>> executable resides.
>>
>> Those results (blank and X: becomming C:) were from Windows not Wine.
>> X: is a network drive.
>>
>> I admit I should do more tests, at least :
>> * launch test from a real drive other than C:\
>> * launch test from another directory than where executable resides.
>> * install Windows on another drive than C:\, with or without a C:\
>> drive, to see if it's really SystemDrive that msi takes or just the
>> first drive it can find.
>>
>>
> Nicolas:
>
> You should also test the cases that are failing from within Wine as
> well.  We do have the capability to map to a X: drive by mapping a
> network drive to this letter as well.
>
> It appears that C:\ is not returning a proper value either from Windows
> (which would not surprise me) or that Wine is not functioning the same
> as Windows in this case.  You cannot mark this 'todo_wine' the code has
> to be fixed or the test has to be fixed.
>
> James McKenzie
>
>

Ok I did more tests, basically msi is only wrong on root drive
directories, test is wrong on everything except when run on a local
drive where pathes don't exist on a drive before (alphabetically
sorted).

On this special test, msi enumerates local drives (and only local
drives) and returns the first path that matches what was passed, if
nothing match it returns an empty string.

Attached all tests I did. I will try to update my patch to handle
every corner cases.

-- 
Nicolas Le Cam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: msi_package_test.log
Type: text/x-log
Size: 5598 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20090412/a3ab54c6/attachment.bin>


More information about the wine-devel mailing list