| This is output from examples/ostest collected on June 3, 2009 on the Olimex STR-P711 |
| development board. |
| ==================================================================================== |
| |
| stdio_test: write fd=1 |
| stdio_test: write fd=2 |
| stdio_test: Standard I/O Check: printf |
| user_start: Started user_main at PID=2 |
| user_start: Exitting |
| stdio_test: Standard I/O Check: fprintf to stderr |
| |
| user_main: Begin argument test |
| user_main: Started with argc=5 |
| user_main: argv[0]="<noname>" |
| user_main: argv[1]="Arg1" |
| user_main: argv[2]="Arg2" |
| user_main: argv[3]="Arg3" |
| user_main: argv[4]="Arg4" |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: /dev/null test |
| dev_null: Read 0 bytes from /dev/null |
| dev_null: Wrote 1024 bytes to /dev/null |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: mutex test |
| Initializing mutex |
| Starting thread 1 |
| Starting thread 2 |
| Thread1 Thread2 |
| Loops 32 32 |
| Errors 0 0 |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: cancel test |
| cancel_test: Test 1: Normal Cancelation |
| cancel_test: Starting thread |
| start_thread: Initializing mutex |
| start_thread: Initializing cond |
| start_thread: Starting thread |
| thread_waiter: Taking mutex |
| thread_waiter: Starting wait for condition |
| start_thread: Yielding |
| cancel_test: Canceling thread |
| cancel_test: Joining |
| cancel_test: waiter exited with result=ffffffff |
| cancel_test: PASS thread terminated with PTHREAD_CANCELED |
| cancel_test: Test 2: Cancelation of detached thread |
| cancel_test: Re-starting thread |
| restart_thread: Destroying cond |
| restart_thread: Destroying mutex |
| restart_thread: Re-starting thread |
| start_thread: Initializing mutex |
| start_thread: Initializing cond |
| start_thread: Starting thread |
| thread_waiter: Taking mutex |
| thread_waiter: Starting wait for condition |
| start_thread: Yielding |
| cancel_test: Canceling thread |
| cancel_test: Joining |
| cancel_test: PASS pthread_join failed with status=ESRCH |
| cancel_test: Test 3: Non-cancelable threads |
| cancel_test: Re-starting thread (non-cancelable) |
| restart_thread: Destroying cond |
| restart_thread: Destroying mutex |
| restart_thread: Re-starting thread |
| start_thread: Initializing mutex |
| start_thread: Initializing cond |
| start_thread: Starting thread |
| thread_waiter: Taking mutex |
| thread_waiter: Starting wait for condition |
| thread_waiter: Setting non-cancelable |
| start_thread: Yielding |
| cancel_test: Canceling thread |
| cancel_test: Joining |
| thread_waiter: Releasing mutex |
| thread_waiter: Setting cancelable |
| cancel_test: waiter exited with result=ffffffff |
| cancel_test: PASS thread terminated with PTHREAD_CANCELED |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: semaphore test |
| sem_test: Initializing semaphore to 0 |
| sem_test: Starting waiter thread 1 |
| sem_test: Set thread 1 priority to 191 |
| waiter_func: Thread 1 Started |
| waiter_func: Thread 1 initial semaphore value = 0 |
| waiter_func: Thread 1 waiting on semaphore |
| sem_test: Starting waiter thread 2 |
| sem_test: Set thread 2 priority to 128 |
| waiter_func: Thread 2 Started |
| waiter_func: Thread 2 initial semaphore value = -1 |
| waiter_func: Thread 2 waiting on semaphore |
| sem_test: Starting poster thread 3 |
| sem_test: Set thread 3 priority to 64 |
| poster_func: Thread 3 started |
| poster_func: Thread 3 semaphore value = -2 |
| poster_func: Thread 3 posting semaphore |
| waiter_func: Thread 1 awakened |
| waiter_func: Thread 1 new semaphore value = -1 |
| waiter_func: Thread 1 done |
| poster_func: Thread 3 new semaphore value = -1 |
| poster_func: Thread 3 semaphore value = -1 |
| poster_func: Thread 3 posting semaphore |
| waiter_func: Thread 2 awakened |
| waiter_func: Thread 2 new semaphore value = 0 |
| waiter_func: Thread 2 done |
| poster_func: Thread 3 new semaphore value = 0 |
| poster_func: Thread 3 done |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: condition variable test |
| cond_test: Initializing mutex |
| cond_test: Initializing cond |
| cond_test: Starting waiter |
| cond_test: Set thread 1 priority to 128 |
| waiter_thread: Started |
| cond_test: Starting signaler |
| cond_test: Set thread 2 priority to 64 |
| thread_signaler: Started |
| thread_signaler: Terminating |
| cond_test: signaler terminated, now cancel the waiter |
| cond_test: Waiter Signaler |
| cond_test: Loops 32 32 |
| cond_test: Errors 0 0 |
| cond_test: |
| cond_test: 0 times, waiter did not have to wait for data |
| cond_test: 0 times, data was already available when the signaler run |
| cond_test: 0 times, the waiter was in an unexpected state when the signaler ran |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: timed wait test |
| thread_waiter: Initializing mutex |
| timedwait_test: Initializing cond |
| timedwait_test: Starting waiter |
| timedwait_test: Set thread 2 priority to 177 |
| thread_waiter: Taking mutex |
| thread_waiter: Starting 5 second wait for condition |
| timedwait_test: Joining |
| thread_waiter: pthread_cond_timedwait timed out |
| thread_waiter: Releasing mutex |
| thread_waiter: Exit with status 0x12345678 |
| timedwait_test: waiter exited with result=12345678 |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: message queue test |
| mqueue_test: Starting receiver |
| mqueue_test: Set receiver priority to 128 |
| receiver_thread: Starting |
| mqueue_test: Starting sender |
| mqueue_test: Set sender thread priority to 64 |
| mqueue_test: Waiting for sender to complete |
| sender_thread: Starting |
| receiver_thread: mq_receive succeeded on msg 0 |
| sender_thread: mq_send succeeded on msg 0 |
| receiver_thread: mq_receive succeeded on msg 1 |
| sender_thread: mq_send succeeded on msg 1 |
| receiver_thread: mq_receive succeeded on msg 2 |
| sender_thread: mq_send succeeded on msg 2 |
| receiver_thread: mq_receive succeeded on msg 3 |
| sender_thread: mq_send succeeded on msg 3 |
| receiver_thread: mq_receive succeeded on msg 4 |
| sender_thread: mq_send succeeded on msg 4 |
| receiver_thread: mq_receive succeeded on msg 5 |
| sender_thread: mq_send succeeded on msg 5 |
| receiver_thread: mq_receive succeeded on msg 6 |
| sender_thread: mq_send succeeded on msg 6 |
| receiver_thread: mq_receive succeeded on msg 7 |
| sender_thread: mq_send succeeded on msg 7 |
| receiver_thread: mq_receive succeeded on msg 8 |
| sender_thread: mq_send succeeded on msg 8 |
| receiver_thread: mq_receive succeeded on msg 9 |
| sender_thread: mq_send succeeded on msg 9 |
| sender_thread: returning nerrors=0 |
| mqueue_test: Killing receiver |
| receiver_thread: mq_receive interrupted! |
| receiver_thread: returning nerrors=0 |
| mqueue_test: Canceling receiver |
| mqueue_test: receiver has already terminated |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: timed message queue test |
| timedmqueue_test: Starting sender |
| sender_thread: Starting |
| sender_thread: mq_timedsend succeeded on msg 0 |
| sender_thread: mq_timedsend succeeded on msg 1 |
| sender_thread: mq_timedsend succeeded on msg 2 |
| sender_thread: mq_timedsend succeeded on msg 3 |
| sender_thread: mq_timedsend succeeded on msg 4 |
| sender_thread: mq_timedsend succeeded on msg 5 |
| sender_thread: mq_timedsend succeeded on msg 6 |
| sender_thread: mq_timedsend succeeded on msg 7 |
| sender_thread: mq_timedsend succeeded on msg 8 |
| timedmqueue_test: Waiting for sender to complete |
| sender_thread: mq_timedsend 9 timed out as expected |
| sender_thread: returning nerrors=0 |
| timedmqueue_test: Starting receiver |
| receiver_thread: Starting |
| receiver_thread: mq_timedreceive succeeded on msg 0 |
| receiver_thread: mq_timedreceive succeeded on msg 1 |
| receiver_thread: mq_timedreceive succeeded on msg 2 |
| receiver_thread: mq_timedreceive succeeded on msg 3 |
| receiver_thread: mq_timedreceive succeeded on msg 4 |
| receiver_thread: mq_timedreceive succeeded on msg 5 |
| receiver_thread: mq_timedreceive succeeded on msg 6 |
| receiver_thread: mq_timedreceive succeeded on msg 7 |
| receiver_thread: mq_timedreceive succeeded on msg 8 |
| timedmqueue_test: Waiting for receiver to complete |
| receiver_thread: Receive 9 timed out as expected |
| receiver_thread: returning nerrors=0 |
| timedmqueue_test: Test complete |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: signal handler test |
| sighand_test: Initializing semaphore to 0 |
| sighand_test: Starting waiter task |
| sighand_test: Started waiter_main pid=20 |
| waiter_main: Waiter started |
| waiter_main: Unmasking signal 17 |
| waiter_main: Registering signal handler |
| waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0 |
| waiter_main: Waiting on semaphore |
| sighand_test: Signaling pid=20 with signo=17 sigvalue=42 |
| wakeup_action: Received signal 17 |
| wakeup_action: sival_int=42 |
| wakeup_action: si_code=1 |
| wakeup_action: ucontext=0 |
| waiter_main: sem_wait() successfully interrupted by signal |
| waiter_main: done |
| sighand_test: done |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: POSIX timer test |
| timer_test: Initializing semaphore to 0 |
| timer_test: Unmasking signal 17 |
| timer_test: Registering signal handler |
| timer_test: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0 |
| timer_test: Creating timer |
| timer_test: Starting timer |
| timer_test: Waiting on semaphore |
| timer_expiration: Received signal 17 |
| timer_expiration: sival_int=42 |
| timer_expiration: si_code=2 (SI_TIMER) |
| timer_expiration: ucontext=0 |
| timer_test: sem_wait() successfully interrupted by signal |
| timer_test: g_nsigreceived=1 |
| timer_test: Waiting on semaphore |
| timer_expiration: Received signal 17 |
| timer_expiration: sival_int=42 |
| timer_expiration: si_code=2 (SI_TIMER) |
| timer_expiration: ucontext=0 |
| timer_test: sem_wait() successfully interrupted by signal |
| timer_test: g_nsigreceived=2 |
| timer_test: Waiting on semaphore |
| timer_expiration: Received signal 17 |
| timer_expiration: sival_int=42 |
| timer_expiration: si_code=2 (SI_TIMER) |
| timer_expiration: ucontext=0 |
| timer_test: sem_wait() successfully interrupted by signal |
| timer_test: g_nsigreceived=3 |
| timer_test: Waiting on semaphore |
| timer_expiration: Received signal 17 |
| timer_expiration: sival_int=42 |
| timer_expiration: si_code=2 (SI_TIMER) |
| timer_expiration: ucontext=0 |
| timer_test: sem_wait() successfully interrupted by signal |
| timer_test: g_nsigreceived=4 |
| timer_test: Waiting on semaphore |
| timer_expiration: Received signal 17 |
| timer_expiration: sival_int=42 |
| timer_expiration: si_code=2 (SI_TIMER) |
| timer_expiration: ucontext=0 |
| timer_test: sem_wait() successfully interrupted by signal |
| timer_test: g_nsigreceived=5 |
| timer_test: Deleting timer |
| timer_test: done |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| user_main: barrier test |
| barrier_test: Initializing barrier |
| barrier_func: Thread 0 started |
| barrier_test: Thread 0 created |
| barrier_func: Thread 1 started |
| barrier_test: Thread 1 created |
| barrier_func: Thread 2 started |
| barrier_test: Thread 2 created |
| barrier_func: Thread 0 calling pthread_barrier_wait() |
| barrier_func: Thread 1 calling pthread_barrier_wait() |
| barrier_func: Thread 2 calling pthread_barrier_wait() |
| barrier_func: Thread 2, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL) |
| barrier_func: Thread 0, back with status=0 (I am not special) |
| barrier_func: Thread 1, back with status=0 (I am not special) |
| barrier_func: Thread 2 done |
| barrier_func: Thread 0 done |
| barrier_func: Thread 1 done |
| barrier_test: Thread 0 completed with result=0 |
| barrier_test: Thread 1 completed with result=0 |
| barrier_test: Thread 2 completed with result=0 |
| |
| End of test memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| |
| Final memory usage: |
| VARIABLE BEFORE AFTER |
| ======== ======== ======== |
| arena edf0 edf0 |
| ordblks 2 2 |
| mxordblk c2d0 c2d0 |
| uordblks 1d00 1d00 |
| fordblks d0f0 d0f0 |
| user_main: Exitting |