Your Feedback

If you need:

* custom system version,
* system for another procesor,
* want to request new features,

If you found error on the site

something is displayed incorrectly or is not working under your browser.

You can send a message

Click here and write a note.

Your comments will improve the DioneOS system.
 

DioneOS News

Full verification of the system version for ARM Cortex-M3

2013-11-14

Version for ARM Cortex-M3 was tested automatically (full code coverage: all functions, marcos, code lines, conditions, etc.). Tests were performed on STM32L162.

DioneOS for ARM Cortex-M3

2013-03-29

DioneOS version for ARM Cortex-M3 processor was released.

Introduction to Multithreading

2011-07-11

'Introduction to Multithreaded Programming' has been added in tutorials section

State Machine support.

2011-06-15

State machine support has been added to the system. Pattern for state machine coding is defined.

Texas Instruments Developer Network

2011-04-11

ELESOFTROM entered Texas Instruments MCU Developer Network. This program gathers companies that develop software for TI MCUs and provide professional services in this domain.

Regular MSP430 supported.

2011-04-05

Support for regular MSP430 microcontroller and small code model has been added.

DioneOS release for MSP430x

2011-02-02

First release of the DioneOS System. Support for MSP430x and large code model.


Example of test report

Test was performed on STM32L162, fosc=32MHz.

TEST: os_debug
Nb of tests performed: 9 from 9 [OK]
[OK] Test 1: checking interrupts (if are enabled)
[OK] Test 2: call of os_bug exeption ... reported exception: (13) OS_BUG_TESTING
[OK] Test 3: checking interrupts (if has been disabled)
[OK] Test 4: os_bug checking os_bug_at_pc
[OK] Test 5: checking interrupts (if are enabled)
[OK] Test 6: macro OS_BUG_A ... reported exception: (14) OS_BUG_TESTING_A
[OK] Test 7: checking interrupts (if has been disabled)
[OK] Test 8: macro OS_BUG_A checking os_bug_at_pc
[LA?] Test 9: testing pin control
Performed on: 2013-11-12_18.55.05 :: 2013-11-12_18.55.25
Verifying signals in LA recording
[OK] Pattern correct, found 6 edges

TEST: os_debug-2
Nb of tests performed: 1 from 1 [OK]
[LA?] Test 1: testing pin control
Performed on: 2013-11-12_18.55.25 :: 2013-11-12_18.55.43
Verifying signals in LA recording
[OK] Pattern correct, found 6 edges

TEST: os_envelope
Nb of tests performed: 14 from 14 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: os_schedule_run switching to the thread ->0
[OK] Test 3: critical section, checking if ISR was before section
[OK] Test 4: critical section, checking if ISR was after section
[OK] Test 5: critical section, checking if no ISR was inside section
[OK] Test 6: critical section, checking if ISR was before nested section
[OK] Test 7: critical section, checking if ISR was after nested section
[OK] Test 8: critical section, checking if no ISR was inside nested section
[OK] Test 9: critical section in ISR, checking if another ISR was before section
[OK] Test 10: critical section in ISR, checking if another ISR was after section
[OK] Test 11: critical section in ISR, checking if no other ISR was inside section
[OK] Test 12: critical section in ISR, checking if another ISR was before nested section
[OK] Test 13: critical section in ISR, checking if another ISR was after nested section
[OK] Test 14: critical section in ISR, checking if no other ISR was inside nested section
Performed on: 2013-11-12_18.55.43 :: 2013-11-12_18.55.57

TEST: os_list1
Nb of tests performed: 12 from 12 [OK]
[OK] Test 1: os_list1_item/content
[OK] Test 2: os_list1_is_empty for empty list
[OK] Test 3: os_list1_insert for empty list
[OK] Test 4: os_list1_is_empty for non-empty list
[OK] Test 5: os_list1_is_last for last item
[OK] Test 6: os_list1_insert after last
[OK] Test 7: os_list1_insert at the begining, for non-empty list
[OK] Test 8: os_list1_is_last for non-last item
[OK] Test 9: os_list1_insert after first, before last
[OK] Test 10: os_list1_del first item
[OK] Test 11: os_list1_del before last
[OK] Test 12: os_list1_del last
Performed on: 2013-11-12_18.55.57 :: 2013-11-12_18.56.10

TEST: os_list1-with-poison
Nb of tests performed: 12 from 12 [OK]
[OK] Test 1: os_list1_item/content
[OK] Test 2: os_list1_is_empty for empty list
[OK] Test 3: os_list1_insert for empty list
[OK] Test 4: os_list1_is_empty for non-empty list
[OK] Test 5: os_list1_is_last for last item
[OK] Test 6: os_list1_insert after last
[OK] Test 7: os_list1_insert at the begining, for non-empty list
[OK] Test 8: os_list1_is_last for non-last item
[OK] Test 9: os_list1_insert after first, before last
[OK] Test 10: os_list1_del (_mark) first item
[OK] Test 11: os_list1_del (_mark) before last
[OK] Test 12: os_list1_del (_mark) last
Performed on: 2013-11-12_18.56.10 :: 2013-11-12_18.56.22

