summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorChristian Mauderer <Christian.Mauderer@embedded-brains.de>2014-03-27 14:23:21 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-03-27 14:50:36 +0100
commit5c0c0cf2a6a9e3fdbcd1ada3f79399c453b1fbd1 (patch)
treedba573cb48c77127b711bdce1f94816025fdf942 /testsuites
parentprivateenv: Remove sharing of user environment between threads. (diff)
downloadrtems-5c0c0cf2a6a9e3fdbcd1ada3f79399c453b1fbd1.tar.bz2
privateenv: Use POSIX keys instead of task variables.
Diffstat (limited to '')
-rw-r--r--testsuites/fstests/imfs_support/fs_support.c1
-rw-r--r--testsuites/fstests/jffs2_support/fs_support.c2
-rw-r--r--testsuites/fstests/mdosfs_support/fs_support.c1
-rw-r--r--testsuites/fstests/mimfs_support/fs_support.c1
-rw-r--r--testsuites/fstests/mrfs_support/fs_support.c1
-rw-r--r--testsuites/libtests/ftp01/init.c2
-rw-r--r--testsuites/psxtests/psxchroot01/main.c2
-rw-r--r--testsuites/psxtests/psxmount/main.c2
-rw-r--r--testsuites/sptests/Makefile.am2
-rw-r--r--testsuites/sptests/configure.ac1
-rw-r--r--testsuites/sptests/spfatal27/Makefile.am21
-rw-r--r--testsuites/sptests/spfatal27/spfatal27.doc23
-rw-r--r--testsuites/sptests/spfatal27/spfatal27.scn3
-rw-r--r--testsuites/sptests/spfatal27/testcase.h27
-rw-r--r--testsuites/sptests/spprivenv01/init.c14
15 files changed, 99 insertions, 4 deletions
diff --git a/testsuites/fstests/imfs_support/fs_support.c b/testsuites/fstests/imfs_support/fs_support.c
index 8eb9cca0b5..e85369015d 100644
--- a/testsuites/fstests/imfs_support/fs_support.c
+++ b/testsuites/fstests/imfs_support/fs_support.c
@@ -41,6 +41,7 @@ test_shutdown_filesystem (void)
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 40
#define CONFIGURE_INIT_TASK_STACK_SIZE (16 * 1024)
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 1
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
diff --git a/testsuites/fstests/jffs2_support/fs_support.c b/testsuites/fstests/jffs2_support/fs_support.c
index 2df6da3397..1ff010d53e 100644
--- a/testsuites/fstests/jffs2_support/fs_support.c
+++ b/testsuites/fstests/jffs2_support/fs_support.c
@@ -157,6 +157,8 @@ void test_shutdown_filesystem(void)
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 1
+
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT
diff --git a/testsuites/fstests/mdosfs_support/fs_support.c b/testsuites/fstests/mdosfs_support/fs_support.c
index 8c5fef4c6f..8d01e9c584 100644
--- a/testsuites/fstests/mdosfs_support/fs_support.c
+++ b/testsuites/fstests/mdosfs_support/fs_support.c
@@ -91,6 +91,7 @@ void test_shutdown_filesystem(void)
#define CONFIGURE_MAXIMUM_DRIVERS 10
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 40
#define CONFIGURE_INIT_TASK_STACK_SIZE (16 * 1024)
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 1
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
diff --git a/testsuites/fstests/mimfs_support/fs_support.c b/testsuites/fstests/mimfs_support/fs_support.c
index 4b3c7012ec..894d8f8aec 100644
--- a/testsuites/fstests/mimfs_support/fs_support.c
+++ b/testsuites/fstests/mimfs_support/fs_support.c
@@ -56,6 +56,7 @@ test_shutdown_filesystem (void)
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 40
#define CONFIGURE_INIT_TASK_STACK_SIZE (16 * 1024)
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 1
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
diff --git a/testsuites/fstests/mrfs_support/fs_support.c b/testsuites/fstests/mrfs_support/fs_support.c
index 8c9989e18b..a1b9a870b1 100644
--- a/testsuites/fstests/mrfs_support/fs_support.c
+++ b/testsuites/fstests/mrfs_support/fs_support.c
@@ -70,6 +70,7 @@ test_shutdown_filesystem (void)
#define CONFIGURE_MAXIMUM_DRIVERS 10
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 40
#define CONFIGURE_INIT_TASK_STACK_SIZE (32 * 1024)
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 1
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
diff --git a/testsuites/libtests/ftp01/init.c b/testsuites/libtests/ftp01/init.c
index dcae4b1f9c..b0c20a26a7 100644
--- a/testsuites/libtests/ftp01/init.c
+++ b/testsuites/libtests/ftp01/init.c
@@ -246,6 +246,8 @@ static rtems_task Init(rtems_task_argument argument)
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 2
+
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#include <rtems/confdefs.h>
diff --git a/testsuites/psxtests/psxchroot01/main.c b/testsuites/psxtests/psxchroot01/main.c
index 0255724640..5eeeebce6c 100644
--- a/testsuites/psxtests/psxchroot01/main.c
+++ b/testsuites/psxtests/psxchroot01/main.c
@@ -34,6 +34,8 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS 1
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 1
+
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/psxtests/psxmount/main.c b/testsuites/psxtests/psxmount/main.c
index 92ddb3e1fe..c6479cbc70 100644
--- a/testsuites/psxtests/psxmount/main.c
+++ b/testsuites/psxtests/psxmount/main.c
@@ -36,6 +36,8 @@ rtems_task Init(
#define CONFIGURE_MAXIMUM_TASKS 1
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 1
+
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
diff --git a/testsuites/sptests/Makefile.am b/testsuites/sptests/Makefile.am
index d57ae69488..315069457c 100644
--- a/testsuites/sptests/Makefile.am
+++ b/testsuites/sptests/Makefile.am
@@ -18,7 +18,7 @@ SUBDIRS = \
spfatal01 spfatal02 spfatal03 spfatal04 spfatal05 spfatal06 spfatal07 \
spfatal08 spfatal09 spfatal10 spfatal11 spfatal12 spfatal13 spfatal14 \
spfatal15 spfatal16 spfatal17 spfatal18 spfatal19 spfatal20 \
- spfatal22 spfatal24 spfatal25 \
+ spfatal22 spfatal24 spfatal25 spfatal27\
spfifo01 spfifo02 spfifo03 spfifo04 spfifo05 \
spfreechain01 \
spintrcritical01 spintrcritical02 spintrcritical03 spintrcritical04 \
diff --git a/testsuites/sptests/configure.ac b/testsuites/sptests/configure.ac
index 5f98ba7573..71f0c8d69c 100644
--- a/testsuites/sptests/configure.ac
+++ b/testsuites/sptests/configure.ac
@@ -166,6 +166,7 @@ spfatal20/Makefile
spfatal22/Makefile
spfatal24/Makefile
spfatal25/Makefile
+spfatal27/Makefile
spfifo01/Makefile
spfifo02/Makefile
spfifo03/Makefile
diff --git a/testsuites/sptests/spfatal27/Makefile.am b/testsuites/sptests/spfatal27/Makefile.am
new file mode 100644
index 0000000000..744cef7541
--- /dev/null
+++ b/testsuites/sptests/spfatal27/Makefile.am
@@ -0,0 +1,21 @@
+rtems_tests_PROGRAMS = spfatal27
+spfatal27_SOURCES = ../spfatal_support/init.c \
+ ../spfatal_support/system.h testcase.h
+
+dist_rtems_tests_DATA = spfatal27.scn
+dist_rtems_tests_DATA += spfatal27.doc
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+
+LINK_OBJS = $(spfatal27_OBJECTS)
+LINK_LIBS = $(spfatal27_LDLIBS)
+
+spfatal27$(EXEEXT): $(spfatal27_OBJECTS) $(spfatal27_DEPENDENCIES)
+ @rm -f spfatal27$(EXEEXT)
+ $(make-exe)
+
+include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/sptests/spfatal27/spfatal27.doc b/testsuites/sptests/spfatal27/spfatal27.doc
new file mode 100644
index 0000000000..f8da1bfbc9
--- /dev/null
+++ b/testsuites/sptests/spfatal27/spfatal27.doc
@@ -0,0 +1,23 @@
+# Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+#
+# embedded brains GmbH
+# Dornierstrasse 4
+# 82178 Puchheim
+# Germany
+# <rtems@embedded-brains.de>
+#
+# The license and distribution terms for this file may be
+# found in the file LICENSE in this distribution or at
+# http://www.rtems.org/license/LICENSE.
+
+This file describes the directives and concepts tested by this test set.
+
+test set name: spfatal27
+
+directives:
+
+ rtems_libio_init
+
+concepts:
+
++ Force the fatal error when no POSIX key is left.
diff --git a/testsuites/sptests/spfatal27/spfatal27.scn b/testsuites/sptests/spfatal27/spfatal27.scn
new file mode 100644
index 0000000000..41f6ae58bc
--- /dev/null
+++ b/testsuites/sptests/spfatal27/spfatal27.scn
@@ -0,0 +1,3 @@
+*** BEGIN OF TEST FATAL 27 ***
+Fatal error (libio init no posix key left) hit
+*** END OF TEST FATAL 27 ***
diff --git a/testsuites/sptests/spfatal27/testcase.h b/testsuites/sptests/spfatal27/testcase.h
new file mode 100644
index 0000000000..4dc4f9dd59
--- /dev/null
+++ b/testsuites/sptests/spfatal27/testcase.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Dornierstrasse 4
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#define FATAL_ERROR_TEST_NAME "FATAL 27"
+#define FATAL_ERROR_DESCRIPTION "libio init no posix key left"
+#define FATAL_ERROR_EXPECTED_SOURCE INTERNAL_ERROR_RTEMS_API
+#define FATAL_ERROR_EXPECTED_IS_INTERNAL FALSE
+#define FATAL_ERROR_EXPECTED_ERROR RTEMS_UNSATISFIED
+
+#define CONFIGURE_MAXIMUM_POSIX_KEYS (-1)
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS (0)
+
+void force_error()
+{
+ /* we should not reach this */
+}
diff --git a/testsuites/sptests/spprivenv01/init.c b/testsuites/sptests/spprivenv01/init.c
index a670085f80..4f0660d7b5 100644
--- a/testsuites/sptests/spprivenv01/init.c
+++ b/testsuites/sptests/spprivenv01/init.c
@@ -63,14 +63,19 @@ rtems_task Init(
puts( "Init - allocating most of workspace memory" );
opaque = rtems_workspace_greedy_allocate( NULL, 0 );
-
- puts( "Init - attempt to reset env - expect RTEMS_TOO_MANY" );
+
+ puts( "Init - attempt to reset env - expect RTEMS_SUCCESSFUL" );
sc = rtems_libio_set_private_env();
- rtems_test_assert( sc == RTEMS_TOO_MANY );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+ rtems_test_assert( rtems_current_user_env != &rtems_global_user_env );
puts( "Init - freeing the workspace memory" );
rtems_workspace_greedy_free( opaque );
+ puts( "Init - Reset to global environment" );
+ rtems_libio_use_global_env();
+ rtems_test_assert( rtems_current_user_env == &rtems_global_user_env );
+
puts( "Init - Attempt to get a private environment" );
sc = rtems_libio_set_private_env();
rtems_test_assert( sc == RTEMS_SUCCESSFUL );
@@ -118,6 +123,9 @@ rtems_task Init(
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+#define CONFIGURE_MAXIMUM_POSIX_KEYS 1
+#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS 2
+
#define CONFIGURE_INIT
#include <rtems/confdefs.h>