diff options
Diffstat (limited to 'testsuites/psxtests')
-rw-r--r-- | testsuites/psxtests/psxchroot01/test.c | 56 | ||||
-rw-r--r-- | testsuites/psxtests/psxfchx01/init.c | 4 | ||||
-rw-r--r-- | testsuites/psxtests/psxfile01/main.c | 1 | ||||
-rw-r--r-- | testsuites/psxtests/psxfile01/test.c | 10 | ||||
-rw-r--r-- | testsuites/psxtests/psximfs02/init.c | 41 | ||||
-rw-r--r-- | testsuites/psxtests/psxmount/test.c | 108 | ||||
-rw-r--r-- | testsuites/psxtests/psxreaddir/test.c | 44 | ||||
-rw-r--r-- | testsuites/psxtests/psxstat/test.c | 44 |
8 files changed, 140 insertions, 168 deletions
diff --git a/testsuites/psxtests/psxchroot01/test.c b/testsuites/psxtests/psxchroot01/test.c index a5714253b4..95a4ee10e3 100644 --- a/testsuites/psxtests/psxchroot01/test.c +++ b/testsuites/psxtests/psxchroot01/test.c @@ -1,23 +1,10 @@ /* - * This is a native test to explore how the readdir() family works. - * Newlib supports the following readdir() family members: - * - * closedir() - - * readdir() - - * scandir() - - * opendir() - - * rewinddir() - - * telldir() - BSD not in POSIX - * seekdir() - BSD not in POSIX - * - * - * seekdir() takes an offset which is a byte offset. The Linux - * implementation of this appears to seek to the ((off/DIRENT_SIZE) + 1) - * record where DIRENT_SIZE seems to be 12 bytes. - * * COPYRIGHT (c) 1989-2010. * On-Line Applications Research Corporation (OAR). * + * Modifications to support reference counting in the file system are + * Copyright (c) 2012 embedded brains GmbH. + * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. @@ -37,10 +24,11 @@ #include <errno.h> #include <rtems/libio.h> #include <rtems/userenv.h> +#include <rtems/malloc.h> #include <pmacros.h> #include <rtems/libcsupport.h> -void touch( char *file ) +static void touch( char *file ) { int fd; @@ -51,7 +39,7 @@ void touch( char *file ) close( fd ); } -int fileexists( char *file ) +static int fileexists( char *file ) { int status; struct stat statbuf; @@ -77,7 +65,7 @@ int main( #endif { int status; - void *alloc_ptr = (void *)0; + void *opaque; /* * This test is the C equivalent of this sequence. #mkdir /one @@ -108,21 +96,27 @@ int main( touch( "/one/one.test" ); touch( "/one/two/two.test" ); - puts( "allocate most of memory - attempt to fail chroot - expect ENOTSUP" ); - alloc_ptr = malloc( malloc_free_space() - 4 ); - rtems_test_assert( alloc_ptr != NULL ); + puts( "chroot with bad path - expect ENOENT" ); + status = chroot( "/three" ); + rtems_test_assert( status == -1 ); + rtems_test_assert( errno == ENOENT ); - status = chroot( "/one" ); + puts( "chroot with file - expect ENOTDIR" ); + status = chroot( "/one/one.test" ); rtems_test_assert( status == -1 ); - rtems_test_assert( errno == ENOTSUP ); + rtems_test_assert( errno == ENOTDIR ); - puts( "freeing the allocated memory" ); - free( alloc_ptr ); + puts( "allocate most of memory - attempt to fail chroot - expect ENOMEM" ); + opaque = rtems_heap_greedy_allocate( + sizeof(rtems_filesystem_global_location_t) + ); - puts( "chroot with bad path - expect EFAULT" ); - status = chroot( NULL ); + status = chroot( "/one" ); rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EFAULT ); + rtems_test_assert( errno == ENOMEM ); + + puts( "freeing the allocated memory" ); + rtems_heap_greedy_free( opaque ); status = chroot( "/one" ); rtems_test_assert( status == 0 ); @@ -133,8 +127,8 @@ int main( status = fileexists( "/two/two.test" ); printf( "%s on /two/two.test\n", (status) ? "SUCCESS" : "FAILURE" ); - puts( "Reset the private environment" ); - rtems_libio_set_private_env(); + puts( "Go back to global environment" ); + rtems_libio_use_global_env(); status = fileexists( "/one/one.test" ); printf( "%s on /one/one.test\n", ( status) ? "SUCCESS" : "FAILURE" ); diff --git a/testsuites/psxtests/psxfchx01/init.c b/testsuites/psxtests/psxfchx01/init.c index 9b984cd71e..7ef030e5dc 100644 --- a/testsuites/psxtests/psxfchx01/init.c +++ b/testsuites/psxtests/psxfchx01/init.c @@ -47,7 +47,7 @@ rtems_task Init( rtems_test_assert( errno == EBADF ); puts( "Init - opening /newfile in write-mode -- OK" ); - fd = open( "/newfile", O_WRONLY | O_CREAT, S_IWUSR ); + fd = open( "/newfile", O_WRONLY | O_CREAT, S_IWUSR | S_IXUSR ); rtems_test_assert( fd != -1 ); puts( "Init - fchdir on the file descriptor - expect ENOTDIR" ); @@ -64,7 +64,7 @@ rtems_task Init( rtems_test_assert( status == 0 ); puts( "Init - opening /newfile in read-mode -- OK" ); - fd = open( "/newfile", O_RDONLY | O_CREAT, S_IRUSR); + fd = open( "/newfile", O_RDONLY | O_CREAT, S_IRUSR | S_IXUSR); rtems_test_assert( fd != -1 ); puts( "Init - fchdir on the file descriptor - expect ENOTDIR" ); diff --git a/testsuites/psxtests/psxfile01/main.c b/testsuites/psxtests/psxfile01/main.c index 8abf3a66d6..3f8d9b88e3 100644 --- a/testsuites/psxtests/psxfile01/main.c +++ b/testsuites/psxtests/psxfile01/main.c @@ -39,6 +39,7 @@ rtems_task Init( #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 6 #define CONFIGURE_MAXIMUM_TASKS 1 +#define CONFIGURE_INIT_TASK_STACK_SIZE (2 * RTEMS_MINIMUM_STACK_SIZE) #define CONFIGURE_RTEMS_INIT_TASKS_TABLE diff --git a/testsuites/psxtests/psxfile01/test.c b/testsuites/psxtests/psxfile01/test.c index 0474021967..a82303bd17 100644 --- a/testsuites/psxtests/psxfile01/test.c +++ b/testsuites/psxtests/psxfile01/test.c @@ -224,11 +224,6 @@ int main( rtems_test_assert( status == -1 ); rtems_test_assert( errno == EEXIST ); - /* test rtems_filesystem_evaluate_path by sending NULL path */ - status = chdir( NULL ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EFAULT ); - /* * Now switch gears and exercise rmdir(). */ @@ -253,11 +248,6 @@ int main( rtems_test_assert( status == -1 ); rtems_test_assert( errno == ENOENT ); - puts( "unlink /dev/tty" ); - status = unlink( "/dev/tty" ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EISDIR ); - puts( "mknod /dev/test_console" ); status = mknod( "/dev/test_console", S_IFCHR, 0LL ); rtems_test_assert( !status ); diff --git a/testsuites/psxtests/psximfs02/init.c b/testsuites/psxtests/psximfs02/init.c index 7ae97705a5..d170d4ef6f 100644 --- a/testsuites/psxtests/psximfs02/init.c +++ b/testsuites/psxtests/psximfs02/init.c @@ -22,6 +22,7 @@ #include <fcntl.h> #include <errno.h> #include <rtems/libio.h> +#include <rtems/malloc.h> #include <rtems/libcsupport.h> #if !HAVE_DECL_SETEUID @@ -34,11 +35,14 @@ rtems_task Init( ) { int status = 0; - void *alloc_ptr = (void *)0; + void *opaque; char linkname_n[20] = {0}; char linkname_p[20] = {0}; int i; struct stat stat_buf; + static const char mount_point [] = "dir01"; + static const char fs_type [] = RTEMS_FILESYSTEM_TYPE_IMFS; + static const char slink_2_name [] = "node-slink-2"; puts( "\n\n*** TEST IMFS 02 ***" ); @@ -92,27 +96,31 @@ rtems_task Init( rtems_test_assert( errno == EACCES ); puts( "Allocate most of heap" ); - alloc_ptr = malloc( malloc_free_space() - 150 ); + opaque = rtems_heap_greedy_allocate( + sizeof( rtems_filesystem_mount_table_entry_t ) + + sizeof( fs_type ) + + sizeof( rtems_filesystem_global_location_t ) + ); - puts( "Attempt to mount a fs at /dir01 -- expect ENOMEM" ); + printf( "Attempt to mount a fs at %s -- expect ENOMEM", mount_point ); status = mount( NULL, - "dir01", - "imfs", + mount_point, + fs_type, RTEMS_FILESYSTEM_READ_WRITE, NULL ); rtems_test_assert( status == -1 ); rtems_test_assert( errno == ENOMEM ); puts( "Freeing allocated memory" ); - free( alloc_ptr ); - - puts( "Allocate most of heap" ); - alloc_ptr = malloc( malloc_free_space() - 4 ); + rtems_heap_greedy_free( opaque ); puts( "Changing directory to /" ); status = chdir( "/" ); rtems_test_assert( status == 0 ); + puts( "Allocate most of heap" ); + opaque = rtems_heap_greedy_allocate( 0 ); + puts( "Attempt to create /node-link-2 for /node -- expect ENOMEM" ); status = link( "/node", "/node-link-2" ); rtems_test_assert( status == -1 ); @@ -124,23 +132,22 @@ rtems_task Init( rtems_test_assert( errno == ENOMEM ); puts( "Freeing allocated memory" ); - free( alloc_ptr ); + rtems_heap_greedy_free( opaque ); puts( "Allocate most of heap" ); - alloc_ptr = malloc( malloc_free_space() - 40 ); + opaque = rtems_heap_greedy_allocate( sizeof( slink_2_name ) ); - puts( "Attempt to create /node-slink-2 for /node -- expect ENOMEM" ); - status = symlink( "/node", "node-slink-2" ); + printf( "Attempt to create %s for /node -- expect ENOMEM", slink_2_name ); + status = symlink( "/node", slink_2_name ); rtems_test_assert( status == -1 ); rtems_test_assert( errno == ENOMEM ); puts( "Freeing allocated memory" ); - free( alloc_ptr ); + rtems_heap_greedy_free( opaque ); - puts( "Attempt to stat a hardlink -- expect ENOTSUP" ); + puts( "Attempt to stat a hardlink" ); status = lstat( "/node-link", &stat_buf ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == ENOTSUP ); + rtems_test_assert( status == 0 ); puts( "Changing euid to 10" ); status = seteuid( 10 ); diff --git a/testsuites/psxtests/psxmount/test.c b/testsuites/psxtests/psxmount/test.c index 7e1c84fcda..1e80376685 100644 --- a/testsuites/psxtests/psxmount/test.c +++ b/testsuites/psxtests/psxmount/test.c @@ -1,23 +1,10 @@ /* - * This is a native test to explore how the readdir() family works. - * Newlib supports the following readdir() family members: - * - * closedir() - - * readdir() - - * scandir() - - * opendir() - - * rewinddir() - - * telldir() - BSD not in POSIX - * seekdir() - BSD not in POSIX - * - * - * seekdir() takes an offset which is a byte offset. The Linux - * implementation of this appears to seek to the ((off/DIRENT_SIZE) + 1) - * record where DIRENT_SIZE seems to be 12 bytes. - * * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). * + * Modifications to support reference counting in the file system are + * Copyright (c) 2012 embedded brains GmbH. + * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. @@ -41,8 +28,6 @@ #include <rtems/libio.h> #include <pmacros.h> -extern rtems_filesystem_location_info_t rtems_filesystem_current; - DIR *directory; DIR *directory2; DIR *directory3; @@ -100,7 +85,9 @@ int main( int status; struct stat statbuf; static char mount_point_string[25] = { "/c/z/my_mount_point" }; - + static const char my_sub_fs_dir [] = "/c/y/my_mount_point/my_sub_fs_dir"; + static const char my_link [] = "/c/y/my_link"; + static const char mount_point [] = "/c/y/my_mount_point"; printf( "\n\n*** MOUNT/UNMOUNT TEST ***\n" ); @@ -293,7 +280,7 @@ int main( /* - * Verify we cannot unmount a file system while we are in it. + * Verify we can unmount a file system while we are in it. */ printf("Create and chdir to /c/y/my_mount_point/mydir\n"); @@ -303,22 +290,27 @@ int main( status = chdir( "/c/y/my_mount_point/mydir" ); rtems_test_assert( status == 0 ); - printf("unmount of /c/y/my_mount_point should fail with EBUSY\n"); + printf("unmount of /c/y/my_mount_point\n"); status = unmount( "/c/y/my_mount_point" ); + rtems_test_assert( status == 0 ); + + printf("chdir to .. should fail with ENXIO\n"); + status = chdir( ".." ); rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EBUSY ); + rtems_test_assert( errno == ENXIO ); /* - * Chdir to root and verify we can unmount the file system now. + * Chdir to root and verify we unmounted the file system now. */ printf("chdir to / and verify we can unmount /c/y/my_mount_point\n"); status = chdir( "/" ); rtems_test_assert( status == 0 ); - printf("unmount /c/y/my_mount_point \n"); - status = unmount( "/c/y/my_mount_point" ); - rtems_test_assert( status == 0 ); + printf("chdir to /c/y/my_mount_point/my_dir should fail with ENOENT\n"); + status = chdir( "/c/y/my_mount_point/mydir" ); + rtems_test_assert( status == -1 ); + rtems_test_assert( errno == ENOENT ); /* * Attempt to unmount a directory that does not exist. @@ -344,7 +336,7 @@ int main( /* * Create a file and directory then open the directory. - * Verify unmount will return EBUSY while directory is open. + * Verify unmount will return successful while directory is open. */ printf("Create and open /c/y/my_mount_point/my_file\n"); @@ -353,21 +345,34 @@ int main( status = close( fd ); rtems_test_assert( status == 0 ); - printf("\nmkdir /c/y/my_mount_point/my_dir\n"); - status = mkdir( "/c/y/my_mount_point/my_dir", 0x1c0 ); - printf("Open /c/y/my_mount_point/my_dir\n"); - directory = opendir( "/c/y/my_mount_point/my_dir" ); + printf("\nmkdir %s\n", my_sub_fs_dir ); + status = mkdir( my_sub_fs_dir, S_IRWXU ); + + printf("open %s\n", my_sub_fs_dir ); + directory = opendir( my_sub_fs_dir ); rtems_test_assert( directory ); - printf("Unmount /c/y/my_mount_point should fail with EBUSY\n"); - status = unmount( "/c/y/my_mount_point" ); + printf("mkdir %s should fail with EEXIST\n", my_sub_fs_dir ); + status = mkdir( my_sub_fs_dir, S_IRWXU ); rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EBUSY ); + rtems_test_assert( errno == EEXIST ); - printf("Close /c/y/my_mount_point/my_dir\n"); + printf("unmount %s\n", mount_point ); + status = unmount( mount_point ); + rtems_test_assert( status == 0 ); + + printf("close %s\n", my_sub_fs_dir ); status = closedir( directory ); rtems_test_assert( status == 0 ); + printf("mkdir %s\n", my_sub_fs_dir ); + status = mkdir( my_sub_fs_dir, S_IRWXU ); + rtems_test_assert( status == 0 ); + + printf("rmdir %s\n", my_sub_fs_dir ); + status = rmdir( my_sub_fs_dir ); + rtems_test_assert( status == 0 ); + /* * Attempt to unmount a directory that is not a mount point. */ @@ -378,33 +383,27 @@ int main( rtems_test_assert( errno == EACCES ); /* - * Verify a file system can not be unmounted with a mounted file system - * in it. + * Mount file system */ - printf("Mount a file system at /c/y/my_mount_point/my_dir\n"); + printf("Mount a file system at %s\n", mount_point); status = mount( "null", - "/c/y/my_mount_point/my_dir", + mount_point, "imfs", RTEMS_FILESYSTEM_READ_WRITE, NULL ); rtems_test_assert( status == 0 ); - printf("unmount /c/y/my_mount_point should fail with EBUSY\n"); - status = unmount( "/c/y/my_mount_point" ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EBUSY ); - /* * Verify you cannot create a hard link across mounted file systems. */ printf("Verify a hard link across filesystems fails with EXDEV\n"); - status = mkdir( "/c/y/my_mount_point/my_dir2", S_IRWXU ); + status = mkdir( my_sub_fs_dir, S_IRWXU ); rtems_test_assert( status == 0 ); - status = link( "/c/y/my_mount_point/my_dir2", "/c/y/my_mount_point/my_dir/my_link" ); + status = link( my_sub_fs_dir, my_link ); rtems_test_assert( status == -1 ); rtems_test_assert( errno == EXDEV ); @@ -413,13 +412,13 @@ int main( */ printf("Verify a symbolic link across file systems works\n"); - status = symlink( "/c/y/my_mount_point/my_dir2", "/c/y/my_mount_point/my_dir/my_link" ); + status = symlink( my_sub_fs_dir, my_link ); rtems_test_assert( status == 0 ); - status = stat( "/c/y/my_mount_point/my_dir/my_link", &statbuf ); + status = stat( my_link, &statbuf ); rtems_test_assert( status == 0 ); - printf("unmount /c/y/my_mount_point/my_dir\n"); - status = unmount( "/c/y/my_mount_point/my_dir" ); + printf("unmount %s\n", mount_point); + status = unmount( mount_point ); rtems_test_assert( status == 0 ); /* @@ -427,12 +426,9 @@ int main( */ printf("Verify the symbolic link now fails\n"); - status = stat( "/c/y/my_mount_point/my_dir/my_link", &statbuf ); - rtems_test_assert( status != 0 ); - - printf("unmount /c/y/my_mount_point\n"); - status = unmount( "/c/y/my_mount_point" ); - rtems_test_assert( status == 0 ); + status = stat( my_link, &statbuf ); + rtems_test_assert( status == -1 ); + rtems_test_assert( errno == ENOENT ); printf( "\n\n*** END OF MOUNT/UNMOUNT TEST ***\n" ); rtems_test_exit(0); diff --git a/testsuites/psxtests/psxreaddir/test.c b/testsuites/psxtests/psxreaddir/test.c index e3b30822c9..8ea67ccdda 100644 --- a/testsuites/psxtests/psxreaddir/test.c +++ b/testsuites/psxtests/psxreaddir/test.c @@ -230,6 +230,8 @@ int main( ) #endif { + static const char *my_file = "/b/my_file"; + int fd; int i; int status; @@ -277,14 +279,14 @@ int main( d_not = readdir( directory_not ); rtems_test_assert( d_not == 0 ); - printf("open /b/myfile\n"); - fd = open ("/b/my_file", O_CREAT, S_IRWXU); + printf("open %s\n", my_file); + fd = open (my_file, O_CREAT, S_IRWXU); rtems_test_assert( fd != -1 ); close (fd); printf("scandir a file status: "); status = scandir( - "/b/my_file", + my_file, &namelist, select1, NULL @@ -303,13 +305,13 @@ int main( status = fcntl( fd, F_GETFD, 1 ); rtems_test_assert( status == 1 ); -#if 0 - printf("fcntl F_DUPFD should return 0\n"); + printf("fcntl F_DUPFD should return a file descriptor\n"); status = fcntl( fd, F_DUPFD, 0 ); + rtems_test_assert ( status >= 0 ); + + printf("close duplicate should return 0\n"); + status = close( status ); rtems_test_assert ( status == 0 ); -#else - printf("fcntl F_DUPFD should return 0 -- skip until implemented\n"); -#endif printf("fcntl F_GETFL returns current flags\n"); status = fcntl( fd, F_GETFL, 1 ); @@ -350,16 +352,28 @@ int main( printf("Status %d\n",status); rtems_test_assert( status == -1 ); - printf("opendir and readdir /b/myfile\n"); - directory_not = opendir ("/b/my_file"); + printf("close should return 0\n"); + status = close( fd ); + rtems_test_assert ( status == 0 ); + + printf("opendir, readdir and closedir %s\n", my_file); + directory_not = opendir (my_file); + rtems_test_assert( directory_not != NULL ); d_not = readdir(directory_not); + rtems_test_assert( d_not == NULL ); + status = closedir (directory_not); + rtems_test_assert (status == 0); - printf("opendir and readdir\n"); + printf("opendir, readdir and closedir\n"); directory_not = opendir ("/a"); + rtems_test_assert( directory_not != NULL ); d_not = readdir (directory_not); + rtems_test_assert( d_not == NULL ); + status = closedir (directory_not); + rtems_test_assert (status == 0); - printf("chdir to /b/myfile\n"); - status = chdir ("/b/my_file"); + printf("chdir to %s\n", my_file); + status = chdir (my_file); rtems_test_assert (status == -1); printf( "\nPerforming stat of directory /\n"); @@ -500,6 +514,10 @@ int main( printf("Selected and Sorted Node Name: %s\n", namelist[i]->d_name ); } + printf("unlink %s should return 0\n", my_file); + status = unlink( my_file ); + rtems_test_assert ( status == 0 ); + test_across_mount(); printf( "\n\n*** END OF READDIR TEST ***\n" ); rtems_test_exit(0); diff --git a/testsuites/psxtests/psxstat/test.c b/testsuites/psxtests/psxstat/test.c index c5d344d8fc..ecc82e531b 100644 --- a/testsuites/psxtests/psxstat/test.c +++ b/testsuites/psxtests/psxstat/test.c @@ -45,7 +45,7 @@ int _lstat_r(struct _reent *, const char *, struct stat *); */ char *Files[] = { - "/////my_mount_point/dir1/\\//file1\\\\//", + "/////my_mount_point/dir1/\\//file1", "/my_mount_point/dir1/file2", "/my_mount_point/dir1/file3", "/my_mount_point/dir1/file4", @@ -60,7 +60,7 @@ char *Files[] = { */ char *Directories[] = { - "/my_mount_point/dir1", + "/my_mount_point/dir1\\\\//", "/my_mount_point/dir2", "/my_mount_point/dir3", "/my_mount_point/dir4", @@ -589,15 +589,6 @@ void Cause_faults(void) rtems_test_assert( errno == EACCES ); /* - * Check stat with a NULL buffer. - */ - - printf("Stat with a NULL buffer should fail with EFAULT\n"); - status = stat( Directories[0], NULL ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EFAULT ); - - /* * Set current to a directory with no owner permissions. * Verify it works properly. */ @@ -685,13 +676,8 @@ void Cause_faults(void) * Check rmdir, rmnod, and unlink */ - printf("rmdir %s should fail with ENOTDIR\n", Links_to_Dirs[5] ); + printf("rmdir %s\n", Links_to_Dirs[5] ); status = rmdir( Links_to_Dirs[5] ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == ENOTDIR ); - - printf("unlink %s\n", Links_to_Dirs[5] ); - status = unlink( Links_to_Dirs[5] ); rtems_test_assert( status == 0 ); printf("unlink %s should fail with ENOTEMPTY\n", Links_to_dirlinks[5] ); @@ -757,11 +743,6 @@ void Cause_faults(void) printf("Making too many hard links.\n" ); make_too_many_links( ); - printf( "pass fstat a null pointer should fail with EFAULT\n"); - status = fstat( fd, NULL ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EFAULT); - /* * The current directory MUST be restored at the end of this test. */ @@ -789,10 +770,10 @@ void test_statvfs( void ) int status = 0; struct statvfs stat; - puts( "statvfs, with invalid path - expect ENOTSUP" ); + puts( "statvfs, with invalid path - expect ENOENT" ); status = statvfs( "" , &stat ); rtems_test_assert( status == -1 ); - rtems_test_assert( errno == ENOTSUP ); + rtems_test_assert( errno == ENOENT ); puts( "create /tmp -- OK" ); status = mkdir( "/tmp", 0777 ); @@ -944,21 +925,6 @@ int main( test_statvfs(); - puts( "Exercise the reentrant version - _stat_r - expect EFAULT" ); - status = _stat_r( NULL, NULL, NULL ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EFAULT ); - - puts( "Exercise the reentrant version - _lstat_r - expect EFAULT" ); - status = _lstat_r( NULL, NULL, NULL ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EFAULT ); - - puts( "Try readlink with a bad buffer - expect EFAULT" ); - status = readlink( "/tmp", NULL, 0 ); - rtems_test_assert( status == -1 ); - rtems_test_assert( errno == EFAULT ); - puts( "\n\n*** END OF STAT TEST 01 ***" ); rtems_test_exit(0); } |