summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spfifo01
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/sptests/spfifo01')
-rw-r--r--testsuites/sptests/spfifo01/spfifo01.doc24
-rw-r--r--testsuites/sptests/spfifo01/spfifo01.scn29
-rw-r--r--testsuites/sptests/spfifo01/test.c73
3 files changed, 126 insertions, 0 deletions
diff --git a/testsuites/sptests/spfifo01/spfifo01.doc b/testsuites/sptests/spfifo01/spfifo01.doc
new file mode 100644
index 0000000000..a0df93b57a
--- /dev/null
+++ b/testsuites/sptests/spfifo01/spfifo01.doc
@@ -0,0 +1,24 @@
+#
+# $Id$
+#
+# 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.
+#
+
+This file describes the directives and concepts tested by this test set.
+
+Configuration:
+
+Pipes not enabled.
+
+Expected:
+
+With pipes not enabled, the semaphore required for creation of new
+pipe will not be available (this semaphore is created at init if pipes
+are enabled)
+
+With this, fifo_open fails with EINTR
diff --git a/testsuites/sptests/spfifo01/spfifo01.scn b/testsuites/sptests/spfifo01/spfifo01.scn
new file mode 100644
index 0000000000..f62e9b738c
--- /dev/null
+++ b/testsuites/sptests/spfifo01/spfifo01.scn
@@ -0,0 +1,29 @@
+Could not open '/dev/kqemu' - QEMU acceleration layer not activated: No such file or directory
+Initialized console on port COM1 9600-8-N-1
+
+
+
+*** FIFO / PIPE OPEN TEST - 1 ***
+
+
+Configuration: Pipes not enabled
+
+
+Creating directory /tmp
+
+
+Creating fifo /tmp/fifo
+
+
+Attempt to open the fifo file
+
+Must result in failure since pipes are not enabled in the configuration
+
+
+Remove the entry /tmp/fifo01
+
+
+Remove directory /tmp
+
+
+*** END OF FIFO / PIPE OPEN TEST - 1 ***
diff --git a/testsuites/sptests/spfifo01/test.c b/testsuites/sptests/spfifo01/test.c
new file mode 100644
index 0000000000..4f9ffbc226
--- /dev/null
+++ b/testsuites/sptests/spfifo01/test.c
@@ -0,0 +1,73 @@
+/* test_main
+ *
+ * This routine serves as a test routine.
+ * Exercises the fifo_open
+ *
+ * Input parameters: NONE
+ *
+ * Output parameters: NONE
+ *
+ * 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$
+ */
+
+/* Includes */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include <tmacros.h>
+#include <rtems.h>
+#include <rtems/libio.h>
+
+
+void test_main(void)
+{
+
+ int status = -1;
+ int fd = 0;
+
+ puts("\n\n*** FIFO / PIPE OPEN TEST - 1 ***");
+ puts(
+"\n\nConfiguration: Pipes not enabled"
+ );
+
+ puts("\n\nCreating directory /tmp");
+ status = mkdir("/tmp", 0777);
+ rtems_test_assert(status == 0);
+
+ puts("\n\nCreating fifo /tmp/fifo");
+ status = mkfifo("/tmp/fifo01", 0777);
+ rtems_test_assert(status == 0);
+
+ puts("\n\nAttempt to open the fifo file\n");
+ puts(
+ "Must result in failure since \
+pipes are not enabled in the configuration"
+ );
+
+ fd = open("/tmp/fifo01", O_RDONLY);
+ rtems_test_assert(fd == -1);
+ rtems_test_assert(errno == EINTR); // Should this
+ // be ENOMEM?
+ puts("\n\nRemove the entry /tmp/fifo01");
+ status = unlink("/tmp/fifo01");
+ rtems_test_assert(status == 0);
+
+ puts("\n\nRemove directory /tmp");
+ status = rmdir("/tmp");
+ rtems_test_assert(status == 0);
+
+ puts("\n\n*** END OF FIFO / PIPE OPEN TEST - 1 ***");
+}
+