TEST: os_mempool
Nb of tests performed: 15 from 15 [OK]
[OK] Test 1: mem_pool_ptr_is_valid
[OK] Test 2: os_mem_pool_create check when no memory
[OK] Test 3: os_mem_pool_create check of desc. fields (cap%16!=0)
[OK] Test 4: os_mem_pool_create check of desc. fields (cap%16=0)
[OK] Test 5: os_mem_pool_create check if items are filled with poison-code
[OK] Test 6: os_mem_pool_create check if index is initialized with zeros
[OK] Test 7: _os_mem_pool_destroy if detects null pointer in index field
[OK] Test 8: _os_mem_pool_destroy correct destroy
[OK] Test 9: _os_mem_pool_destroy if detects undeleted items
[OK] Test 10: _os_mem_pool_destroy if detects null pointer in pool field
[OK] Test 11: free_index_bit full test, except 0xFFFF
[OK] Test 12: _os_mem_pool_alloc allocation and zeroing test
[OK] Test 13: _os_mem_pool_alloc detection of full partition
[OK] Test 14: _os_mem_pool_free proper items release
[OK] Test 15: _os_mem_pool_free trial of double release, ... reported exception: (7) OS_BUG_DBL_FREE
Performed on: 2013-11-12_18.56.22 :: 2013-11-12_18.56.35

TEST: os_mempool-2
Nb of tests performed: 15 from 15 [OK]
[OK] Test 1: mem_pool_ptr_is_valid
[OK] Test 2: os_mem_pool_create check when no memory
[OK] Test 3: os_mem_pool_create check of desc. fields (cap%16!=0)
[OK] Test 4: os_mem_pool_create check of desc. fields (cap%16=0)
[OK] Test 5: os_mem_pool_create check if items are marked with posion-code
[OK] Test 6: os_mem_pool_create check if index is initialized with zeros
[OK] Test 7: _os_mem_pool_destroy if detects null pointer in index field
[OK] Test 8: _os_mem_pool_destroy correct destroy
[OK] Test 9: _os_mem_pool_destroy if detects undeleted items
[OK] Test 10: _os_mem_pool_destroy if detects null pointer in pool field
[OK] Test 11: free_index_bit full test, except 0xFFFF
[OK] Test 12: _os_mem_pool_alloc allocation and zeroing mark test
[OK] Test 13: _os_mem_pool_alloc detection of full partition
[OK] Test 14: _os_mem_pool_free proper items release
[OK] Test 15: _os_mem_pool_free trial of invalid pointer, ... reported exception: (8) OS_BUG_INVALID_PTR
Performed on: 2013-11-12_18.56.35 :: 2013-11-12_18.56.47

TEST: os_mempool-env
Nb of tests performed: 17 from 17 [OK]
[OK] Test 1: mem_pool_ptr_is_valid
[OK] Test 2: os_mem_pool_create check when no memory
[OK] Test 3: os_mem_pool_create check of desc. fields (cap%16!=0)
[OK] Test 4: os_mem_pool_create check of desc. fields (cap%16=0)
[OK] Test 5: os_mem_pool_create check if items are filled with poison-code
[OK] Test 6: os_mem_pool_create check if index is initialized with zeros
[OK] Test 7: thread creation, following tests will be in thread context
[OK] Test 8: scheduler start and switch to the thread
[OK] Test 9: os_mem_pool_destroy if detects null pointer in index field
[OK] Test 10: os_mem_pool_destroy correct destroy
[OK] Test 11: os_mem_pool_destroy if detects undeleted items
[OK] Test 12: os_mem_pool_destroy if detects null pointer in pool field
[OK] Test 13: free_index_bit full test, except 0xFFFF
[OK] Test 14: os_mem_pool_alloc allocation and zeroing test
[OK] Test 15: os_mem_pool_alloc detection of full partition
[OK] Test 16: os_mem_pool_free proper items release
[OK] Test 17: os_mem_pool_free trial of double release, ... reported exception: (7) OS_BUG_DBL_FREE
Performed on: 2013-11-12_18.56.47 :: 2013-11-12_18.57.00

TEST: os_mutex
Nb of tests performed: 16 from 16 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: os_mutex_init checking fields initialization
[OK] Test 3: os_schedule_run switching to the thread ->0
[OK] Test 4: os_mutex_get checking regular get
[OK] Test 5: os_mutex_get second regular get
[OK] Test 6: os_mutex_get checking detection of counter overflow ... reported exception: (1) OS_BUG_OVERFLOW
[OK] Test 7: os_mutex_get checking detection of lockup condition ... reported exception: (2) OS_BUG_LOCK
[OK] Test 8: os_mutex_get/release checking context switch due to mutex lock
[OK] Test 9: os_mutex_release checking detection of release by non-owner ... reported exception: (4) OS_BUG_MUTEX_BAD_RELEASE
[OK] Test 10: os_mutex_release checking regular release
[OK] Test 11: os_mutex_release checking bad release (on not locked, broken mutex) ... reported exception: (5) OS_BUG_MUTEX
[OK] Test 12: os_mutex_tryget checking detection of locked mutex
[OK] Test 13: os_mutex_tryget checking detection of counter overflow ... reported exception: (1) OS_BUG_OVERFLOW
[OK] Test 14: os_mutex_tryget checking regular get
[OK] Test 15: os_mutex_release checking nested release (still locked)
[OK] Test 16: os_mutex_release checking nested release and ctx switch to waiting thread
Performed on: 2013-11-12_18.57.00 :: 2013-11-12_18.57.14

