summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/tests/psxtests/Makefile.am2
-rw-r--r--c/src/tests/psxtests/configure.in1
-rw-r--r--c/src/tests/psxtests/psxcancel/Makefile.in81
-rw-r--r--c/src/tests/psxtests/psxcancel/init.c28
-rw-r--r--c/src/tests/psxtests/psxcancel/psxcancel.scn3
-rw-r--r--c/src/tests/psxtests/psxcancel/system.h56
-rw-r--r--testsuites/psxtests/Makefile.am2
-rw-r--r--testsuites/psxtests/psxcancel/init.c28
-rw-r--r--testsuites/psxtests/psxcancel/psxcancel.scn3
9 files changed, 202 insertions, 2 deletions
diff --git a/c/src/tests/psxtests/Makefile.am b/c/src/tests/psxtests/Makefile.am
index 99f1f69130..7cd45b9bf8 100644
--- a/c/src/tests/psxtests/Makefile.am
+++ b/c/src/tests/psxtests/Makefile.am
@@ -14,7 +14,7 @@ $(PREINSTALLDIRS):
all-local: $(PREINSTALLDIRS)
POSIX_DIRS = psxhdrs psx01 psx02 psx03 psx04 psx05 psx06 psx07 psx08 psx09 \
- psx10 psx11 psx12 psxtime psxtimer
+ psx10 psx11 psx12 psxtime psxtimer psxcancel
POSIX_FILES_DIRS = psxfile01 psxreaddir psxstat psxmount psx13
diff --git a/c/src/tests/psxtests/configure.in b/c/src/tests/psxtests/configure.in
index 7d4249fc14..12fe0de37f 100644
--- a/c/src/tests/psxtests/configure.in
+++ b/c/src/tests/psxtests/configure.in
@@ -53,6 +53,7 @@ psx10/Makefile
psx11/Makefile
psx12/Makefile
psx13/Makefile
+psxcancel/Makefile
psxfile01/Makefile
psxhdrs/Makefile
psxmount/Makefile
diff --git a/c/src/tests/psxtests/psxcancel/Makefile.in b/c/src/tests/psxtests/psxcancel/Makefile.in
new file mode 100644
index 0000000000..8431e26ed0
--- /dev/null
+++ b/c/src/tests/psxtests/psxcancel/Makefile.in
@@ -0,0 +1,81 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = ..
+subdir = psxcancel
+
+RTEMS_ROOT = @RTEMS_ROOT@
+PROJECT_ROOT = @PROJECT_ROOT@
+
+VPATH = @srcdir@
+
+TEST = psxcancel
+
+MANAGERS = all
+
+# C source names, if any, go here -- minus the .c
+C_PIECES = init
+C_FILES = $(C_PIECES:%=%.c)
+C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES = system.h
+
+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 $(RTEMS_ROOT)/make/leaf.cfg
+
+INSTALL_CHANGE = @INSTALL_CHANGE@
+PACKHEX = @PACKHEX@
+mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
+
+INSTALLDIRS = $(PROJECT_RELEASE)/tests/screens/psxtests
+
+$(INSTALLDIRS):
+ @$(mkinstalldirs) $(INSTALLDIRS)
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: ${ARCH} $(SRCS) $(PGM)
+ $(INSTALL_VARIANT) -m 755 ${PGM} $(PROJECT_RELEASE)/tests
+ $(INSTALL_CHANGE) $(srcdir)/$(TEST).scn \
+ $(PROJECT_RELEASE)/tests/screens/psxtests/$(TEST).scn
+
+${PGM}: $(OBJS) $(LINK_FILES)
+ $(make-exe)
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/tests/psxtests/psxcancel/init.c b/c/src/tests/psxtests/psxcancel/init.c
new file mode 100644
index 0000000000..8e3ead8fd0
--- /dev/null
+++ b/c/src/tests/psxtests/psxcancel/init.c
@@ -0,0 +1,28 @@
+/*
+ * COPYRIGHT (c) 1989-1998.
+ * On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#define CONFIGURE_INIT
+#include "system.h"
+#include <sched.h>
+
+void *POSIX_Init(
+ void *argument
+)
+{
+
+ puts( "\n\n*** POSIX CANCEL TEST ***" );
+
+ puts( "*** END OF POSIX CANCEL TEST ***" );
+ exit( 0 );
+
+ return NULL; /* just so the compiler thinks we returned something */
+}
diff --git a/c/src/tests/psxtests/psxcancel/psxcancel.scn b/c/src/tests/psxtests/psxcancel/psxcancel.scn
new file mode 100644
index 0000000000..f6ef3ac9d3
--- /dev/null
+++ b/c/src/tests/psxtests/psxcancel/psxcancel.scn
@@ -0,0 +1,3 @@
+*** POSIX CANCEL TEST ***
+
+*** END OF POSIX CANCEL TEST ***
diff --git a/c/src/tests/psxtests/psxcancel/system.h b/c/src/tests/psxtests/psxcancel/system.h
new file mode 100644
index 0000000000..9ff369cc01
--- /dev/null
+++ b/c/src/tests/psxtests/psxcancel/system.h
@@ -0,0 +1,56 @@
+/* system.h
+ *
+ * This include file contains information that is included in every
+ * function in the test set.
+ *
+ * COPYRIGHT (c) 1989-1998.
+ * On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+/* functions */
+
+#include <pmacros.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sched.h>
+
+void *POSIX_Init(
+ void *argument
+);
+
+void *Task_1_through_3(
+ void *argument
+);
+
+/* configuration information */
+
+#define CONFIGURE_SPTEST
+
+#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
+#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
+
+#define CONFIGURE_POSIX_INIT_THREAD_TABLE
+
+#define CONFIGURE_MAXIMUM_POSIX_THREADS 2
+
+#include <confdefs.h>
+
+/* global variables */
+
+#ifdef CONFIGURE_INIT
+#define TEST_EXTERN
+#else
+#define TEST_EXTERN extern
+#endif
+
+TEST_EXTERN pthread_t Init_id;
+TEST_EXTERN pthread_t Task_id;
+
+/* end of include file */
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index 99f1f69130..7cd45b9bf8 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -14,7 +14,7 @@ $(PREINSTALLDIRS):
all-local: $(PREINSTALLDIRS)
POSIX_DIRS = psxhdrs psx01 psx02 psx03 psx04 psx05 psx06 psx07 psx08 psx09 \
- psx10 psx11 psx12 psxtime psxtimer
+ psx10 psx11 psx12 psxtime psxtimer psxcancel
POSIX_FILES_DIRS = psxfile01 psxreaddir psxstat psxmount psx13
diff --git a/testsuites/psxtests/psxcancel/init.c b/testsuites/psxtests/psxcancel/init.c
new file mode 100644
index 0000000000..8e3ead8fd0
--- /dev/null
+++ b/testsuites/psxtests/psxcancel/init.c
@@ -0,0 +1,28 @@
+/*
+ * COPYRIGHT (c) 1989-1998.
+ * On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#define CONFIGURE_INIT
+#include "system.h"
+#include <sched.h>
+
+void *POSIX_Init(
+ void *argument
+)
+{
+
+ puts( "\n\n*** POSIX CANCEL TEST ***" );
+
+ puts( "*** END OF POSIX CANCEL TEST ***" );
+ exit( 0 );
+
+ return NULL; /* just so the compiler thinks we returned something */
+}
diff --git a/testsuites/psxtests/psxcancel/psxcancel.scn b/testsuites/psxtests/psxcancel/psxcancel.scn
new file mode 100644
index 0000000000..f6ef3ac9d3
--- /dev/null
+++ b/testsuites/psxtests/psxcancel/psxcancel.scn
@@ -0,0 +1,3 @@
+*** POSIX CANCEL TEST ***
+
+*** END OF POSIX CANCEL TEST ***