summaryrefslogtreecommitdiffstats
path: root/c/src/tests/psxtests/psx13
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2003-11-11 00:59:49 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2003-11-11 00:59:49 +0000
commitff6ab1b594d9f073ece9b7fedf1f6977f52aeee5 (patch)
treef0b2e3afb63f53a922a0c42137a6d6763548edc5 /c/src/tests/psxtests/psx13
parent2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-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/.cvsignore2
-rw-r--r--c/src/tests/psxtests/psx13/Makefile.am41
-rw-r--r--c/src/tests/psxtests/psx13/main.c45
-rw-r--r--c/src/tests/psxtests/psx13/psx13.scn16
-rw-r--r--c/src/tests/psxtests/psx13/test.c690
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);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-