TEST: os_ringbuffer
Nb of tests performed: 7 from 7 [OK]
[OK] Test 1: _os_ringbuf_create correct creation
[OK] Test 2: _os_ringbuf_items
[OK] Test 3: _os_ringbuf_add testing items addition
[OK] Test 4: _os_ringbuf_add testing detection of full buffer
[OK] Test 5: _os_ringbuf_get testing items getting
[OK] Test 6: _os_ringbuf_get testing detection of empty buffer
[OK] Test 7: _os_ringbuf_create no memory detection
Performed on: 2013-11-12_18.57.14 :: 2013-11-12_18.57.26

TEST: os_ringbuffer-env
Nb of tests performed: 9 from 9 [OK]
[OK] Test 1: creating thread
[OK] Test 2: switiching to the thread, next test are in thread context
[OK] Test 3: os_ringbuf_create correct creation
[OK] Test 4: os_ringbuf_items
[OK] Test 5: os_ringbuf_add testing items addition
[OK] Test 6: os_ringbuf_add testing detection of full buffer
[OK] Test 7: os_ringbuf_get testing items getting
[OK] Test 8: os_ringbuf_get testing detection of empty buffer
[OK] Test 9: os_ringbuf_create no memory detection
Performed on: 2013-11-12_18.57.27 :: 2013-11-12_18.57.39

TEST: os_ringbuffer_ev
Nb of tests performed: 8 from 8 [OK]
[OK] Test 1: _os_ringbuf_create_ev correct creation
[OK] Test 2: _os_ringbuf_items_ev
[OK] Test 3: _os_ringbuf_add_ev testing items addition
[OK] Test 4: _os_ringbuf_add_ev testing detection of full buffer
[OK] Test 5: _os_ringbuf_get_ev testing items getting
[OK] Test 6: _os_ringbuf_get_ev testing detection of empty buffer
[OK] Test 7: _os_ringbuf_clear_ev testing clear capability
[OK] Test 8: _os_ringbuf_create_ev no memory detection
Performed on: 2013-11-12_18.57.39 :: 2013-11-12_18.57.51

TEST: os_ringbuffer_ev-env
Nb of tests performed: 10 from 10 [OK]
[OK] Test 1: creating thread for following tests
[OK] Test 2: switching to the thread, next test are run in thread context
[OK] Test 3: os_ringbuf_create_ev correct creation
[OK] Test 4: os_ringbuf_items_ev
[OK] Test 5: os_ringbuf_add_ev testing items addition
[OK] Test 6: os_ringbuf_add_ev testing detection of full buffer
[OK] Test 7: os_ringbuf_get_ev testing items getting
[OK] Test 8: os_ringbuf_get_ev testing detection of empty buffer
[OK] Test 9: os_ringbuf_clear_ev testing clear capability
[OK] Test 10: os_ringbuf_create_ev no memory detection
Performed on: 2013-11-12_18.57.51 :: 2013-11-12_18.58.04

TEST: os_scheduler
Nb of tests performed: 14 from 14 [OK]
[OK] Test 1: os_schedule_init cheking PendSV irq priority
[OK] Test 2: trying to invoke interrupt
[OK] Test 3: OS_DINT_SAVE checking critical section entry, interrupts blocking check
[OK] Test 4: OS_DINT_SAVE/RESTORE checking nesting
[OK] Test 5: OS_INT_RESTORE checking if balanced calls enable interrupts
[OK] Test 6: OS_INT_RESTORE checking detection of unbalanced call ... reported exception: (12) OS_BUG_DINT_INVALID
[OK] Test 7: os_schedule_run test for running without threads created
[OK] Test 8: os_thread_create successful creation
[OK] Test 9: os_schedule_run switching to the thread
[OK] Test 10: checking argument passing for the thread
[OK] Test 11: checking if os_bug is invoked when exits from the thread ... reported exception: (3) OS_BUG_THREAD_FUN_EXIT
[OK] Test 12: returned code from main thread function
[OK] Test 13: os_preempt_disable/os_schedule check when preemption is disabled
[OK] Test 14: os_schedule checking detection of preempt-lock ... reported exception: (9) OS_BUG_PREEMPT_LOCK
Performed on: 2013-11-12_18.58.04 :: 2013-11-12_18.58.17

TEST: os_scheduler-2
Nb of tests performed: 11 from 11 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: checking enum size
[OK] Test 3: os_schedule_run switching to the thread ->0
[OK] Test 4: os_schedule switching to another thread 0->1
[OK] Test 5: os_schedule checking registers restore (th.0, called outside critical sec)
[OK] Test 6: os_schedule checking if thread state is changed from RUNNING to READY
[OK] Test 7: os_schedule checking if thread state is left unchanged when <> RUNNING
[OK] Test 8: os_schedule checking if running_threads is properly modified
[OK] Test 9: os_schedule returning to thread 0 (switching 1->0)
[OK] Test 10: os_schedule checking registers restore (th.1, called from critical sec)
[OK] Test 11: os_schedule checking detection of invalid dint_counter ... reported exception: (12) OS_BUG_DINT_INVALID
Performed on: 2013-11-12_18.58.17 :: 2013-11-12_18.58.31

TEST: os_scheduler-3
Nb of tests performed: 11 from 11 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: os_schedule_run switching to the thread ->0
[OK] Test 3: os_schedule, pendsv entry, preemption disabled, checking isr call
[OK] Test 4: os_schedule, pendsv entry, preemption disabled, checking ignoring scheduling
[OK] Test 5: os_schedule, pendsv entry, preemption disabled, registers unchanged
[OK] Test 6: os_schedule, pendsv entry, preemption enabled, no ready threads, checking isr call
[OK] Test 7: os_schedule, pendsv entry, preemption enabled, no ready threads, test of ignoring scheduling
[OK] Test 8: os_schedule, pendsv entry, preemption enabled, no ready threads, registers unchanged
[OK] Test 9: os_schedule, pendsv entry, preemption enabled, checking isr call
[OK] Test 10: os_schedule, pendsv entry, preemption enabled, checking scheduling and switch (0->1)
[OK] Test 11: os_schedule, pendsv entry, preemption enabled, registers unchanged
Performed on: 2013-11-12_18.58.31 :: 2013-11-12_18.58.44

TEST: os_scheduler-4
Nb of tests performed: 31 from 31 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: os_schedule_run switching to the thread ->0
[OK] Test 3: isr, pendsv sequence (both pending in another isr) checking if main isr was active
[OK] Test 4: isr, pendsv sequence (both pending in another isr) checking if isr was active
[OK] Test 5: isr, pendsv sequence (both pending in another isr) checking context switch by pendsv
[OK] Test 6: isr, pendsv sequence (both pending in another isr) checking registers contents
[OK] Test 7: isr, pendsv sequence (both pending in another isr) checking if timeout was not generated
[OK] Test 8: isr, pendsv sequence (both pending in another isr) checking isr return location
[OK] Test 9: isr, pendsv sequence (both pending in another isr) checking sequence order
[OK] Test 10: isr, pendsv sequence (both pending in another isr) checking nb of pendsv
[OK] Test 11: isr, pendsv sequence (both pending in another isr) checking nb of ctx switch
[OK] Test 12: isr, pendsv sequence (both pending in another isr) checking pendsv/ctx before isr
[OK] Test 13: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking if main isr was active
[OK] Test 14: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking if isr was active
[OK] Test 15: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking context switch by pendsv
[OK] Test 16: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking registers contents
[OK] Test 17: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking if timeout was not generated
[OK] Test 18: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking isr return location
[OK] Test 19: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking sequence order
[OK] Test 20: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking nb of pendsv
[OK] Test 21: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking nb of ctx switch
[OK] Test 22: isr, pendsv sequence (A.1 case: both pending, 2nd req in isr) checking pendsv/ctx before isr
[OK] Test 23: isr, pendsv sequence (comparison A and A.1) checking if is the same
[OK] Test 24: isr, pendsv sequence (B case: pendsv req durring isr) checking if main isr was active
[OK] Test 25: isr, pendsv sequence (B case: pendsv req durring isr) checking context switch by pendsv
[OK] Test 26: isr, pendsv sequence (B case: pendsv req durring isr) checking registers contents
[OK] Test 27: isr, pendsv sequence (B case: pendsv req durring isr) checking if timeout was not generated
[OK] Test 28: isr, pendsv sequence (B case: pendsv req durring isr) checking isr return location
[OK] Test 29: isr, pendsv sequence (B case: pendsv req durring isr) checking sequence order
[OK] Test 30: isr, pendsv sequence (B case: pendsv req durring isr) checking nb of pendsv
[OK] Test 31: isr, pendsv sequence (B case: pendsv req durring isr) checking nb of ctx switch
Performed on: 2013-11-12_18.58.44 :: 2013-11-12_18.58.58

