[PATCH 1/7] kernel32/tests: Add path tests for the unusual ./../foo case.

Sebastian Lackner sebastian at fds-team.de
Mon Dec 21 12:00:16 CST 2015


On 21.12.2015 17:51, Jeremy White wrote:
> Signed-off-by: Jeremy White <jwhite at codeweavers.com>
> ---
> This patch series address issues found in GetLongPathName and GetShortPathName
> as reported in bug https://bugs.winehq.org/show_bug.cgi?id=36859.
> Thanks to Dmitry for pointing out GetShortPathName should be checked as well
> and for the suggestion to use CheckNameLegalDOS8Dot3W.
> ---
>  dlls/kernel32/tests/path.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/dlls/kernel32/tests/path.c b/dlls/kernel32/tests/path.c
> index 85c4ec3..4504603 100644
> --- a/dlls/kernel32/tests/path.c
> +++ b/dlls/kernel32/tests/path.c
> @@ -2136,6 +2136,15 @@ static void test_relative_path(void)
>      ok(ret, "GetShortPathName error %d\n", GetLastError());
>      ok(!strcmp(buf, "..\\foo\\file"), "expected ..\\foo\\file, got %s\n", buf);
>  
> +    strcpy(buf, "deadbeef");
> +    ret = pGetLongPathNameA(".\\..\\foo\\file", buf, MAX_PATH);
> +    ok(ret, "GetLongPathName error %d\n", GetLastError());
> +    ok(!strcmp(buf, ".\\..\\foo\\file"), "expected .\\..\\foo\\file, got %s\n", buf);
> +    strcpy(buf, "deadbeef");
> +    ret = GetShortPathNameA(".\\..\\foo\\file", buf, MAX_PATH);
> +    ok(ret, "GetShortPathName error %d\n", GetLastError());
> +    ok(!strcmp(buf, ".\\..\\foo\\file"), "expected .\\..\\foo\\file, got %s\n", buf);
> +
>      SetCurrentDirectoryA("..");
>      DeleteFileA("foo\\file");
>      RemoveDirectoryA("foo");
> 

The patch causes test failures here:

../../../tools/runtest -q -P wine -T ../../.. -M kernel32.dll -p kernel32_test.exe.so path && touch path.ok
path.c:2141: Test failed: GetLongPathName error 2
path.c:2142: Test failed: expected .\..\foo\file, got deadbeef
[...]

After applying all patches those are gone. Is todo_wine missing maybe?




More information about the wine-devel mailing list