diff options
author | Andreas Schneider <asn@cynapses.org> | 2010-06-03 16:44:47 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cynapses.org> | 2010-06-03 16:44:47 +0200 |
commit | 216cabc563e5629b0dad0d065bc1cc4ea8f91bba (patch) | |
tree | 61fbdd292c5cfc5327eeee694cd78aa11a9e8ea5 /tests/unittests | |
parent | 5dd4f7604f8007df1a11ff0cab55423a622342bc (diff) | |
download | libssh-216cabc563e5629b0dad0d065bc1cc4ea8f91bba.tar.gz libssh-216cabc563e5629b0dad0d065bc1cc4ea8f91bba.tar.xz libssh-216cabc563e5629b0dad0d065bc1cc4ea8f91bba.zip |
tests: Move getpwuid_r to a setup function.
Diffstat (limited to 'tests/unittests')
-rw-r--r-- | tests/unittests/torture_options.c | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/tests/unittests/torture_options.c b/tests/unittests/torture_options.c index 5a83a2f..748c89a 100644 --- a/tests/unittests/torture_options.c +++ b/tests/unittests/torture_options.c @@ -4,12 +4,32 @@ #include "options.c" ssh_session session; +#ifndef _WIN32 +struct passwd pwd; +#endif /* _WIN32 */ static void setup(void) { session = ssh_new(); } +static void setup_passwd(void) { + int rc; +#ifndef _WIN32 +#ifndef NSS_BUFLEN_PASSWD +#define NSS_BUFLEN_PASSWD 4096 +#endif /* NSS_BUFLEN_PASSWD */ + struct passwd *pwdbuf; + char buf[NSS_BUFLEN_PASSWD]; + + /* get local username */ + rc = getpwuid_r(getuid(), &pwd, buf, NSS_BUFLEN_PASSWD, &pwdbuf); + ck_assert(rc == 0); +#endif /* _WIN32 */ + session = ssh_new(); +} + static void teardown(void) { + ZERO_STRUCT(pwd); ssh_free(session); } @@ -69,14 +89,6 @@ END_TEST START_TEST (torture_options_set_user) { int rc; -#ifndef _WIN32 -#ifndef NSS_BUFLEN_PASSWD -#define NSS_BUFLEN_PASSWD 4096 -#endif - struct passwd pwd; - struct passwd *pwdbuf; - char buf[NSS_BUFLEN_PASSWD]; -#endif rc = ssh_options_set(session, SSH_OPTIONS_USER, "guru"); ck_assert(rc == 0); @@ -87,10 +99,6 @@ START_TEST (torture_options_set_user) ck_assert(rc == 0); #ifndef _WIN32 - /* get local username */ - rc = getpwuid_r(getuid(), &pwd, buf, NSS_BUFLEN_PASSWD, &pwdbuf); - ck_assert(rc == 0); - ck_assert_str_eq(session->username, pwd.pw_name); #endif } @@ -129,7 +137,7 @@ Suite *torture_make_suite(void) { torture_create_case_fixture(s, "torture_options_set_fd", torture_options_set_fd, setup, teardown); torture_create_case_fixture(s, "torture_options_set_user", - torture_options_set_user, setup, teardown); + torture_options_set_user, setup_passwd, teardown); torture_create_case_fixture(s, "torture_options_set_identity", torture_options_set_identity, setup, teardown); |