From 9b7d191055ade5069c6325fa857e007b4c658b14 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 18 Oct 2000 23:38:13 +0000 Subject: More updates. Implement strsignal. Add pwd_grp tests --- test/pwd_grp/test_pwd.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 test/pwd_grp/test_pwd.c (limited to 'test/pwd_grp/test_pwd.c') diff --git a/test/pwd_grp/test_pwd.c b/test/pwd_grp/test_pwd.c new file mode 100644 index 000000000..9d2186695 --- /dev/null +++ b/test/pwd_grp/test_pwd.c @@ -0,0 +1,87 @@ +/* + * test_pwd.c - This file is part of the libc-8086/pwd package for ELKS, + * Copyright (C) 1995, 1996 Nat Friedman . + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +#include +#include +#include +#include + +int main(int argc, char **argv) +{ + struct passwd *passwd; + int test_uid; + + fprintf(stdout, "Beginning test of libc/pwd...\n"); + + fprintf(stdout, "=> Testing setpwent(), getpwent(), endpwent()...\n"); + fprintf(stdout, "-> setpwent()...\n"); + setpwent(); + fprintf(stdout, "-> getpwent()...\n"); + printf + ("********************************************************************************\n"); + while ((passwd = getpwent()) != NULL) { + printf("pw_name\t\t: %s\n", passwd->pw_name); + printf("pw_passwd\t: %s\n", passwd->pw_passwd); + printf("pw_uid\t\t: %d\n", (int) passwd->pw_uid); + printf("pw_gid\t\t: %d\n", (int) passwd->pw_gid); + printf("pw_gecos\t: %s\n", passwd->pw_gecos); + printf("pw_dir\t\t: %s\n", passwd->pw_dir); + printf("pw_shell\t: %s\n", passwd->pw_shell); + printf + ("********************************************************************************\n"); + } + fprintf(stdout, "-> endpwent()...\n"); + endpwent(); + fprintf(stdout, + "=> Test of setpwent(), getpwent(), endpwent() complete.\n"); + fprintf(stdout, "=> Testing getpwuid(), getpwnam()...\n"); + fprintf(stdout, "-> getpwuid()...\n"); + printf + ("********************************************************************************\n"); + for (test_uid = 0; test_uid < 1000; test_uid++) { + fprintf(stdout, "-> getpwuid(%d)...\n", test_uid); + passwd = getpwuid((uid_t) test_uid); + if (passwd != NULL) { + printf("pw_name\t\t: %s\n", passwd->pw_name); + printf("pw_passwd\t: %s\n", passwd->pw_passwd); + printf("pw_uid\t\t: %d\n", (int) passwd->pw_uid); + printf("pw_gid\t\t: %d\n", (int) passwd->pw_gid); + printf("pw_gecos\t: %s\n", passwd->pw_gecos); + printf("pw_dir\t\t: %s\n", passwd->pw_dir); + printf("pw_shell\t: %s\n", passwd->pw_shell); + printf + ("********************************************************************************\n"); + } + } + fprintf(stdout, "-> getpwnam()...\n"); + passwd = getpwnam("root"); + if (passwd == NULL) { + printf(">NULL<\n"); + } else { + printf("pw_name\t\t: %s\n", passwd->pw_name); + printf("pw_passwd\t: %s\n", passwd->pw_passwd); + printf("pw_uid\t\t: %d\n", (int) passwd->pw_uid); + printf("pw_gid\t\t: %d\n", (int) passwd->pw_gid); + printf("pw_gecos\t: %s\n", passwd->pw_gecos); + printf("pw_dir\t\t: %s\n", passwd->pw_dir); + printf("pw_shell\t: %s\n", passwd->pw_shell); + } + return 0; +} -- cgit v1.2.3