Commit b75bd062 authored by Alex Henrie's avatar Alex Henrie Committed by Alexandre Julliard

advapi32/tests: Accept a variable number of x's in some RegEnumValue name overflow tests.

Fixes intermittent testbot failures. Signed-off-by: 's avatarAlex Henrie <alexhenrie24@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 8fd1bd96
......@@ -545,7 +545,7 @@ static void test_enum_value(void)
data_count = 20;
type = 1234;
strcpy( value, "xxxxxxxxxx" );
strcpy( data, "xxxxxxxxxx" );
memset( data, 'x', sizeof(data) );
res = RegEnumValueA( test_key, 0, value, &val_count, NULL, &type, (LPBYTE)data, &data_count );
ok( res == ERROR_MORE_DATA, "expected ERROR_MORE_DATA, got %d\n", res );
ok( val_count == 3, "val_count set to %d\n", val_count );
......@@ -555,15 +555,16 @@ static void test_enum_value(void)
/* v5.1.2600.0 (XP Home and Professional) does not touch value or data in this case */
ok( !strcmp( value, "Te" ) || !strcmp( value, "xxxxxxxxxx" ),
"value set to '%s' instead of 'Te' or 'xxxxxxxxxx'\n", value );
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ) || broken( !strcmp( data, "xxxxxxxx" ) && data_count > 7 ),
"data set to '%s' instead of 'foobar' or 'xxxxxxx'\n", data );
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ) ||
broken( data_count > 7 && strspn( data, "x" ) == data_count && data[data_count] == 0 ),
"data set to '%s' instead of 'foobar' or x's, data_count=%u\n", data, data_count );
/* overflow empty name */
val_count = 0;
data_count = 20;
type = 1234;
strcpy( value, "xxxxxxxxxx" );
strcpy( data, "xxxxxxxxxx" );
memset( data, 'x', sizeof(data) );
res = RegEnumValueA( test_key, 0, value, &val_count, NULL, &type, (LPBYTE)data, &data_count );
ok( res == ERROR_MORE_DATA, "expected ERROR_MORE_DATA, got %d\n", res );
ok( val_count == 0, "val_count set to %d\n", val_count );
......@@ -572,8 +573,9 @@ static void test_enum_value(void)
ok( type == REG_SZ, "type %d is not REG_SZ\n", type );
ok( !strcmp( value, "xxxxxxxxxx" ), "value set to '%s'\n", value );
/* v5.1.2600.0 (XP Home and Professional) does not touch data in this case */
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ) || broken( !strcmp( data, "xxxxxxxx" ) && data_count > 7 ),
"data set to '%s' instead of 'foobar' or 'xxxxxxx'\n", data );
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ) ||
broken( data_count > 7 && strspn( data, "x" ) == data_count && data[data_count] == 0 ),
"data set to '%s' instead of 'foobar' or x's, data_count=%u\n", data, data_count );
/* overflow data */
val_count = 20;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment