From: Eric Pouech epouech@codeweavers.com
Signed-off-by: Eric Pouech epouech@codeweavers.com --- dlls/msvcrt/tests/environ.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/dlls/msvcrt/tests/environ.c b/dlls/msvcrt/tests/environ.c index 8f53f093093..3288c5ab99c 100644 --- a/dlls/msvcrt/tests/environ.c +++ b/dlls/msvcrt/tests/environ.c @@ -406,6 +406,17 @@ static void test_environment_manipulation(void) ok( count + 1 == env_get_entry_countA( *p_environ ), "Unexpected count\n" ); ok( _putenv( "__winetest_dog=" ) == 0, "Couldn't reset env var\n" ); ok( count == env_get_entry_countA( *p_environ ), "Unexpected count\n" ); + + /* in putenv, only changed variable is updated (no other reload of kernel info is done) */ + ok( _putenv( "__winetest_duck=" ) == 0, "Couldn't reset env var\n" ); + ok( _putenv( "__winetest_elephant=" ) == 0, "Couldn't reset env var\n" ); + ret = SetEnvironmentVariableA( "__winetest_duck", "quack" ); + ok( ret, "SetEnvironmentVariableA failed: %lu\n", GetLastError() ); + ok( _putenv( "__winetest_elephant=trumpet" ) == 0, "Couldn't set env var\n" ); + todo_wine + ok( getenv( "__winetest_duck" ) == NULL, "msvcrt env cache shouldn't have been updated\n" ); + ok( _putenv( "__winetest_duck=" ) == 0, "Couldn't reset env var\n" ); + ok( _putenv( "__winetest_elephant=" ) == 0, "Couldn't reset env var\n" ); }
START_TEST(environ)