TEST: os_scheduler-5
Nb of tests performed: 45 from 45 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: os_schedule_run switching to the thread ->0
[OK] Test 3: isr, pendsv sequence (C.1 case, delay=1 ) checking if main isr was active
[OK] Test 4: isr, pendsv sequence (C.1 case, delay=1 ) checking if isr was active
[OK] Test 5: isr, pendsv sequence (C.1 case, delay=1 ) checking context switched to ->1
[OK] Test 6: isr, pendsv sequence (C.1 case, delay=1 ) checking registers contents
[OK] Test 7: isr, pendsv sequence (C.1 case, delay=1 ) checking if timeout was not generated
[OK] Test 8: isr, pendsv sequence (C.1 case, delay=1 ) checking sequence order
[OK] Test 9: isr, pendsv sequence (C.1 case, delay=1 ) checking nb of pendsv calls
[OK] Test 10: isr, pendsv sequence (C.1 case, delay=1 ) checking nb of context switch calls
[OK] Test 11: isr, pendsv sequence (C.1 case, delay=2 ) checking if main isr was active
[OK] Test 12: isr, pendsv sequence (C.1 case, delay=2 ) checking if isr was active
[OK] Test 13: isr, pendsv sequence (C.1 case, delay=2 ) checking context switched to ->1
[OK] Test 14: isr, pendsv sequence (C.1 case, delay=2 ) checking registers contents
[OK] Test 15: isr, pendsv sequence (C.1 case, delay=2 ) checking if timeout was not generated
[OK] Test 16: isr, pendsv sequence (C.1 case, delay=2 ) checking sequence order
[OK] Test 17: isr, pendsv sequence (C.1 case, delay=2 ) checking nb of pendsv calls
[OK] Test 18: isr, pendsv sequence (C.1 case, delay=2 ) checking nb of context switch calls
[OK] Test 19: isr, pendsv sequence (C.1 case, delay=3 ) checking if main isr was active
[OK] Test 20: isr, pendsv sequence (C.1 case, delay=3 ) checking if isr was active
[OK] Test 21: isr, pendsv sequence (C.1 case, delay=3 ) checking context switched to ->1
[OK] Test 22: isr, pendsv sequence (C.1 case, delay=3 ) checking registers contents
[OK] Test 23: isr, pendsv sequence (C.1 case, delay=3 ) checking if timeout was not generated
[OK] Test 24: isr, pendsv sequence (C.1 case, delay=3 ) checking sequence order
[OK] Test 25: isr, pendsv sequence (C.1 case, delay=3 ) checking nb of pendsv calls
[OK] Test 26: isr, pendsv sequence (C.1 case, delay=3 ) checking nb of context switch calls
[OK] Test 27: isr, pendsv sequence (C.1 case, delay=4 ) checking if main isr was active
[OK] Test 28: isr, pendsv sequence (C.1 case, delay=4 ) checking if isr was active
[OK] Test 29: isr, pendsv sequence (C.1 case, delay=4 ) checking context switched to ->1
[OK] Test 30: isr, pendsv sequence (C.1 case, delay=4 ) checking registers contents
[OK] Test 31: isr, pendsv sequence (C.1 case, delay=4 ) checking if timeout was not generated
[OK] Test 32: isr, pendsv sequence (C.1 case, delay=4 ) checking sequence order
[OK] Test 33: isr, pendsv sequence (C.1 case, delay=4 ) checking nb of pendsv calls
[OK] Test 34: isr, pendsv sequence (C.1 case, delay=4 ) checking nb of context switch calls
[OK] Test 35: isr, pendsv sequence (C.1 case, delay=5 ) checking if main isr was active
[OK] Test 36: isr, pendsv sequence (C.1 case, delay=5 ) checking if isr was active
[OK] Test 37: isr, pendsv sequence (C.1 case, delay=5 ) checking context switched to ->1
[OK] Test 38: isr, pendsv sequence (C.1 case, delay=5 ) checking registers contents
[OK] Test 39: isr, pendsv sequence (C.1 case, delay=5 ) checking if timeout was not generated
[OK] Test 40: isr, pendsv sequence (C.1 case, delay=5 ) checking sequence order
[OK] Test 41: isr, pendsv sequence (C.1 case, delay=5 ) checking nb of pendsv calls
[OK] Test 42: isr, pendsv sequence (C.1 case, delay=5 ) checking nb of context switch calls
[OK] Test 43: isr, pendsv sequence (C.1 case) checking test case isr before PendSV when both pending
[OK] Test 44: isr, pendsv sequence (C.1 case) checking test case isr after context switch
[OK] Test 45: isr, pendsv sequence (C.1 case) checking late-arrival and sequence of cases
Performed on: 2013-11-12_18.58.58 :: 2013-11-12_18.59.12

