source: rtems/testsuites/psxtests/psxenosys/init.c @ b95e69d2

4.115
Last change on this file since b95e69d2 was b95e69d2, checked in by Joel Sherrill <joel.sherrill@…>, on 08/19/10 at 19:55:29

2010-08-19 Joel Sherrill <joel.sherrilL@…>

  • psxenosys/init.c, psxenosys/psxenosys.scn: Update to reflect AIO submission.
  • Property mode set to 100644
File size: 3.6 KB
Line 
1/*
2 *  COPYRIGHT (c) 1989-2010.
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 *  $Id$
10 */
11
12#include <sys/types.h>
13#include <sys/wait.h>
14#if HAVE_SYS_MMAN_H
15/* POSIX mandates mprotect in sys/mman.h, but newlib doesn't have this */
16#include <sys/mman.h>
17#endif
18#include <pthread.h>
19
20#define CONFIGURE_INIT
21#include "system.h"
22#include "tmacros.h"
23
24#include <aio.h>
25#include <time.h>
26#include <devctl.h>
27#include <unistd.h>
28#include <sched.h>
29
30#if !HAVE_DECL_MPROTECT
31extern int mprotect(const void *addr, size_t len, int prot);
32#endif
33#if !HAVE_DECL_PTHREAD_ATFORK
34extern int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void));
35#endif
36
37void check_enosys(int status);
38
39void check_enosys(int status)
40{
41  if ( (status == -1) && (errno == ENOSYS) )
42    return;
43  puts( "ERROR -- did not return ENOSYS as expected" );
44  rtems_test_exit(0);
45}
46
47void *POSIX_Init(
48  void *argument
49)
50{
51  int             sc;
52
53  puts( "\n\n*** POSIX TEST -- ENOSYS ***" );
54
55  puts( "lio_listio -- ENOSYS" );
56  sc = lio_listio( 0, NULL, 0, NULL );
57  check_enosys( sc );
58
59  puts( "aio_cancel -- ENOSYS" );
60  sc = aio_cancel( 0, NULL );
61  check_enosys( sc );
62
63  puts( "aio_suspend -- ENOSYS" );
64  sc = aio_suspend( NULL, 0, NULL );
65  check_enosys( sc );
66
67  puts( "aio_fsync -- ENOSYS" );
68  sc = aio_fsync( 0, NULL );
69  check_enosys( sc );
70
71  puts( "clock_getcpuclockid -- ENOSYS" );
72  sc = clock_getcpuclockid( 0, NULL );
73  check_enosys( sc );
74
75  puts( "clock_getenable_attr -- ENOSYS" );
76  sc = clock_getenable_attr( 0, NULL );
77  check_enosys( sc );
78
79  puts( "clock_setenable_attr -- ENOSYS" );
80  sc = clock_setenable_attr( 0, 0 );
81  check_enosys( sc );
82
83  puts( "devctl -- ENOSYS" );
84  sc = devctl( 0, NULL, 0, NULL );
85  check_enosys( sc );
86
87  puts( "execl -- ENOSYS" );
88  sc = execl( NULL, NULL, (char*)0 );
89  check_enosys( sc );
90
91  puts( "execle -- ENOSYS" );
92  sc = execle( NULL, NULL, (char*)0, NULL );
93  check_enosys( sc );
94
95  puts( "execlp -- ENOSYS" );
96  sc = execlp( NULL, NULL, (char*)0 );
97  check_enosys( sc );
98
99  puts( "execv -- ENOSYS" );
100  sc = execv( NULL, NULL );
101  check_enosys( sc );
102
103  puts( "execve -- ENOSYS" );
104  sc = execve( NULL, NULL, NULL );
105  check_enosys( sc );
106
107  puts( "execvp -- ENOSYS" );
108  sc = execvp( NULL, NULL );
109  check_enosys( sc );
110
111  puts( "fork -- ENOSYS" );
112  sc = fork();
113  check_enosys( sc );
114
115  puts( "pthread_atfork -- ENOSYS" );
116  sc = pthread_atfork( NULL, NULL, NULL );
117  check_enosys( sc );
118
119  puts( "pthread_getcpuclockid -- ENOSYS" );
120  sc = pthread_getcpuclockid( 0, NULL );
121  check_enosys( sc );
122
123  puts( "sched_setparam -- ENOSYS" );
124  sc = sched_setparam( 0, NULL );
125  check_enosys( sc );
126
127  puts( "sched_getparam -- ENOSYS" );
128  sc = sched_getparam( 0, NULL );
129  check_enosys( sc );
130
131  puts( "sched_setscheduler -- ENOSYS" );
132  sc = sched_setscheduler( 0, 0, NULL );
133  check_enosys( sc );
134
135  puts( "sched_getscheduler -- ENOSYS" );
136  sc = sched_getscheduler( 0 );
137  check_enosys( sc );
138
139  puts( "wait -- ENOSYS" );
140  sc = wait( NULL );
141  check_enosys( sc );
142
143  puts( "waitpid -- ENOSYS" );
144  sc = waitpid( 0, NULL, 0 );
145  check_enosys( sc );
146
147  puts( "mprotect -- stub implementation - OK" );
148  sc = mprotect( NULL, 0, 0 );
149  posix_service_failed( sc, "mprotect" );
150
151  puts( "vfork -- stub implementation - OK" );
152  sc = vfork();
153  if ( sc != -1 ) {
154    puts( "vfork did not return -1" );
155    rtems_test_exit( 0 );
156  }
157
158  puts( "*** END OF POSIX TEST ENOSYS ***" );
159  rtems_test_exit( 0 );
160
161  return NULL; /* just so the compiler thinks we returned something */
162}
Note: See TracBrowser for help on using the repository browser.