diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-11-11 00:59:49 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-11-11 00:59:49 +0000 |
commit | ff6ab1b594d9f073ece9b7fedf1f6977f52aeee5 (patch) | |
tree | f0b2e3afb63f53a922a0c42137a6d6763548edc5 /c/src/tests/psxtests/psx13 | |
parent | 2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-ff6ab1b594d9f073ece9b7fedf1f6977f52aeee5.tar.bz2 |
2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Remove.
* ChangeLog: Remove.
* Makefile.am: Remove.
* configure.ac: Remove.
* psxtests.am: Remove.
* include/.cvsignore: Remove.
* include/Makefile.am: Remove.
* include/pmacros.h: Remove.
* psx01/.cvsignore: Remove.
* psx01/Makefile.am: Remove.
* psx01/init.c: Remove.
* psx01/psx01.scn: Remove.
* psx01/system.h: Remove.
* psx01/task.c: Remove.
* psx02/.cvsignore: Remove.
* psx02/Makefile.am: Remove.
* psx02/init.c: Remove.
* psx02/psx02.scn: Remove.
* psx02/system.h: Remove.
* psx02/task.c: Remove.
* psx03/.cvsignore: Remove.
* psx03/Makefile.am: Remove.
* psx03/init.c: Remove.
* psx03/psx03.scn: Remove.
* psx03/system.h: Remove.
* psx03/task.c: Remove.
* psx04/.cvsignore: Remove.
* psx04/Makefile.am: Remove.
* psx04/init.c: Remove.
* psx04/psx04.scn: Remove.
* psx04/system.h: Remove.
* psx04/task1.c: Remove.
* psx04/task2.c: Remove.
* psx04/task3.c: Remove.
* psx05/.cvsignore: Remove.
* psx05/Makefile.am: Remove.
* psx05/init.c: Remove.
* psx05/psx05.scn: Remove.
* psx05/system.h: Remove.
* psx05/task.c: Remove.
* psx05/task2.c: Remove.
* psx05/task3.c: Remove.
* psx06/.cvsignore: Remove.
* psx06/Makefile.am: Remove.
* psx06/init.c: Remove.
* psx06/psx06.scn: Remove.
* psx06/system.h: Remove.
* psx06/task.c: Remove.
* psx06/task2.c: Remove.
* psx07/.cvsignore: Remove.
* psx07/Makefile.am: Remove.
* psx07/init.c: Remove.
* psx07/psx07.scn: Remove.
* psx07/system.h: Remove.
* psx07/task.c: Remove.
* psx08/.cvsignore: Remove.
* psx08/Makefile.am: Remove.
* psx08/init.c: Remove.
* psx08/psx08.scn: Remove.
* psx08/system.h: Remove.
* psx08/task1.c: Remove.
* psx08/task2.c: Remove.
* psx08/task3.c: Remove.
* psx09/.cvsignore: Remove.
* psx09/Makefile.am: Remove.
* psx09/init.c: Remove.
* psx09/psx09.scn: Remove.
* psx09/system.h: Remove.
* psx10/.cvsignore: Remove.
* psx10/Makefile.am: Remove.
* psx10/init.c: Remove.
* psx10/psx10.scn: Remove.
* psx10/system.h: Remove.
* psx10/task.c: Remove.
* psx10/task2.c: Remove.
* psx10/task3.c: Remove.
* psx11/.cvsignore: Remove.
* psx11/Makefile.am: Remove.
* psx11/init.c: Remove.
* psx11/psx11.scn: Remove.
* psx11/system.h: Remove.
* psx11/task.c: Remove.
* psx12/.cvsignore: Remove.
* psx12/Makefile.am: Remove.
* psx12/init.c: Remove.
* psx12/psx12.scn: Remove.
* psx12/system.h: Remove.
* psx12/task.c: Remove.
* psx13/.cvsignore: Remove.
* psx13/Makefile.am: Remove.
* psx13/main.c: Remove.
* psx13/psx13.scn: Remove.
* psx13/test.c: Remove.
* psxcancel/.cvsignore: Remove.
* psxcancel/Makefile.am: Remove.
* psxcancel/init.c: Remove.
* psxcancel/psxcancel.scn: Remove.
* psxchroot01/.cvsignore: Remove.
* psxchroot01/Makefile.am: Remove.
* psxchroot01/main.c: Remove.
* psxchroot01/psxchroot01.scn: Remove.
* psxchroot01/test.c: Remove.
* psxfile01/.cvsignore: Remove.
* psxfile01/Makefile.am: Remove.
* psxfile01/main.c: Remove.
* psxfile01/psxfile01.scn: Remove.
* psxfile01/test.c: Remove.
* psxfile01/test_cat.c: Remove.
* psxfile01/test_extend.c: Remove.
* psxfile01/test_write.c: Remove.
* psxhdrs/.cvsignore: Remove.
* psxhdrs/Makefile.am: Remove.
* psxhdrs/clock01.c: Remove.
* psxhdrs/clock02.c: Remove.
* psxhdrs/clock03.c: Remove.
* psxhdrs/clock04.c: Remove.
* psxhdrs/clock05.c: Remove.
* psxhdrs/clock06.c: Remove.
* psxhdrs/cond01.c: Remove.
* psxhdrs/cond02.c: Remove.
* psxhdrs/cond03.c: Remove.
* psxhdrs/cond04.c: Remove.
* psxhdrs/cond05.c: Remove.
* psxhdrs/cond06.c: Remove.
* psxhdrs/cond07.c: Remove.
* psxhdrs/cond08.c: Remove.
* psxhdrs/cond09.c: Remove.
* psxhdrs/cond10.c: Remove.
* psxhdrs/key01.c: Remove.
* psxhdrs/key02.c: Remove.
* psxhdrs/key03.c: Remove.
* psxhdrs/key04.c: Remove.
* psxhdrs/mutex01.c: Remove.
* psxhdrs/mutex02.c: Remove.
* psxhdrs/mutex03.c: Remove.
* psxhdrs/mutex04.c: Remove.
* psxhdrs/mutex05.c: Remove.
* psxhdrs/mutex06.c: Remove.
* psxhdrs/mutex07.c: Remove.
* psxhdrs/mutex08.c: Remove.
* psxhdrs/mutex09.c: Remove.
* psxhdrs/mutex10.c: Remove.
* psxhdrs/mutex11.c: Remove.
* psxhdrs/mutex12.c: Remove.
* psxhdrs/mutex13.c: Remove.
* psxhdrs/mutex14.c: Remove.
* psxhdrs/mutex15.c: Remove.
* psxhdrs/mutex16.c: Remove.
* psxhdrs/proc01.c: Remove.
* psxhdrs/proc02.c: Remove.
* psxhdrs/proc03.c: Remove.
* psxhdrs/proc04.c: Remove.
* psxhdrs/proc05.c: Remove.
* psxhdrs/proc06.c: Remove.
* psxhdrs/proc07.c: Remove.
* psxhdrs/proc08.c: Remove.
* psxhdrs/proc09.c: Remove.
* psxhdrs/proc10.c: Remove.
* psxhdrs/proc11.c: Remove.
* psxhdrs/proc12.c: Remove.
* psxhdrs/proc13.c: Remove.
* psxhdrs/proc14.c: Remove.
* psxhdrs/pthread01.c: Remove.
* psxhdrs/pthread02.c: Remove.
* psxhdrs/pthread03.c: Remove.
* psxhdrs/pthread04.c: Remove.
* psxhdrs/pthread05.c: Remove.
* psxhdrs/pthread06.c: Remove.
* psxhdrs/pthread07.c: Remove.
* psxhdrs/pthread08.c: Remove.
* psxhdrs/pthread09.c: Remove.
* psxhdrs/pthread10.c: Remove.
* psxhdrs/pthread11.c: Remove.
* psxhdrs/pthread12.c: Remove.
* psxhdrs/pthread13.c: Remove.
* psxhdrs/pthread14.c: Remove.
* psxhdrs/pthread15.c: Remove.
* psxhdrs/pthread16.c: Remove.
* psxhdrs/pthread17.c: Remove.
* psxhdrs/pthread18.c: Remove.
* psxhdrs/pthread19.c: Remove.
* psxhdrs/pthread20.c: Remove.
* psxhdrs/pthread21.c: Remove.
* psxhdrs/pthread22.c: Remove.
* psxhdrs/pthread23.c: Remove.
* psxhdrs/pthread24.c: Remove.
* psxhdrs/pthread25.c: Remove.
* psxhdrs/pthread26.c: Remove.
* psxhdrs/pthread27.c: Remove.
* psxhdrs/pthread28.c: Remove.
* psxhdrs/pthread29.c: Remove.
* psxhdrs/pthread30.c: Remove.
* psxhdrs/pthread31.c: Remove.
* psxhdrs/pthread32.c: Remove.
* psxhdrs/pthread33.c: Remove.
* psxhdrs/pthread34.c: Remove.
* psxhdrs/pthread35.c: Remove.
* psxhdrs/pthread36.c: Remove.
* psxhdrs/sched01.c: Remove.
* psxhdrs/sched02.c: Remove.
* psxhdrs/sched03.c: Remove.
* psxhdrs/sched04.c: Remove.
* psxhdrs/sched05.c: Remove.
* psxhdrs/sched06.c: Remove.
* psxhdrs/sched07.c: Remove.
* psxhdrs/sched08.c: Remove.
* psxhdrs/signal01.c: Remove.
* psxhdrs/signal02.c: Remove.
* psxhdrs/signal03.c: Remove.
* psxhdrs/signal04.c: Remove.
* psxhdrs/signal05.c: Remove.
* psxhdrs/signal06.c: Remove.
* psxhdrs/signal07.c: Remove.
* psxhdrs/signal08.c: Remove.
* psxhdrs/signal09.c: Remove.
* psxhdrs/signal10.c: Remove.
* psxhdrs/signal11.c: Remove.
* psxhdrs/signal12.c: Remove.
* psxhdrs/signal13.c: Remove.
* psxhdrs/signal14.c: Remove.
* psxhdrs/signal15.c: Remove.
* psxhdrs/signal16.c: Remove.
* psxhdrs/signal17.c: Remove.
* psxhdrs/signal18.c: Remove.
* psxhdrs/signal19.c: Remove.
* psxhdrs/signal20.c: Remove.
* psxhdrs/signal21.c: Remove.
* psxhdrs/signal22.c: Remove.
* psxhdrs/signal23.c: Remove.
* psxhdrs/sync01.c: Remove.
* psxhdrs/sync02.c: Remove.
* psxhdrs/sync03.c: Remove.
* psxhdrs/time01.c: Remove.
* psxhdrs/time02.c: Remove.
* psxhdrs/time03.c: Remove.
* psxhdrs/time04.c: Remove.
* psxhdrs/time05.c: Remove.
* psxhdrs/time06.c: Remove.
* psxhdrs/time07.c: Remove.
* psxhdrs/time08.c: Remove.
* psxhdrs/time09.c: Remove.
* psxhdrs/time10.c: Remove.
* psxhdrs/time11.c: Remove.
* psxhdrs/time12.c: Remove.
* psxhdrs/time13.c: Remove.
* psxhdrs/timer01.c: Remove.
* psxhdrs/timer02.c: Remove.
* psxhdrs/timer03.c: Remove.
* psxhdrs/timer04.c: Remove.
* psxhdrs/timer05.c: Remove.
* psxhdrs/timer06.c: Remove.
* psxhdrs/timer07.c: Remove.
* psxmount/.cvsignore: Remove.
* psxmount/Makefile.am: Remove.
* psxmount/main.c: Remove.
* psxmount/psxmount.scn: Remove.
* psxmount/test.c: Remove.
* psxmsgq01/.cvsignore: Remove.
* psxmsgq01/Makefile.am: Remove.
* psxmsgq01/init.c: Remove.
* psxmsgq01/psxmsgq01.scn: Remove.
* psxmsgq01/system.h: Remove.
* psxreaddir/.cvsignore: Remove.
* psxreaddir/Makefile.am: Remove.
* psxreaddir/main.c: Remove.
* psxreaddir/psxreaddir.scn: Remove.
* psxreaddir/test.c: Remove.
* psxsem01/.cvsignore: Remove.
* psxsem01/Makefile.am: Remove.
* psxsem01/init.c: Remove.
* psxsem01/psxsem01.scn: Remove.
* psxsem01/system.h: Remove.
* psxstat/.cvsignore: Remove.
* psxstat/Makefile.am: Remove.
* psxstat/main.c: Remove.
* psxstat/psxstat.scn: Remove.
* psxstat/test.c: Remove.
* psxtime/.cvsignore: Remove.
* psxtime/Makefile.am: Remove.
* psxtime/main.c: Remove.
* psxtime/psxtime.scn: Remove.
* psxtime/test.c: Remove.
* psxtimer/.cvsignore: Remove.
* psxtimer/Makefile.am: Remove.
* psxtimer/psxtimer.c: Remove.
* psxtimer/psxtimer.scn: Remove.
* psxtimer/system.h: Remove.
Diffstat (limited to 'c/src/tests/psxtests/psx13')
-rw-r--r-- | c/src/tests/psxtests/psx13/.cvsignore | 2 | ||||
-rw-r--r-- | c/src/tests/psxtests/psx13/Makefile.am | 41 | ||||
-rw-r--r-- | c/src/tests/psxtests/psx13/main.c | 45 | ||||
-rw-r--r-- | c/src/tests/psxtests/psx13/psx13.scn | 16 | ||||
-rw-r--r-- | c/src/tests/psxtests/psx13/test.c | 690 |
5 files changed, 0 insertions, 794 deletions
diff --git a/c/src/tests/psxtests/psx13/.cvsignore b/c/src/tests/psxtests/psx13/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/tests/psxtests/psx13/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/tests/psxtests/psx13/Makefile.am b/c/src/tests/psxtests/psx13/Makefile.am deleted file mode 100644 index 492c101746..0000000000 --- a/c/src/tests/psxtests/psx13/Makefile.am +++ /dev/null @@ -1,41 +0,0 @@ -## -## $Id$ -## - - -TEST = psx13 - -MANAGERS = all - -C_FILES = main.c test.c -C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT)) - -DOCTYPES = scn -DOCS = $(DOCTYPES:%=$(TEST).%) - -SRCS = $(DOCS) $(C_FILES) $(H_FILES) -OBJS = $(C_O_FILES) - -PRINT_SRCS = $(DOCS) - -PGM = ${ARCH}/$(TEST).exe - -include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg -include $(top_srcdir)/../automake/compile.am -include $(top_srcdir)/../automake/leaf.am -include $(top_srcdir)/psxtests.am - -# -# (OPTIONAL) Add local stuff here using += -# - -AM_CPPFLAGS += -I$(top_srcdir)/include - -${PGM}: $(OBJS) $(LINK_FILES) - $(make-exe) - -all-local: $(ARCH) $(TMPINSTALL_FILES) - -EXTRA_DIST = $(C_FILES) $(DOCS) - -include $(top_srcdir)/../automake/local.am diff --git a/c/src/tests/psxtests/psx13/main.c b/c/src/tests/psxtests/psx13/main.c deleted file mode 100644 index f83fb6eb9c..0000000000 --- a/c/src/tests/psxtests/psx13/main.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Simple test program -- simplified version of sample test hello. - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * 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. - * - * $Id$ - */ - -#define TEST_INIT - -#include <bsp.h> -#include <pmacros.h> - -void test_main( void ); - -rtems_task Init( - rtems_task_argument ignored -) -{ - test_main(); - rtems_test_exit( 0 ); -} - -/* configuration information */ - -#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM -#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 6 - -#define CONFIGURE_MAXIMUM_TASKS 1 - -#define CONFIGURE_RTEMS_INIT_TASKS_TABLE - -#define CONFIGURE_INIT - -#include <confdefs.h> - -/* end of file */ diff --git a/c/src/tests/psxtests/psx13/psx13.scn b/c/src/tests/psxtests/psx13/psx13.scn deleted file mode 100644 index 4a012eceaa..0000000000 --- a/c/src/tests/psxtests/psx13/psx13.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** POSIX TEST 13 *** - -Files initialized successfully. -Testing device_lseek()... Success. -Testing dup()............ Success. ( Add when dup flags resolved ) -Testing dup2()........... Success. -Testing fdatasync()...... Success. -Testing umask().......... Success. -Testing utime().......... Success. -Testing pipe()........... Success. -Testing fsync().......... Success. -Testing pathconf()....... Success. -Testing fpathconf()...... Success. - - -*** END OF TEST PSX13 *** diff --git a/c/src/tests/psxtests/psx13/test.c b/c/src/tests/psxtests/psx13/test.c deleted file mode 100644 index 82bf3c1e0a..0000000000 --- a/c/src/tests/psxtests/psx13/test.c +++ /dev/null @@ -1,690 +0,0 @@ -/* - * Psx13 - * Chris Bond (working under Jennifer's account) - * - * This test exercises the following routines: - * - * device_lseek - test implemented - * dup - test implemented - * dup2 - test implemented - * fdatasync - test implemented - * fsync - test implemented - * pathconf - test implemented - * fpathconf - test implemented - * pipe - test implemented - * umask - test implemented - * utime - test implemented - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * 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. - * - * $Id$ - */ - -#include <rtems.h> -#include <rtems/libio.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> -#include <utime.h> - -#include <stdio.h> -#include <unistd.h> - -#include <pmacros.h> - -/*------------------------------------------------------------------- - * InitFiles function - * - * Initializes the three files to be used in the test. - * - * arguments: none - * assumptions: fopen, fprintf, fwrite, FILE are available - * actions: creates testfile1, a text file with 'a'..'z' listed 4 times. - * creates testfile2, a text file with 'a'..'z' listed 4 times. - * creates testfile3, a binary file with 0..9 listed 4 times. - * returns: TRUE if files opened successfully. - * FALSE if fail on file open for write. - * - * ------------------------------------------------------------------ - */ - -int InitFiles (void) { - - int count; - FILE *fp1, *fp2, *fp3; - char letter; - int number; - int retval; - - fp1 = fopen("testfile1.tst", "wt"); - fp2 = fopen("testfile2.tst", "wt"); - fp3 = fopen("testfile4.tst", "wb"); - - if ((fp1 != NULL) && (fp2 != NULL) && (fp3 !=NULL)) { - - letter = 'a'; - - for (count=0 ; count<(26*4); ++count) { - fprintf (fp1, "%c", letter); - fprintf (fp2, "%c", letter); - - ++letter; - if (letter > 'z') - letter = 'a'; - } - - number = 0; - - for (count = 0; count <40; ++count) { - - fwrite (&number, 1, sizeof(int), fp3); - - ++number; - if (number > 9) - number = 0; - } - - fclose(fp1); - fclose(fp2); - fclose(fp3); - - retval = TRUE; - } - - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return (retval); -} - -/* --------------------------------------------------------------- - * DeviceLSeekTest function - * - * Hits the device_lseek code by lseeking on the console. - * - * arguments: none - * assumptions: lseek available - * actions: hits lseek with some dummy arguments. - * returns: value of return from lseek. - * - * --------------------------------------------------------------- - */ - -int DeviceLSeekTest (void) { - - int error = -1, retval = FALSE; - - int fd = open ("/dev/console", O_RDONLY); - - error = lseek(fd, 5, SEEK_SET); - - if (error == 0) - retval = TRUE; - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return (retval); - -} - -/* --------------------------------------------------------------- - * DupTest function - * - * Hits the dup code. - * - * arguments: none - * assumptions: dup, open, close, fcntl available. - * actions: Gets a file descriptor(fd1) for test file1. - * dups fd1 to fd2. - * sets fd1 to append mode - * checks fd2 to ensure it's in append mode, also. - * returns: success if fd2 is indeed a copy of fd1. - * - * --------------------------------------------------------------- - */ - -int DupTest(void) { - - int fd1, fd2; - - int flags = 0, retval = FALSE; - - fd1 = open ("testfile1.tst", O_RDONLY); - fd2 = dup(fd1); - - if (fd2 != -1) { - - fcntl(fd1, F_SETFL, O_APPEND); - flags = fcntl(fd2, F_GETFL); - - close (fd1); - - flags = (flags & O_APPEND); - - retval = (flags == O_APPEND); - } - - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return (retval); - -} - -/* --------------------------------------------------------------- - * Dup2Test function - * - * Hits the dup2 code. - * - * arguments: none - * assumptions: dup, dup2, open, close, fcntl available. - * actions: Gets a file descriptor(fd1) for test file1. - * dups fd1 to fd2. - * sets fd1 to append mode - * checks fd2 to ensure it's in append mode, also. - * sets fd1 to invalid value, fd2 to valid, tries to dup2. - * sets fd2 to invalid value, fd1 to valid tries to dup2. - * returns: success if fd2 is a copy of fd1, and invalid fd1 or fd2 produce errors. - * - * --------------------------------------------------------------- - */ - -int Dup2Test(void) { - - int fd1, fd2; - - int flags = 0, retval = FALSE; - - int error = 0; - - fd1 = open ("testfile1.tst", O_RDONLY); - fd2 = open ("testfile2.tst", O_RDONLY); - error = dup2(fd1, fd2); - - /* make sure dup2 works if both fd1 and fd2 are valid file descriptors. */ - - if (error != -1) { - - fcntl(fd1, F_SETFL, O_APPEND); - flags = fcntl(fd1, F_GETFL); - - flags = (flags & O_APPEND); - retval = (flags == O_APPEND); - } - - else { - retval = FALSE; - close(fd2); - } - - if (retval == TRUE) { - - /* make sure dup2 fails correctly if one or the other arguments are invalid. */ - /* this assumes -1 is an invalid value for a file descriptor!!! (POSIX book, p.135) */ - - fd1 = -1; - - if (dup2 (fd1, fd2) != -1) - retval = FALSE; - else { - fd1 = dup(fd2); - fd2 = -1; - - if (dup2(fd1, fd2) != -1) - retval = FALSE; - } - } - - close (fd1); - - /* assert (retval == TRUE);*/ - - return (retval); - -} - -/* --------------------------------------------------------------- - * FDataSyncTest function - * - * Hits the fdatasync code. Does NOT test the functionality of the - * underlying fdatasync entry in the IMFS op table. - * - * arguments: none - * assumptions: open, close, fdatasync functions available. - * actions: attempts to fdatasync a file descriptor flagged as read-only. - * attempts to fdatasync an invalid file descriptor (-1). - * attempts to fdatasync a perfectly valid fd opened as RDWR - * - * returns: TRUE if attempt to fdatasync invalid and read-only filed escriptor fail, and fdatasync succeeds on valid fd. - * FALSE otherwise. - * - * --------------------------------------------------------------- - */ - -int FDataSyncTest(void) { - - int fd = -1; - int error = 0, retval = TRUE; - - /* Try it with a RD_ONLY file. */ - - fd = open ("testfile1.tst", O_RDONLY); - - error = fdatasync(fd); - if ((error == -1) && (errno == EINVAL)) - retval = TRUE; - else - retval = FALSE; - - close (fd); - - if (retval == TRUE) { - - /* Try it with a bad file descriptor */ - - fd = -1; - - error = fdatasync(fd); - if ((errno == EBADF) && (error == -1)) - retval = TRUE; - else - retval = FALSE; - } - - /* Okay - now the success case... */ - - if (retval == TRUE) { - fd = open ("testfile1.tst", O_RDWR); - error = fdatasync(fd); - - if (error == 0) - retval = TRUE; - else - retval = FALSE; - - close (fd); - - } - - /* assert (retval == TRUE);*/ - - return (retval); -} - -/* --------------------------------------------------------------- - * UMaskTest function - * - * Hits the umask code. - * - * arguments: none - * assumptions: umask function available. - * actions: set umask to 0ctal 23. - * set umask to Octal 22, retrieve the old value. - * - * returns: TRUE if old value is 23, - * FALSE otherwise. - * - * --------------------------------------------------------------- - */ - -int UMaskTest (void) { - - int error = 0, retval = FALSE; - - umask (023); - error = umask(022); - - if (error == 023) - retval = TRUE; - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return(retval); - -} - -/* --------------------------------------------------------------- - * UTimeTest function - * - * Hits the utime code. Does NOT test the functionality of the underlying utime - * entry in the IMFS op table. - * - * arguments: none - * assumptions: utime function available. - * actions: set utime for an invalid filename. - * set utime for a valid filename. - * - * returns: TRUE if time on valid file is set correctly and utime failed on an invaid filename. - * FALSE otherwise. - * - * --------------------------------------------------------------- - */ - -int UTimeTest (void) { - - int error = 0, retval = FALSE; - struct utimbuf time; - struct stat fstat; - - /* First, an invalid filename. */ - error = utime("!This is an =invalid p@thname!!! :)", NULL); - - if (error == -1) - retval = TRUE; - else - retval = FALSE; - - /* Now, the success test. */ - if (retval == TRUE) { - - time.actime = 12345; - time.modtime = 54321; - - error = utime("testfile1.tst", &time); - - if (error == 0) { - - /* But, did it set the time? */ - stat ("testfile1.tst", &fstat); - - if ((fstat.st_atime == 12345) && (fstat.st_mtime == 54321 )) - retval = TRUE; - else - retval = FALSE; - } - - else - retval = FALSE; - } - - /* assert (retval == TRUE);*/ - - return (retval); - -} - -/* --------------------------------------------------------------- - * PipeTest function - * - * Hits the pipe code. - * - * arguments: none - * assumptions: pipe function available. - * actions: call pipe. - * - * returns: TRUE if pipe retuens ENOSYS, - * FALSE otherwise. - * - * --------------------------------------------------------------- - */ - -int PipeTest (void) { - - int error = 0, retval = FALSE; - int fd[2]; - - error = pipe(fd); - - if ((error == -1) && (errno == ENOSYS)) - retval = TRUE; - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return(retval); - -} - -/* --------------------------------------------------------------- - * PathConfTest function - * - * Hits the pathconf code. - * - * arguments: none - * assumptions: pathconf function available. - * actions: Try to pathconf a bad filename. - * Try to pathconf a good filename. - * - * returns: TRUE if pathconf fails on bad file, succeeds on good file. - * FALSE otherwise. - * - * --------------------------------------------------------------- - */ - -int PathConfTest (void) { - - int error = 0, retval = FALSE; - - error = pathconf("thisfiledoesnotexist", _PC_LINK_MAX); - - if (error == -1) { - error = pathconf("testfile1.tst", _PC_LINK_MAX); - - if (error != -1) - retval = TRUE; - else - retval = FALSE; - } - - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return(retval); - -} - -/* --------------------------------------------------------------- - * FPathConfTest function - * - * Hits the fpathconf code. - * - * arguments: none - * assumptions: fpathconf function available. - * actions: Call fpathconf with all arguments, plus an invalid. - * - * returns: TRUE always. - * - * --------------------------------------------------------------- - */ - -int FPathConfTest (void) { - - int error = 0, retval = TRUE; - - int fd = -1; - - error = fpathconf(fd, _PC_LINK_MAX); - - if (error == -1) { - fd = open("testfile1.tst", O_RDWR); - - error = fpathconf(fd, _PC_LINK_MAX); - error = fpathconf(fd, _PC_MAX_CANON); - error = fpathconf(fd, _PC_MAX_INPUT); - error = fpathconf(fd, _PC_NAME_MAX); - error = fpathconf(fd, _PC_PATH_MAX); - error = fpathconf(fd, _PC_PIPE_BUF); - error = fpathconf(fd, _PC_CHOWN_RESTRICTED); - error = fpathconf(fd, _PC_NO_TRUNC); - error = fpathconf(fd, _PC_VDISABLE); - error = fpathconf(fd, _PC_ASYNC_IO); - error = fpathconf(fd, _PC_PRIO_IO); - error = fpathconf(fd, _PC_SYNC_IO); - error = fpathconf(fd, 255); - - retval = TRUE; - } - - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return(retval); - -} - -/* --------------------------------------------------------------- - * FSyncTest function - * - * Hits the fsync code. - * - * arguments: none - * assumptions: open, fsync functions available. - * actions: open test file, - * try to fsync it. - * - * returns: TRUE if fsync doesn't return -1, - * FALSE otherwise. - * - * --------------------------------------------------------------- - */ - -int FSyncTest (void) { - - int error = 0, retval = FALSE; - int fd = -1; - - fd = open("testfile1.tst", O_RDWR); - - if (fd != -1) { - - error = fsync(fd); - - if (error != -1) - retval = TRUE; - else - retval = FALSE; - - close(fd); - } - - else - retval = FALSE; - - /* assert (retval == TRUE);*/ - - return(retval); - -} - -/* --------------------------------------------------------------- - * Main function - * - * main entry point to the test - * - * --------------------------------------------------------------- - */ - -#if defined(__rtems__) -int test_main(void) -#else -int main( - int argc, - char **argv -) -#endif -{ - puts( "*** POSIX TEST 13 ***" ); - - if (InitFiles() == TRUE) { - printf ("\nFiles initialized successfully.\n"); - - printf ("Testing device_lseek()... "); - if (DeviceLSeekTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing dup()............ "); - if (DupTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing dup2()........... "); - if (Dup2Test() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing fdatasync()...... "); - if (FDataSyncTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing umask().......... "); - if (UMaskTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing utime().......... "); - if (UTimeTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing pipe()........... "); - if (PipeTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing fsync().......... "); - if (FSyncTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing pathconf()....... "); - if (PathConfTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing fpathconf()...... "); - if (FPathConfTest() == TRUE) - printf ("Success.\n"); - else - printf ("Failed!!!\n"); - - printf ("Testing sync()...... "); - sync(); - } - else - printf ("\n\nError opening files for write!!!!\n"); - - printf( "\n\n*** END OF TEST PSX13 ***" ); - rtems_test_exit(0); -} - - - - - - - - - - - - - |