TEST: os_scheduler-6
Nb of tests performed: 45 from 45 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: os_schedule_run switching to the thread ->0
[OK] Test 3: isr, pendsv sequence (C.1.1 case, delay=1 ) checking if main isr was active
[OK] Test 4: isr, pendsv sequence (C.1.1 case, delay=1 ) checking if isr was active
[OK] Test 5: isr, pendsv sequence (C.1.1 case, delay=1 ) checking context switched to ->1
[OK] Test 6: isr, pendsv sequence (C.1.1 case, delay=1 ) checking registers contents
[OK] Test 7: isr, pendsv sequence (C.1.1 case, delay=1 ) checking if timeout was not generated
[OK] Test 8: isr, pendsv sequence (C.1.1 case, delay=1 ) checking sequence order
[OK] Test 9: isr, pendsv sequence (C.1.1 case, delay=1 ) checking nb of pendsv calls
[OK] Test 10: isr, pendsv sequence (C.1.1 case, delay=1 ) checking nb of context switch calls
[OK] Test 11: isr, pendsv sequence (C.1.1 case, delay=2 ) checking if main isr was active
[OK] Test 12: isr, pendsv sequence (C.1.1 case, delay=2 ) checking if isr was active
[OK] Test 13: isr, pendsv sequence (C.1.1 case, delay=2 ) checking context switched to ->1
[OK] Test 14: isr, pendsv sequence (C.1.1 case, delay=2 ) checking registers contents
[OK] Test 15: isr, pendsv sequence (C.1.1 case, delay=2 ) checking if timeout was not generated
[OK] Test 16: isr, pendsv sequence (C.1.1 case, delay=2 ) checking sequence order
[OK] Test 17: isr, pendsv sequence (C.1.1 case, delay=2 ) checking nb of pendsv calls
[OK] Test 18: isr, pendsv sequence (C.1.1 case, delay=2 ) checking nb of context switch calls
[OK] Test 19: isr, pendsv sequence (C.1.1 case, delay=3 ) checking if main isr was active
[OK] Test 20: isr, pendsv sequence (C.1.1 case, delay=3 ) checking if isr was active
[OK] Test 21: isr, pendsv sequence (C.1.1 case, delay=3 ) checking context switched to ->1
[OK] Test 22: isr, pendsv sequence (C.1.1 case, delay=3 ) checking registers contents
[OK] Test 23: isr, pendsv sequence (C.1.1 case, delay=3 ) checking if timeout was not generated
[OK] Test 24: isr, pendsv sequence (C.1.1 case, delay=3 ) checking sequence order
[OK] Test 25: isr, pendsv sequence (C.1.1 case, delay=3 ) checking nb of pendsv calls
[OK] Test 26: isr, pendsv sequence (C.1.1 case, delay=3 ) checking nb of context switch calls
[OK] Test 27: isr, pendsv sequence (C.1.1 case, delay=4 ) checking if main isr was active
[OK] Test 28: isr, pendsv sequence (C.1.1 case, delay=4 ) checking if isr was active
[OK] Test 29: isr, pendsv sequence (C.1.1 case, delay=4 ) checking context switched to ->1
[OK] Test 30: isr, pendsv sequence (C.1.1 case, delay=4 ) checking registers contents
[OK] Test 31: isr, pendsv sequence (C.1.1 case, delay=4 ) checking if timeout was not generated
[OK] Test 32: isr, pendsv sequence (C.1.1 case, delay=4 ) checking sequence order
[OK] Test 33: isr, pendsv sequence (C.1.1 case, delay=4 ) checking nb of pendsv calls
[OK] Test 34: isr, pendsv sequence (C.1.1 case, delay=4 ) checking nb of context switch calls
[OK] Test 35: isr, pendsv sequence (C.1.1 case, delay=5 ) checking if main isr was active
[OK] Test 36: isr, pendsv sequence (C.1.1 case, delay=5 ) checking if isr was active
[OK] Test 37: isr, pendsv sequence (C.1.1 case, delay=5 ) checking context switched to ->1
[OK] Test 38: isr, pendsv sequence (C.1.1 case, delay=5 ) checking registers contents
[OK] Test 39: isr, pendsv sequence (C.1.1 case, delay=5 ) checking if timeout was not generated
[OK] Test 40: isr, pendsv sequence (C.1.1 case, delay=5 ) checking sequence order
[OK] Test 41: isr, pendsv sequence (C.1.1 case, delay=5 ) checking nb of pendsv calls
[OK] Test 42: isr, pendsv sequence (C.1.1 case, delay=5 ) checking nb of context switch calls
[OK] Test 43: isr, pendsv sequence (C.1.1 case) checking test case isr before PendSV when both pending
[OK] Test 44: isr, pendsv sequence (C.1.1 case) checking test case isr after context switch
[OK] Test 45: isr, pendsv sequence (C.1.1 case) checking late-arrival and sequence of cases
Performed on: 2013-11-12_18.59.12 :: 2013-11-12_18.59.26

