Commit 8b01f4ae authored by Paul Vriens's avatar Paul Vriens Committed by Alexandre Julliard

userenv/tests: Rewrite the test to cope with multiple blocks of tests.

parent c19b967c
...@@ -157,7 +157,7 @@ static void test_create_env(void) ...@@ -157,7 +157,7 @@ static void test_create_env(void)
{ {
BOOL r; BOOL r;
HANDLE htok; HANDLE htok;
WCHAR * env1, * env2, * env3, * env4; WCHAR * env[4];
char * st; char * st;
int i, j; int i, j;
...@@ -175,15 +175,13 @@ static void test_create_env(void) ...@@ -175,15 +175,13 @@ static void test_create_env(void)
{ "SystemDrive", { 1, 1, 0, 0 } }, { "SystemDrive", { 1, 1, 0, 0 } },
{ "SystemRoot", { 1, 1, 0, 0 } }, { "SystemRoot", { 1, 1, 0, 0 } },
{ "windir", { 1, 1, 0, 0 } }, { "windir", { 1, 1, 0, 0 } },
{ "ProgramFiles", { 1, 1, 0, 0 } }, { "ProgramFiles", { 1, 1, 0, 0 } }
{ 0, { 0, 0, 0, 0 } }
}; };
static const struct profile_item htok_vars[] = { static const struct profile_item htok_vars[] = {
{ "PATH", { 1, 1, 0, 0 } }, { "PATH", { 1, 1, 0, 0 } },
{ "TEMP", { 1, 1, 0, 0 } }, { "TEMP", { 1, 1, 0, 0 } },
{ "TMP", { 1, 1, 0, 0 } }, { "TMP", { 1, 1, 0, 0 } },
{ "USERPROFILE", { 1, 1, 0, 0 } }, { "USERPROFILE", { 1, 1, 0, 0 } }
{ 0, { 0, 0, 0, 0 } }
}; };
r = SetEnvironmentVariableA("WINE_XYZZY", "ZZYZX"); r = SetEnvironmentVariableA("WINE_XYZZY", "ZZYZX");
...@@ -206,87 +204,51 @@ static void test_create_env(void) ...@@ -206,87 +204,51 @@ static void test_create_env(void)
expect(FALSE, r); expect(FALSE, r);
} }
r = CreateEnvironmentBlock((LPVOID) &env1, NULL, FALSE); r = CreateEnvironmentBlock((LPVOID) &env[0], NULL, FALSE);
expect(TRUE, r); expect(TRUE, r);
r = CreateEnvironmentBlock((LPVOID) &env2, htok, FALSE); r = CreateEnvironmentBlock((LPVOID) &env[1], htok, FALSE);
expect(TRUE, r); expect(TRUE, r);
r = CreateEnvironmentBlock((LPVOID) &env3, NULL, TRUE); r = CreateEnvironmentBlock((LPVOID) &env[2], NULL, TRUE);
expect(TRUE, r); expect(TRUE, r);
r = CreateEnvironmentBlock((LPVOID) &env4, htok, TRUE); r = CreateEnvironmentBlock((LPVOID) &env[3], htok, TRUE);
expect(TRUE, r); expect(TRUE, r);
/* Test for common environment variables */ /* Test for common environment variables */
i = 0; for (i = 0; i < sizeof(common_vars)/sizeof(common_vars[0]); i++)
while (common_vars[i].name)
{ {
j = 0; for (j = 0; j < 4; j++)
r = get_env(env1, common_vars[i].name, &st); {
if (common_vars[i].todo[j]) r = get_env(env[j], common_vars[i].name, &st);
todo_wine expect_env(TRUE, r, common_vars[i].name); if (common_vars[i].todo[j])
else todo_wine expect_env(TRUE, r, common_vars[i].name);
expect_env(TRUE, r, common_vars[i].name); else
j++; expect_env(TRUE, r, common_vars[i].name);
r = get_env(env2, common_vars[i].name, &st); }
if (common_vars[i].todo[j])
todo_wine expect_env(TRUE, r, common_vars[i].name);
else
expect_env(TRUE, r, common_vars[i].name);
j++;
r = get_env(env3, common_vars[i].name, &st);
if (common_vars[i].todo[j])
todo_wine expect_env(TRUE, r, common_vars[i].name);
else
expect_env(TRUE, r, common_vars[i].name);
j++;
r = get_env(env4, common_vars[i].name, &st);
if (common_vars[i].todo[j])
todo_wine expect_env(TRUE, r, common_vars[i].name);
else
expect_env(TRUE, r, common_vars[i].name);
i++;
} }
/* Test for environment variables with values that depends on htok */ /* Test for environment variables with values that depends on htok */
i = 0; for (i = 0; i < sizeof(htok_vars)/sizeof(htok_vars[0]); i++)
while (htok_vars[i].name)
{ {
j = 0; for (j = 0; j < 4; j++)
r = get_env(env1, htok_vars[i].name, &st); {
if (htok_vars[i].todo[j]) r = get_env(env[j], htok_vars[i].name, &st);
todo_wine expect_env(TRUE, r, htok_vars[i].name); if (htok_vars[i].todo[j])
else todo_wine expect_env(TRUE, r, htok_vars[i].name);
expect_env(TRUE, r, htok_vars[i].name); else
j++; expect_env(TRUE, r, htok_vars[i].name);
r = get_env(env2, htok_vars[i].name, &st); }
if (htok_vars[i].todo[j])
todo_wine expect_env(TRUE, r, htok_vars[i].name);
else
expect_env(TRUE, r, htok_vars[i].name);
j++;
r = get_env(env3, htok_vars[i].name, &st);
if (htok_vars[i].todo[j])
todo_wine expect_env(TRUE, r, htok_vars[i].name);
else
expect_env(TRUE, r, htok_vars[i].name);
j++;
r = get_env(env4, htok_vars[i].name, &st);
if (htok_vars[i].todo[j])
todo_wine expect_env(TRUE, r, htok_vars[i].name);
else
expect_env(TRUE, r, htok_vars[i].name);
i++;
} }
r = get_env(env1, "WINE_XYZZY", &st); r = get_env(env[0], "WINE_XYZZY", &st);
expect(FALSE, r); expect(FALSE, r);
r = get_env(env2, "WINE_XYZZY", &st); r = get_env(env[1], "WINE_XYZZY", &st);
expect(FALSE, r); expect(FALSE, r);
r = get_env(env3, "WINE_XYZZY", &st); r = get_env(env[2], "WINE_XYZZY", &st);
expect(TRUE, r); expect(TRUE, r);
r = get_env(env4, "WINE_XYZZY", &st); r = get_env(env[3], "WINE_XYZZY", &st);
expect(TRUE, r); expect(TRUE, r);
} }
......
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