summaryrefslogtreecommitdiff
path: root/tests/src
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2012-02-15 11:48:26 +1100
committerRobert Ancell <robert.ancell@canonical.com>2012-02-15 11:48:26 +1100
commit5abcd9c4939015454cfa09e24e3a3201678751a0 (patch)
tree8b819b7596e030ab0f054847ea198a2e3ff6996a /tests/src
parentb64b70cdb59412e2a33dc1f28f934054bf4b5fc9 (diff)
downloadlightdm-5abcd9c4939015454cfa09e24e3a3201678751a0.tar.gz
Add a regression test to check PAM renaming users works
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/libsystem.c9
-rw-r--r--tests/src/test-runner.c2
2 files changed, 9 insertions, 2 deletions
diff --git a/tests/src/libsystem.c b/tests/src/libsystem.c
index 77b2c88e..63fb467f 100644
--- a/tests/src/libsystem.c
+++ b/tests/src/libsystem.c
@@ -339,10 +339,15 @@ pam_authenticate (pam_handle_t *pamh, int flags)
free (resp);
}
- /* Special user dave has his home directory created on login */
+ /* Special user 'dave' has his home directory created on login */
if (password_matches && strcmp (pamh->user, "dave") == 0)
- {
g_mkdir_with_parents (entry->pw_dir, 0755);
+
+ /* Special user 'user0' changes user on authentication */
+ if (password_matches && strcmp (pamh->user, "user0") == 0)
+ {
+ g_free (pamh->user);
+ pamh->user = g_strdup ("user1");
}
if (password_matches)
diff --git a/tests/src/test-runner.c b/tests/src/test-runner.c
index c08e3954..6e088dab 100644
--- a/tests/src/test-runner.c
+++ b/tests/src/test-runner.c
@@ -1217,6 +1217,8 @@ main (int argc, char **argv)
{"bob", "", TRUE, "Bob User", NULL, "us", NULL, "en_AU.utf8", 1001},
{"carol", "", TRUE, "Carol User", "alternative", "ru", "fr\toss;ru;", "fr_FR.UTF-8", 1002},
{"dave", "", FALSE, "Dave User", NULL, NULL, NULL, NULL, 1003},
+ {"user0", "", TRUE, "User 0", NULL, NULL, NULL, NULL, 1004},
+ {"user1", "", TRUE, "User 1", NULL, NULL, NULL, NULL, 1005},
{NULL, NULL, FALSE, NULL, NULL, NULL, NULL, NULL, 0}
};
passwd_data = g_string_new ("");