TEST: os_scheduler-7
Nb of tests performed: 17 from 17 [OK]
[OK] Test 1: os_thread_create successful creation
[OK] Test 2: os_schedule_run switching to the thread ->0
[OK] Test 3: os_preempt_disable checking reporting previous state (when was enabled)
[OK] Test 4: os_preempt_disable checking if further scheduling will not preempt thread
[OK] Test 5: os_preempt_enable checking if triggers ctx switch
[OK] Test 6: os_preempt_enable checking if further scheduling will preempt thread
[OK] Test 7: os_preempt_disable in interrupt, checking if interrupt handler was executed
[OK] Test 8: os_preempt_disable in interrupt, checking reporting previous state (when was enabled)
[OK] Test 9: os_preempt_disable in interrupt, checking if interrupt handler was executed
[OK] Test 10: os_preempt_disable in interrupt, checking if preemption not happened at exit
[OK] Test 11: os_preempt_disable in interrupt, checking if interrupt handler was executed
[OK] Test 12: os_preempt_enable_intr in interrupt, checking if enables preemption and triggers it
[OK] Test 13: os_preempt_disable in interrupt, checking if interrupt handler was executed
[OK] Test 14: os_preempt_enable_intr in interrupt, checking if further preemption is executed
[OK] Test 15: os_preempt_disable in interrupt, checking if interrupt handler was executed
[OK] Test 16: os_preempt_disable in interrupt, checking reporting previous state (when was disabled)
[OK] Test 17: os_preempt_disable, checking reporting previous state (when was disabled)
Performed on: 2013-11-12_18.59.26 :: 2013-11-12_18.59.40

TEST: os_semaphore
Nb of tests performed: 27 from 27 [OK]
[OK] Test 1: os_timers_init/tick_cnt checking timer module state after initialization
[OK] Test 2: os_sema_init checking initialization with counter = 0
[OK] Test 3: os_sema_init checking initialization with counter = 1
[OK] Test 4: os_sema_init checking initialization with counter = -128
[OK] Test 5: os_sema_init checking initialization with counter = 127
[OK] Test 6: os_thread_create successful creation
[OK] Test 7: os_schedule_run switching to the thread ->0
[OK] Test 8: os_sema_tryget checking detection of waiting condition
[OK] Test 9: os_sema_tryget checking semaphire succesing down operation
[OK] Test 10: os_sema_post checking detection of overflow ... reported exception: (1) OS_BUG_OVERFLOW
[OK] Test 11: os_sema_post checking cnt=-1, waiting thread
[OK] Test 12: os_sema_post checking cnt=0, empty waiting list
[OK] Test 13: os_sema_post checking cnt=0, context switch
[OK] Test 14: os_sema_post_intr checking cnt=0, context switch
[OK] Test 15: os_sema_wait checking cnt=0, lock detection ... reported exception: (2) OS_BUG_LOCK
[OK] Test 16: os_sema_wait checking cnt=-128, overflow detection ... reported exception: (1) OS_BUG_OVERFLOW
[OK] Test 17: os_sema_wait cnt=1, checking counter decrement
[OK] Test 18: os_sema_wait_timeouted cnt=1, tm=100, checking counter decrement
[OK] Test 19: os_sema_wait_timeouted cnt=0, tm=100, ctx switch check
[OK] Test 20: os_sema_wait_timeouted/timeot_cb cnt=0, tm=10, timeout test
[OK] Test 21: os_sema_wait_timeouted cnt=0, tm=10, timeout value test
[OK] Test 22: os_sleep on disabled preemption, detection test ... reported exception: (2) OS_BUG_LOCK
[OK] Test 23: os_sleep with tm=0, detection test ... reported exception: (2) OS_BUG_LOCK
[OK] Test 24: os_sleep tm=10, ctx switch check
[OK] Test 25: os_sleep tm=10, delay test
[OK] Test 26: os_sema_tryget checking detection of overflow ... reported exception: (1) OS_BUG_OVERFLOW
[OK] Test 27: os_sleep checking detection of incorrect semaphore ... reported exception: (6) OS_BUG_SEMA
Performed on: 2013-11-12_18.59.40 :: 2013-11-12_18.59.55

TEST: os_set
Nb of tests performed: 7 from 7 [OK]
[OK] Test 1: empty set check
[OK] Test 2: fast max priority check
[OK] Test 3: full test for all sets
[OK] Test 4: _power_tab/_power_2 test
[OK] Test 5: os_set_is_empty test for empty set
[OK] Test 6: os_set_is_empty test for non-empty set
[OK] Test 7: os_set_add/remove/is compact test
Performed on: 2013-11-12_18.59.55 :: 2013-11-12_19.00.07

TEST: os_set_min()
Nb of tests performed: 3 from 3 [OK]
[OK] Test 1: os_set_min empty set check
[OK] Test 2: os_set_min fast test of max priority
[OK] Test 3: os_set_min full test for all sets
Performed on: 2013-11-12_19.00.07 :: 2013-11-12_19.00.20

