summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests/psxconfig01
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-12-12 08:46:30 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-12-12 13:16:28 +0100
commit7bdb765a67812750b9454d2940512da9fec16d38 (patch)
treea28c0d2c31eeba4f783628eb9a914541023aa1d0 /testsuites/psxtests/psxconfig01
parentposix: Delete key/value if value is set to NULL (diff)
downloadrtems-7bdb765a67812750b9454d2940512da9fec16d38.tar.bz2
Add POSIX key value pairs to resource snapshot
Diffstat (limited to 'testsuites/psxtests/psxconfig01')
-rw-r--r--testsuites/psxtests/psxconfig01/init.c44
1 files changed, 29 insertions, 15 deletions
diff --git a/testsuites/psxtests/psxconfig01/init.c b/testsuites/psxtests/psxconfig01/init.c
index afce9f6c5f..61beec3495 100644
--- a/testsuites/psxtests/psxconfig01/init.c
+++ b/testsuites/psxtests/psxconfig01/init.c
@@ -8,10 +8,10 @@
/*
* Copyright (c) 2014. On-Line Applications Research Corporation (OAR).
- * Copyright (c) 2011-2012 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2011-2014 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
- * Obere Lagerstr. 30
+ * Dornierstr. 4
* 82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
@@ -45,6 +45,11 @@ const char rtems_test_name[] = "PSXCONFIG 1";
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
+#define CONFIGURE_MAXIMUM_POSIX_KEYS 23
+#ifdef CONFIGURE_MAXIMUM_POSIX_KEYS
+ #define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS CONFIGURE_MAXIMUM_POSIX_KEYS
+#endif
+
#define CONFIGURE_MAXIMUM_BARRIERS 2
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 7
#define CONFIGURE_MAXIMUM_PARTITIONS 37
@@ -60,7 +65,6 @@ const char rtems_test_name[] = "PSXCONFIG 1";
#define CONFIGURE_MAXIMUM_POSIX_BARRIERS 31
#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 29
-#define CONFIGURE_MAXIMUM_POSIX_KEYS 23
#define POSIX_MQ_COUNT 5
#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 19
#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 7
@@ -262,6 +266,7 @@ static rtems_task Init(rtems_task_argument argument)
rtems_extensions_table table;
rtems_resource_snapshot snapshot;
int i = 0;
+ pthread_key_t key;
TEST_BEGIN();
@@ -299,6 +304,27 @@ static rtems_task Init(rtems_task_argument argument)
);
#endif
+#ifdef CONFIGURE_MAXIMUM_POSIX_KEYS
+ for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_KEYS; ++i) {
+ eno = pthread_key_create(&key, posix_key_dtor);
+ rtems_test_assert(eno == 0);
+
+ eno = pthread_setspecific(key, (void *) (i + 1));
+ rtems_test_assert(eno == 0);
+ }
+ eno = pthread_key_create(&key, posix_key_dtor);
+ rtems_test_assert(eno == EAGAIN);
+ rtems_resource_snapshot_take(&snapshot);
+ rtems_test_assert(
+ snapshot.active_posix_keys == CONFIGURE_POSIX_KEYS
+ );
+ rtems_test_assert(
+ snapshot.active_posix_key_value_pairs == CONFIGURE_MAXIMUM_POSIX_KEYS
+ );
+#else
+ (void) key;
+#endif
+
#ifdef CONFIGURE_MAXIMUM_BARRIERS
for (i = 0; i < CONFIGURE_MAXIMUM_BARRIERS; ++i) {
sc = rtems_barrier_create(name, RTEMS_DEFAULT_ATTRIBUTES, 1, &id);
@@ -455,18 +481,6 @@ static rtems_task Init(rtems_task_argument argument)
);
#endif
-#ifdef CONFIGURE_MAXIMUM_POSIX_KEYS
- for (i = 0; i < CONFIGURE_MAXIMUM_POSIX_KEYS; ++i) {
- pthread_key_t key;
- eno = pthread_key_create(&key, posix_key_dtor);
- rtems_test_assert(eno == 0);
- }
- rtems_resource_snapshot_take(&snapshot);
- rtems_test_assert(
- snapshot.posix_api.active_keys == CONFIGURE_POSIX_KEYS
- );
-#endif
-
#ifdef POSIX_MQ_COUNT
for (i = 0; i < POSIX_MQ_COUNT; ++i) {
int oflag = O_RDWR | O_CREAT | O_EXCL;