source: rtems/testsuites/psxtests/psxpasswd01/init.c @ 9b4422a2

4.115
Last change on this file since 9b4422a2 was 9b4422a2, checked in by Joel Sherrill <joel.sherrill@…>, on 05/03/12 at 15:09:24

Remove All CVS Id Strings Possible Using a Script

Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines

next to each other after Id string line removed.

+ remove entire comment blocks which only exited to

contain CVS Ids

+ If the processing left a blank line at the top of

a file, it was removed.

  • Property mode set to 100644
File size: 4.2 KB
Line 
1/*
2 *  COPYRIGHT (c) 1989-2009.
3 *  On-Line Applications Research Corporation (OAR).
4 *
5 *  The license and distribution terms for this file may be
6 *  found in the file LICENSE in this distribution or at
7 *  http://www.rtems.com/license/LICENSE.
8 */
9
10#ifdef HAVE_CONFIG_H
11#include "config.h"
12#endif
13
14#include <bsp.h>
15#include <pmacros.h>
16#include <sys/types.h>
17#include <pwd.h>
18#include <grp.h>
19
20void print_passwd(
21  struct passwd *pw
22)
23{
24  printf(
25    "  username: %s\n"
26    "  user password: %s\n"
27    "  user ID: %d\n"
28    "  group ID: %d\n"
29    "  real name: %s\n"
30    "  home directory: %s\n"
31    "  shell program: %s\n",
32    pw->pw_name,
33    pw->pw_passwd,
34    pw->pw_uid,
35    pw->pw_gid,
36    pw->pw_gecos,
37    pw->pw_dir,
38    pw->pw_shell
39  );
40}
41 
42void print_group(
43  struct group *gr
44)
45{
46  printf(
47    "  group name: %s\n"
48    "  group  password: %s\n"
49    "  group  ID: %d\n",
50    gr->gr_name,
51    gr->gr_passwd,
52    gr->gr_gid
53  );
54
55  /* TBD print users in group */
56}
57 
58rtems_task Init(
59  rtems_task_argument ignored
60)
61{
62  struct passwd *pw;
63  struct group  *gr;
64
65  puts( "*** PASSWORD/GROUP TEST - 01 ***" );
66
67  /* getpwent */
68  puts( "Init - getpwent() -- OK, result should be NULL" );
69  pw = getpwent();
70  rtems_test_assert( !pw );
71
72  /* getgrent */
73  puts( "Init - getgrent() -- OK, result should be NULL" );
74  gr = getgrent();
75  rtems_test_assert( !gr );
76
77  /* setpwent */
78
79  puts( "Init - setpwent() -- OK" );
80  setpwent();
81
82  /* setgrent */
83
84  puts( "Init - setgrent() -- OK" );
85  setgrent();
86
87  /* getpwent */
88
89  puts( "Init - getpwent() (1) -- OK" );
90  pw = getpwent();
91  rtems_test_assert( pw );
92  print_passwd( pw );
93
94  puts( "Init - getpwent() (2) -- OK" );
95  pw = getpwent();
96  rtems_test_assert( pw );
97  print_passwd( pw );
98
99  puts( "Init - getpwent() (3) -- OK" );
100  pw = getpwent();
101  rtems_test_assert( pw );
102  print_passwd( pw );
103
104  puts( "Init - getpwent() (4) -- result should be NULL" );
105  pw = getpwent();
106  rtems_test_assert( !pw );
107
108  /* getgrent */
109
110  puts( "Init - getgrent() (1) -- OK" );
111  gr = getgrent();
112  rtems_test_assert( gr );
113  print_group( gr );
114
115  puts( "Init - getgrent() (2) -- OK" );
116  gr = getgrent();
117  rtems_test_assert( gr );
118  print_group( gr );
119
120  puts( "Init - getgrent() (3) -- OK" );
121  gr = getgrent();
122  rtems_test_assert( gr );
123  print_group( gr );
124
125  puts( "Init - getgrent() (4) -- result should be NULL" );
126  gr = getgrent();
127  rtems_test_assert( !gr );
128
129  /* getpwnam */
130  puts( "Init - getpwnam(\"root\") -- OK" );
131  pw = getpwnam( "root" );
132  rtems_test_assert( pw );
133  print_passwd( pw );
134
135  puts( "Init - getpwnam(\"rtems\") -- OK" );
136  pw = getpwnam( "rtems" );
137  rtems_test_assert( pw );
138  print_passwd( pw );
139
140  puts( "Init - getpwnam(\"suser\") -- result should be NULL" );
141  pw = getpwnam( "suser" );
142  rtems_test_assert( !pw );
143
144  /* getpwuid */
145  puts( "Init - getpwuid(0) -- OK" );
146  pw = getpwuid( 0 );
147  rtems_test_assert( pw );
148  print_passwd( pw );
149
150  puts( "Init - getpwuid(1) -- OK" );
151  pw = getpwuid( 1 );
152  rtems_test_assert( pw );
153  print_passwd( pw );
154
155  puts( "Init - getpwuid(4) -- result should be NULL" );
156  pw = getpwuid( 4 );
157  rtems_test_assert( !pw );
158
159  /* getgrnam */
160  puts( "Init - getgrnam(\"root\") -- OK" );
161  gr = getgrnam("root");
162  rtems_test_assert( gr );
163  print_group( gr );
164
165  puts( "Init - getgrnam(\"rtems\") -- OK" );
166  gr = getgrnam("rtems");
167  rtems_test_assert( gr );
168  print_group( gr );
169
170  /* getgrgid */
171  puts( "Init - getgrgid(0) -- OK" );
172  gr = getgrgid(0);
173  rtems_test_assert( gr );
174  print_group( gr );
175
176  puts( "Init - getgrgid(1) -- OK" );
177  gr = getgrgid(1);
178  rtems_test_assert( gr );
179  print_group( gr );
180
181  puts( "Init - getgrgid(4) -- result should be NULL");
182  gr = getgrgid( 4 );
183  rtems_test_assert( !gr );
184
185  /* endpwent */
186  puts( "Init - endpwent() -- OK" );
187  endpwent();
188
189  /* endgrent */
190  puts( "Init - endgrent() -- OK" );
191  endgrent();
192
193  puts( "*** END OF PASSWORD/GROUP TEST - 01 ***" );
194  rtems_test_exit( 0 );
195}
196
197/* configuration information */
198
199#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
200#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
201
202#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
203#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 6
204
205#define CONFIGURE_MAXIMUM_TASKS 1
206#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
207
208#define CONFIGURE_INIT
209#include <rtems/confdefs.h>
210/* end of file */
Note: See TracBrowser for help on using the repository browser.