summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-03-18 07:25:23 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-03-18 15:36:58 +0100
commitc904df573396d95957dc79b242b3a76911063089 (patch)
treebe6406676689018e8af8a929b6a4ef5284f94c70 /testsuites/psxtests
parentsptests/sptls02: Use GNU++11 (diff)
downloadrtems-c904df573396d95957dc79b242b3a76911063089.tar.bz2
score: Add _Objects_Get_by_name()
Replace _Objects_Name_to_id_string() with _Objects_Get_by_name() since all users of this function are interested in the object itself and not the identifier. Use the object allocator lock to protect the search. Update #2555.
Diffstat (limited to 'testsuites/psxtests')
-rw-r--r--testsuites/psxtests/psxmsgq01/init.c6
-rw-r--r--testsuites/psxtests/psxmsgq01/psxmsgq01.scn45
-rw-r--r--testsuites/psxtests/psxobj01/init.c48
-rw-r--r--testsuites/psxtests/psxobj01/psxobj01.scn11
-rw-r--r--testsuites/psxtests/psxsem01/init.c4
-rw-r--r--testsuites/psxtests/psxsem01/psxsem01.scn15
6 files changed, 62 insertions, 67 deletions
diff --git a/testsuites/psxtests/psxmsgq01/init.c b/testsuites/psxtests/psxmsgq01/init.c
index de2965a715..41cb1243aa 100644
--- a/testsuites/psxtests/psxmsgq01/init.c
+++ b/testsuites/psxtests/psxmsgq01/init.c
@@ -378,13 +378,13 @@ void validate_mq_unlink_error_codes(void)
fatal_posix_service_status( errno, EINVAL, "mq_unlink errno value");
/*
- * EINVAL - Unlink a queue with a null name
+ * ENOENT - Unlink a queue with a zero length name
*/
- puts( "Init: mq_unlink (\"\") - EINVAL" );
+ puts( "Init: mq_unlink (\"\") - ENOENT" );
status = mq_unlink( "" );
fatal_posix_service_status( status, -1, "mq_unlink error return status");
- fatal_posix_service_status( errno, EINVAL, "mq_unlink errno value");
+ fatal_posix_service_status( errno, ENOENT, "mq_unlink errno value");
}
void validate_mq_close_error_codes(void)
diff --git a/testsuites/psxtests/psxmsgq01/psxmsgq01.scn b/testsuites/psxtests/psxmsgq01/psxmsgq01.scn
index 3eb29efb43..e68ce6d698 100644
--- a/testsuites/psxtests/psxmsgq01/psxmsgq01.scn
+++ b/testsuites/psxtests/psxmsgq01/psxmsgq01.scn
@@ -1,11 +1,11 @@
-*** POSIX MESSAGE QUEUE TEST ***
+*** BEGIN OF TEST PSXMSGQ 1 ***
_______________mq_open errors
Init: mq_open - Create with maxmsg (-1) (EINVAL)
Init: mq_open - Create with msgsize (-1) (EINVAL)
Init: mq_open - Open new mq without create flag (ENOENT)
Init: mq_open - Open with too long of a name (ENAMETOOLONG)
Init: mq_open - Create an Existing mq (EEXIST)
-Init: mq_open - SUCCESSFUL
+Init: mq_open - SUCCESSFUL
Init: mq_open - system is out of resources (ENFILE)
Init: mq_close and mq_unlink (mq3...mqn) - SUCCESSFUL
Init: Open Test Queues
@@ -13,7 +13,7 @@ _______________mq_unlink errors
Init: mq_unlink - mq_unlink with too long of a name (ENAMETOOLONG)
Init: mq_unlink - A Queue not opened (ENOENT)
Init: mq_unlink (NULL) - EINVAL
-Init: mq_unlink ("") - EINVAL
+Init: mq_unlink ("") - ENOENT
_______________mq_close errors
Init: mq_close - unopened queue (EBADF)
_______________mq_unlink functionality
@@ -21,9 +21,9 @@ Init: Unlink and Open without closing SUCCESSFUL
Task1:mq_setattr - unopened queue (EBADF)
Task1:mq_setattr - NULL attributes (EINVAL)
Init: set_attr all queues to blocking
-Init: Init: mq_timedreceive - on queue Qnoblock Init: 1 sec -12131 us
-Init: Init: mq_timedreceive - on queue Qblock Init: 1 sec -11843 us
-Init: Init: mq_timedreceive - on queue Qdefault Init: 0 sec 988133 us
+Init: Init: mq_timedreceive - on queue Qnoblock Init: 1 sec -8622 us
+Init: Init: mq_timedreceive - on queue Qblock Init: 1 sec -1872 us
+Init: Init: mq_timedreceive - on queue Qdefault Init: 1 sec -1881 us
_______________mq_send errors
Init: mq_send - Closed message queue (EBADF)
Init: mq_send - Read only message queue (EBADF)
@@ -37,9 +37,9 @@ _______________mq_getattr errors
Init: mq_getattr - unopened queue (EBADF)
Init: mq_getattr - NULL attributes (EINVAL)
_______________mq_timedsend
-Init: mq_timedsend - on queue Qnoblock Init: 0 sec 77 us
-Init: mq_timedsend - on queue Qblock Init: 0 sec 988482 us
-Init: mq_timedsend - on queue Qdefault Init: 0 sec 101 us
+Init: mq_timedsend - on queue Qnoblock Init: 0 sec 127 us
+Init: mq_timedsend - on queue Qblock Init: 1 sec -9245 us
+Init: mq_timedsend - on queue Qdefault Init: 0 sec 130 us
_______________mq_receive errors
Init: mq_receive - Unopened message queue (EBADF)
Init: mq_receive - Write only queue (EBADF)
@@ -48,9 +48,9 @@ Init: Verify Queues are full
Init: Empty all Queues
Init: mq_receive - Queue is empty (EAGAIN)
_______________mq_timedreceive
-Init: Init: mq_timedreceive - on queue Qnoblock Init: 0 sec 83 us
-Init: Init: mq_timedreceive - on queue Qblock Init: 0 sec 986568 us
-Init: Init: mq_timedreceive - on queue Qdefault Init: 1 sec -11823 us
+Init: Init: mq_timedreceive - on queue Qnoblock Init: 0 sec 128 us
+Init: Init: mq_timedreceive - on queue Qblock Init: 1 sec -715 us
+Init: Init: mq_timedreceive - on queue Qdefault Init: 1 sec -1836 us
_______________mq_open functionality
_______________mq_notify
Init: mq_notify - Unopened message queue (EBADF)
@@ -70,19 +70,19 @@ Init: Verify No Signal when send
Init: mq_send - to Qnoblock msg: 12345678 priority 31
waiting on any signal for 3 seconds.
_______________multi-thread Task 1 Test
-Task_1: Fri Jan 1 00:00:17 1988
+Task_1: Fri Jan 1 00:00:18 1988
Task_1: mq_send - to Qblock msg: 12345678 priority 31
Task_1: pthread_exit
-Init: Fri Jan 1 00:00:17 1988
+Init: Fri Jan 1 00:00:18 1988
_______________multi-thread Task 2 Test
Init: Verify Queues are empty
Init: Fill Queues with messages
Init: Verify Queues are full
Init: mq_send - to Qblock msg: Last priority 32
-Task_2: Fri Jan 1 00:00:17 1988
+Task_2: Fri Jan 1 00:00:18 1988
Task_2: Verify Queues are full
Task_2: pthread_exit
-Init: Fri Jan 1 00:00:17 1988
+Init: Fri Jan 1 00:00:18 1988
Init: Verify Queues are full
Init: Empty all Queues
_______________multi-thread Task 3 Test
@@ -90,14 +90,13 @@ Init: Verify Queues are empty
Init: Fill Queues with messages
Init: Verify Queues are full
Init: mq_send - Block while thread deletes queue (EBADF)
-Task_3: Fri Jan 1 00:00:18 1988
+Task_3: Fri Jan 1 00:00:18 1988
_______________Unlink and Close All Files
Task_3: pthread_exit
_______________mq_timedout_receive
-Init: Init: verify_timedout_mq_timedreceive - on queue Qnoblock Init: 0 sec 54 us
+Init: Init: verify_timedout_mq_timedreceive - on queue Qnoblock Init: 0 sec 81 us
_______________verify_timedout_mq_timedsend
-Init: verify_timedout_mq_timedsend - on queue Qnoblock Init: 0 sec 54 us
-Init: verify_timedout_mq_timedsend - on queue Qblock Init: 0 sec 55 us
-Init: verify_timedout_mq_timedsend - on queue Qdefault Init: 0 sec 78 us
-*** END OF POSIX MESSAGE QUEUE TEST ***
-
+Init: verify_timedout_mq_timedsend - on queue Qnoblock Init: 0 sec 84 us
+Init: verify_timedout_mq_timedsend - on queue Qblock Init: 0 sec 86 us
+Init: verify_timedout_mq_timedsend - on queue Qdefault Init: 0 sec 104 us
+*** END OF TEST PSXMSGQ 1 ***
diff --git a/testsuites/psxtests/psxobj01/init.c b/testsuites/psxtests/psxobj01/init.c
index 27d32b340e..16b703ba52 100644
--- a/testsuites/psxtests/psxobj01/init.c
+++ b/testsuites/psxtests/psxobj01/init.c
@@ -29,11 +29,12 @@ rtems_task Init(
rtems_task_argument ignored
)
{
- Objects_Name_or_id_lookup_errors namerc;
- Objects_Information TestClass;
- Objects_Id id;
- char name[64];
- bool bc;
+ Objects_Get_by_name_error error;
+ Objects_Information TestClass;
+ Objects_Control *the_object;
+ char name[64];
+ size_t name_len;
+ bool bc;
TEST_BEGIN();
@@ -53,27 +54,24 @@ rtems_task Init(
#endif
);
- puts( "INIT - _Objects_Name_to_id_string - NULL name" );
- namerc = _Objects_Name_to_id_string( &TestClass, NULL, &id );
- if ( namerc != OBJECTS_INVALID_NAME ) {
- printf( "ERROR - Status = %d\n", namerc );
- rtems_test_exit(0);
- }
-
- puts( "INIT - _Objects_Name_to_id_string - NULL ID" );
- namerc = _Objects_Name_to_id_string( &TestClass, name, NULL );
- if ( namerc != OBJECTS_INVALID_ADDRESS ) {
- printf( "ERROR - Status = %d\n", namerc );
- rtems_test_exit(0);
- }
-
- puts( "INIT - _Objects_Name_to_id_string - name of non-existent object" );
+ puts( "INIT - _Objects_Get_by_name - NULL name" );
+ the_object = _Objects_Get_by_name( &TestClass, NULL, NULL, &error );
+ rtems_test_assert( the_object == NULL );
+ rtems_test_assert( error == OBJECTS_GET_BY_NAME_INVALID_NAME );
+
+ puts( "INIT - _Objects_Get_by_name - name too long" );
+ strcpy( name, "TOOOOOOOOOOOOOOOOOO LONG" );
+ the_object = _Objects_Get_by_name( &TestClass, name, NULL, &error );
+ rtems_test_assert( the_object == NULL );
+ rtems_test_assert( error == OBJECTS_GET_BY_NAME_NAME_TOO_LONG );
+
+ puts( "INIT - _Objects_Get_by_name - name of non-existent object" );
strcpy( name, "NOT FOUND" );
- namerc = _Objects_Name_to_id_string( &TestClass, name, &id );
- if ( namerc != OBJECTS_INVALID_NAME ) {
- printf( "ERROR - Status = %d\n", namerc );
- rtems_test_exit(0);
- }
+ name_len = 123;
+ the_object = _Objects_Get_by_name( &TestClass, name, &name_len, &error );
+ rtems_test_assert( the_object == NULL );
+ rtems_test_assert( error == OBJECTS_GET_BY_NAME_NO_OBJECT );
+ rtems_test_assert( name_len == 9 );
/* out of memory error ONLY when POSIX is enabled */
puts( "INIT - _Objects_Set_name fails - out of memory" );
diff --git a/testsuites/psxtests/psxobj01/psxobj01.scn b/testsuites/psxtests/psxobj01/psxobj01.scn
index 809d028eea..344820f75c 100644
--- a/testsuites/psxtests/psxobj01/psxobj01.scn
+++ b/testsuites/psxtests/psxobj01/psxobj01.scn
@@ -1,7 +1,6 @@
-*** POSIX OBJECT TEST 1 ***
-INIT - _Objects_Name_to_id_string - NULL name
-INIT - _Objects_Name_to_id_string - NULL ID
-INIT - _Objects_Name_to_id_string - name of non-existent object
+*** BEGIN OF TEST PSXOBJ 1 ***
+INIT - _Objects_Get_by_name - NULL name
+INIT - _Objects_Get_by_name - name too long
+INIT - _Objects_Get_by_name - name of non-existent object
INIT - _Objects_Set_name fails - out of memory
-Allocate_majority_of_workspace:
-*** END OF POSIX OBJECT TEST 1 ***
+*** END OF TEST PSXOBJ 1 ***
diff --git a/testsuites/psxtests/psxsem01/init.c b/testsuites/psxtests/psxsem01/init.c
index f377a4e68b..c1752f3a35 100644
--- a/testsuites/psxtests/psxsem01/init.c
+++ b/testsuites/psxtests/psxsem01/init.c
@@ -279,10 +279,10 @@ void *POSIX_Init(
fatal_posix_service_status( status, -1, "sem_unlink error return status");
fatal_posix_service_status( errno, EINVAL, "sem_unlink errno value");
- puts( "Init: sem_unlink (\"\") - EINVAL" );
+ puts( "Init: sem_unlink (\"\") - ENOENT" );
status = sem_unlink( "" );
fatal_posix_service_status( status, -1, "sem_unlink error return status");
- fatal_posix_service_status( errno, EINVAL, "sem_unlink errno value");
+ fatal_posix_service_status( errno, ENOENT, "sem_unlink errno value");
/*
* XXX - Cant' create location OBJECTS_ERROR or OBJECTS_REMOTE.
diff --git a/testsuites/psxtests/psxsem01/psxsem01.scn b/testsuites/psxtests/psxsem01/psxsem01.scn
index 70e80baf75..ad2612f998 100644
--- a/testsuites/psxtests/psxsem01/psxsem01.scn
+++ b/testsuites/psxtests/psxsem01/psxsem01.scn
@@ -1,10 +1,10 @@
-*** POSIX SEMAPHORE MANAGER TEST 1 ***
+*** BEGIN OF TEST PSXSEM 1 ***
Init: sem_init - UNSUCCESSFUL (EINVAL)
Init: sem_init - SUCCESSFUL
Init: sem_init - UNSUCCESSFUL (ENOSPC)
Init: sem_init - UNSUCCESSFUL (ENOSYS -- pshared not supported)
-Init: sem_getvalue - SUCCESSFUL
-Init: sem_getvalue - UNSUCCESSFUL
+Init: sem_getvalue - SUCCESSFUL
+Init: sem_getvalue - UNSUCCESSFUL
Init: sem_destroy - SUCCESSFUL
Init: sem_destroy - UNSUCCESSFUL (EINVAL)
Init: sem_wait - SUCCESSFUL
@@ -13,10 +13,10 @@ Init: sem_post - SUCCESSFUL
Init: sem_wait - SUCCESSFUL (after a sem_post)
Init: sem_trywait - SUCCESSFUL
Init: sem_trywait - UNSUCCESSFUL (EAGAIN)
-Init: sem_trywait - UNSUCCESSFUL (EINVAL) -- skipping
+Init: sem_trywait - UNSUCCESSFUL (EINVAL)
Init: sem_timedwait - SUCCESSFUL
Init: sem_timedwait - UNSUCCESSFUL (ETIMEDOUT)
-Init: sem_timedwait - UNSUCCESSFUL (EINVAL)
+Init: sem_timedwait - UNSUCCESSFUL (EINVAL) -- skipping
Init: sem_post - UNSUCCESSFUL (EINVAL)
Init: sem_destroy - SUCCESSFUL
Init: sem_open - UNSUCCESSFUL (ENAMETOOLONG)
@@ -34,7 +34,6 @@ Init: sem_unlink - sem1 (2) SUCCESSFUL
Init: sem_close - UNSUCCESSFUL (EINVAL)
Init: sem_unlink - UNSUCCESSFUL (ENOENT)
Init: sem_unlink (NULL) - EINVAL
-Init: sem_unlink ("") - EINVAL
+Init: sem_unlink ("") - ENOENT
Init: sem_unlink - UNSUCCESSFUL (ENOENT)
-*** END OF POSIX SEMAPHORE MANAGER TEST 1 ***
-
+*** END OF TEST PSXSEM 1 ***