TEST: os_sm_manager
Nb of tests performed: 21 from 21 [OK]
[OK] Test 1: creating main thread
[OK] Test 2: os_sm_manager_init checking initialization
[OK] Test 3: switching to main thread
[OK] Test 4: checking if sm_manager thread was executed
[OK] Test 5: os_sm_manager_sm_activate creating state machine and activating
[OK] Test 6: os_sm_manager_sm_deactivating checking deactivation of single machine
[OK] Test 7: sm_manager thread checking for empty state machine list
[OK] Test 8: os_sm_manager_sm_deactivate trial of removing when list is empty
[OK] Test 9: os_sm_manager_sm_deactivate removing SM that is not first and not next scheduled
[OK] Test 10: os_sm_manager_sm_deactivate removing SM that is not first and is next scheduled
[OK] Test 11: os_sm_manager_sm_deactivate removing SM that is not first nor last and next scheduled
[OK] Test 12: os_sm_manager_send_event/thread checking when SM is next scheduled
[OK] Test 13: os_sm_manager_send_event/thread checking when SM is not next scheduled
[OK] Test 14: os_sm_manager_send_event/thread checking when SM is next scheduled, no wrap
[OK] Test 15: os_sm_manager_send_event/thread checking when SM is not next scheduled, wrap required
[OK] Test 16: os_sm_manager_send_event/thread checking when next scheduled was removed
[OK] Test 17: os_sm_manager_send_event checking detection of event queue full state
[OK] Test 18: os_sm_manager_send_event checking handling multiple events
[OK] Test 19: os_sm_manager_send_event_intr checking single event passing
[OK] Test 20: os_sm_manager_send_event_intr checking dwetection of event queue full state
[OK] Test 21: os_sm_manager_send_event_intr checking handling multiple events
Performed on: 2013-11-12_19.00.20 :: 2013-11-12_19.00.34

TEST: os_state_machine
Nb of tests performed: 10 from 10 [OK]
[OK] Test 1: os_state_machine_init checking initialization
[OK] Test 2: os_sm_handle_event checking state handler call
[OK] Test 3: os_sm_handle_event checking state transition
[OK] Test 4: os_sm_handle_event checking state handler call
[OK] Test 5: os_sm_handle_event checking if SM remains in the state
[OK] Test 6: os_sm_handle_event checking detection of invalid transition ... reported exception: (11) OS_BUG_SM_INVALID_STATE
[OK] Test 7: os_sm_process_event checking with empty event queue
[OK] Test 8: os_sm_process_event checking event processing from the queue
[OK] Test 9: os_sm_process_event checking if correct handler is called
[OK] Test 10: os_sm_flush/os_sm_process_event checking queue flush
Performed on: 2013-11-12_19.00.34 :: 2013-11-12_19.00.48

TEST: os_threads
Nb of tests performed: 9 from 9 [OK]
[OK] Test 1: os_thread_init
[OK] Test 2: os_thread_create priority out of range
[OK] Test 3: os_thread_create successful creation, tcb check
[OK] Test 4: os_thread_create successful creation, stack image check
[OK] Test 5: os_thread_create successful creation, internal OS data check
[OK] Test 6: os_thread_create detection of rule of unique priority violation
[OK] Test 7: os_thread_create no memory detection
[OK] Test 8: os_thread_create too much threads detection
[OK] Test 9: os_thread_terminated check if exeption is raised ... reported exception: (3) OS_BUG_THREAD_FUN_EXIT
Performed on: 2013-11-12_19.00.48 :: 2013-11-12_19.01.01

TEST: os_timer
Nb of tests performed: 31 from 31 [OK]
[OK] Test 1: os_timers_init/tick_cnt checking timer module state after initialization
[OK] Test 2: os_timers test if list is empty, checking timer module state after initialization
[OK] Test 3: os_thread_create successful creation
[OK] Test 4: os_schedule_run switching to the thread ->0
[OK] Test 5: os_timers_init/start checking if counter is changing (Timer intr is called)
[OK] Test 6: os_timers_init/start checking 1st period (coarse test)
[OK] Test 7: os_timers_init/start checking period (1st->2nd)
[OK] Test 8: os_timers_stop checking if it stops timers
[OK] Test 9: os_timer_create (1ms one shot) checking return code
[OK] Test 10: checking if timer is fired (callback called) and terminated
[OK] Test 11: checking callback argument passing
[OK] Test 12: checking if terminated timer is removed from list of timers
[OK] Test 13: checking timer expiration time (1ms)
[OK] Test 14: os_timer_create (5ms one shot) checking if was created, fired and terminated
[OK] Test 15: checking if timer is added to list of timers
[OK] Test 16: checking if timer list is marked with posion code
[OK] Test 17: checking if terminated timer is removed from list of timers
[OK] Test 18: checking timer expiration time
[OK] Test 19: os_timer_create (5ms periodic) checking if was created and fired
[OK] Test 20: os_timer_delete checking return code
[OK] Test 21: os_timer_delete checking marking with poison code
[OK] Test 22: os_timer_deelte checking if timer was deleted from list of timers
[OK] Test 23: periodic timer, checking periods
[OK] Test 24: os_timer_create, creating two one shot timers, 1st expires first
[OK] Test 25: checking expiration times
[OK] Test 26: os_timer_create, creating two one shot timers, 2nd expires first
[OK] Test 27: checking expiration times
[OK] Test 28: os_timer_delete trying to delete timer that is not on the list (empty)
[OK] Test 29: os_timer_delete trying to delete timer that is not on the list (1 item)
[OK] Test 30: os_timer_delete trying to delete timer that is not on the list (2 items)
[OK] Test 31: os_timer_delete checking deletion the timers
Performed on: 2013-11-12_19.01.01 :: 2013-11-12_19.01.15