advapi32/tests: Fix RegEnumValue overflow tests for broken behaviour on XP Pro Chinese.
This commit is contained in:
parent
57e00c851e
commit
fd30e69538
|
@ -462,7 +462,7 @@ static void test_enum_value(void)
|
||||||
res = RegEnumValueA( test_key, 0, value, &val_count, NULL, &type, (LPBYTE)data, &data_count );
|
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( res == ERROR_MORE_DATA, "expected ERROR_MORE_DATA, got %d\n", res );
|
||||||
ok( val_count == 2, "val_count set to %d\n", val_count );
|
ok( val_count == 2, "val_count set to %d\n", val_count );
|
||||||
ok( data_count == 7, "data_count set to %d instead of 7\n", data_count );
|
ok( data_count == 7 || broken( data_count == 8 ), "data_count set to %d instead of 7\n", data_count );
|
||||||
ok( type == REG_SZ, "type %d is not REG_SZ\n", type );
|
ok( type == REG_SZ, "type %d is not REG_SZ\n", type );
|
||||||
ok( !strcmp( value, "xxxxxxxxxx" ), "value set to '%s'\n", value );
|
ok( !strcmp( value, "xxxxxxxxxx" ), "value set to '%s'\n", value );
|
||||||
ok( !strcmp( data, "xxxxxxxxxx" ), "data set to '%s'\n", data );
|
ok( !strcmp( data, "xxxxxxxxxx" ), "data set to '%s'\n", data );
|
||||||
|
@ -477,12 +477,12 @@ static void test_enum_value(void)
|
||||||
ok( res == ERROR_MORE_DATA, "expected ERROR_MORE_DATA, got %d\n", res );
|
ok( res == ERROR_MORE_DATA, "expected ERROR_MORE_DATA, got %d\n", res );
|
||||||
/* Win9x returns 2 as specified by MSDN but NT returns 3... */
|
/* Win9x returns 2 as specified by MSDN but NT returns 3... */
|
||||||
ok( val_count == 2 || val_count == 3, "val_count set to %d\n", val_count );
|
ok( val_count == 2 || val_count == 3, "val_count set to %d\n", val_count );
|
||||||
ok( data_count == 7, "data_count set to %d instead of 7\n", data_count );
|
ok( data_count == 7 || broken( data_count == 8 ), "data_count set to %d instead of 7\n", data_count );
|
||||||
ok( type == REG_SZ, "type %d is not REG_SZ\n", type );
|
ok( type == REG_SZ, "type %d is not REG_SZ\n", type );
|
||||||
/* v5.1.2600.0 (XP Home and Professional) does not touch value or data in this case */
|
/* v5.1.2600.0 (XP Home and Professional) does not touch value or data in this case */
|
||||||
ok( !strcmp( value, "Te" ) || !strcmp( value, "xxxxxxxxxx" ),
|
ok( !strcmp( value, "Te" ) || !strcmp( value, "xxxxxxxxxx" ),
|
||||||
"value set to '%s' instead of 'Te' or 'xxxxxxxxxx'\n", value );
|
"value set to '%s' instead of 'Te' or 'xxxxxxxxxx'\n", value );
|
||||||
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ),
|
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ) || broken( !strcmp( data, "xxxxxxxx" ) && data_count == 8 ),
|
||||||
"data set to '%s' instead of 'foobar' or 'xxxxxxx'\n", data );
|
"data set to '%s' instead of 'foobar' or 'xxxxxxx'\n", data );
|
||||||
|
|
||||||
/* overflow empty name */
|
/* overflow empty name */
|
||||||
|
@ -494,11 +494,11 @@ static void test_enum_value(void)
|
||||||
res = RegEnumValueA( test_key, 0, value, &val_count, NULL, &type, (LPBYTE)data, &data_count );
|
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( res == ERROR_MORE_DATA, "expected ERROR_MORE_DATA, got %d\n", res );
|
||||||
ok( val_count == 0, "val_count set to %d\n", val_count );
|
ok( val_count == 0, "val_count set to %d\n", val_count );
|
||||||
ok( data_count == 7, "data_count set to %d instead of 7\n", data_count );
|
ok( data_count == 7 || broken( data_count == 8 ), "data_count set to %d instead of 7\n", data_count );
|
||||||
ok( type == REG_SZ, "type %d is not REG_SZ\n", type );
|
ok( type == REG_SZ, "type %d is not REG_SZ\n", type );
|
||||||
ok( !strcmp( value, "xxxxxxxxxx" ), "value set to '%s'\n", value );
|
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 */
|
/* v5.1.2600.0 (XP Home and Professional) does not touch data in this case */
|
||||||
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ),
|
ok( !strcmp( data, "foobar" ) || !strcmp( data, "xxxxxxx" ) || broken( !strcmp( data, "xxxxxxxx" ) && data_count == 8 ),
|
||||||
"data set to '%s' instead of 'foobar' or 'xxxxxxx'\n", data );
|
"data set to '%s' instead of 'foobar' or 'xxxxxxx'\n", data );
|
||||||
|
|
||||||
/* overflow data */
|
/* overflow data */
|
||||||
|
|
Loading…
Reference in New Issue