[PATCH v2 1/8] kernel32/tests: Fix NtMapViewOfSection tests results for w1064v1809

Huw Davies huw at codeweavers.com
Mon Jun 17 04:39:14 CDT 2019


On Fri, Jun 14, 2019 at 03:11:10PM +0200, Rémi Bernon wrote:
> Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
> ---
>  dlls/kernel32/tests/virtual.c | 23 +++++++++++++++--------
>  1 file changed, 15 insertions(+), 8 deletions(-)
> 
> diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c
> index 0b718606d0e..47e61566c9c 100644
> --- a/dlls/kernel32/tests/virtual.c
> +++ b/dlls/kernel32/tests/virtual.c
> @@ -1265,8 +1265,8 @@ static void test_NtMapViewOfSection(void)
>      size = 0;
>      offset.QuadPart = 0;
>      status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 12, 0, &offset, &size, 1, 0, PAGE_READWRITE );

So this is trying to map a view into the lowest 1MB of the addr space,
wich is unlikely to succeed.  Let's change the '12' to a '1' in this
patch since that's what you did in [4/8] anyway.

> -    todo_wine
> -    ok( status == STATUS_NO_MEMORY, "NtMapViewOfSection returned %x\n", status );
> +    ok( status == STATUS_SUCCESS || status == STATUS_NO_MEMORY,
> +        "NtMapViewOfSection returned %x\n", status );
>      if (status == STATUS_SUCCESS)
>      {
>          status = pNtUnmapViewOfSection( hProcess, ptr2 );
> @@ -1288,7 +1288,8 @@ static void test_NtMapViewOfSection(void)
>      ptr2 = NULL;
>      size = 0;
>      status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 22, 0, &offset, &size, 1, 0, PAGE_READWRITE );
> -    ok( status == STATUS_INVALID_PARAMETER_4, "NtMapViewOfSection returned %x\n", status );
> +    ok( status == STATUS_INVALID_PARAMETER_4 || status == STATUS_INVALID_PARAMETER,
> +        "NtMapViewOfSection returned %x\n", status );
>      if (status == STATUS_SUCCESS)
>      {
>          status = pNtUnmapViewOfSection( hProcess, ptr2 );
> @@ -1328,25 +1329,30 @@ static void test_NtMapViewOfSection(void)
>      size = 0;
>      offset.QuadPart = 0;
>      status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 12, 0, &offset, &size, 1, 0, PAGE_READWRITE );

Also, changing this and the other non-zero zero_bits below to '1'
would improve the tests.  i.e. it's something that one would expect to
succeed if ptr2 was set to NULL.

> -    ok( status == STATUS_INVALID_PARAMETER_4, "NtMapViewOfSection returned %x\n", status );
> +    ok( status == STATUS_INVALID_PARAMETER_4 || status == STATUS_INVALID_PARAMETER ||
> +        broken(STATUS_MAPPED_ALIGNMENT) /* w1064v1809 inconsistently returns STATUS_MAPPED_ALIGNMENT or STATUS_INVALID_PARAMETER */,
> +        "NtMapViewOfSection returned %x\n", status );
>  
>      ptr2 = (char *)ptr + 0x1000;
>      size = 0;
>      offset.QuadPart = 0;
>      status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 16, 0, &offset, &size, 1, 0, PAGE_READWRITE );
> -    ok( status == STATUS_INVALID_PARAMETER_4, "NtMapViewOfSection returned %x\n", status );
> +    ok( status == STATUS_INVALID_PARAMETER_4 || status == STATUS_INVALID_PARAMETER,
> +        "NtMapViewOfSection returned %x\n", status );
>  
>      ptr2 = (char *)ptr + 0x1001;
>      size = 0;
>      offset.QuadPart = 0;
>      status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 16, 0, &offset, &size, 1, 0, PAGE_READWRITE );
> -    ok( status == STATUS_INVALID_PARAMETER_4, "NtMapViewOfSection returned %x\n", status );
> +    ok( status == STATUS_INVALID_PARAMETER_4 || status == STATUS_INVALID_PARAMETER,
> +        "NtMapViewOfSection returned %x\n", status );
>  
>      ptr2 = (char *)ptr + 0x1000;
>      size = 0;
>      offset.QuadPart = 1;
>      status = pNtMapViewOfSection( mapping, hProcess, &ptr2, 16, 0, &offset, &size, 1, 0, PAGE_READWRITE );
> -    ok( status == STATUS_INVALID_PARAMETER_4, "NtMapViewOfSection returned %x\n", status );
> +    ok( status == STATUS_INVALID_PARAMETER_4 || status == STATUS_INVALID_PARAMETER,
> +        "NtMapViewOfSection returned %x\n", status );
>  

Huw.



More information about the wine-devel mailing list