lockfree/test
liang zhou 4ef74379c2 Why modify freelist_test.cpp and test_common.hpp :
In VxWorks Kernel, the re-schedule mechanism does not enable "round-robin" reschdule between the same priority tasks by default. So the case "stack_unbounded_stress_test" will lead to test case hang forever. Here's the details:

The test case creates 4 tasks as “Reader”, and then 4 tasks as “Writer”, all those 8 task has the same priority 220.
If the target has 2 cores, the first 2 reader tasks will occupy the cores by “while (1)” without yield, so the other 2 readers tasks and 4 writers tasks have no chance to be run.
This will lead to the test case loop forever , then the exp scrip will catch it and print “RTP Execution Timeout; rebooting”

The test case creates 4 tasks as “Reader”, and then 4 tasks as “Writer”, all those 8 task has the same priority 220 in VxWorks Kernel.
If the target has 2 cores, the first 2 reader tasks will occupy the cores by “while (1)” without yield, so the other 2 readers tasks and 4 writers tasks have no chance to be run.
This will lead to the test case loop forever without any ending.

Why modify spsc_queue_stress_test.cpp :
In VxWorks user-land task (Wind River calls it as RTP), the max number of objects (the internal data structure RTP uses) in one RTP is limited at most 65535.
When the test is selected to run, the C++ constructor will create 1<<16 number of mutex via "new spsc_queue_tester".
And after test1->run() is finished, the C++ destructor will delete 1<<16 number of mutex by default.
This caused the problem, because VxWorks just support ((1<<16)-1) objects within an RTP.
2018-11-12 15:25:39 +08:00
..
freelist_test.cpp Why modify freelist_test.cpp and test_common.hpp : 2018-11-12 15:25:39 +08:00
Jamfile.v2 build system: fix travis integration 2018-11-05 16:14:55 +08:00
queue_bounded_stress_test.cpp Add missing includes 2014-09-29 17:49:03 +02:00
queue_fixedsize_stress_test.cpp Add missing includes 2014-09-29 17:49:03 +02:00
queue_interprocess_test.cpp lockfree: fix some inspect warnings 2012-09-09 13:12:43 +00:00
queue_test.cpp Conditionally replace deprecated/removed std::auto_ptr by std::unique_ptr. 2017-05-12 17:30:54 +02:00
queue_unbounded_stress_test.cpp Add missing includes 2014-09-29 17:49:03 +02:00
spsc_queue_stress_test.cpp Why modify freelist_test.cpp and test_common.hpp : 2018-11-12 15:25:39 +08:00
spsc_queue_test.cpp spsc_queue: fix reset() 2014-11-08 23:32:33 +01:00
stack_bounded_stress_test.cpp Add missing includes 2014-09-29 17:49:03 +02:00
stack_fixedsize_stress_test.cpp Add missing includes 2014-09-29 17:49:03 +02:00
stack_interprocess_test.cpp lockfree: fix some inspect warnings 2012-09-09 13:12:43 +00:00
stack_test.cpp stack: implement consume_all_atomic_reversed 2016-07-26 13:32:42 +02:00
stack_unbounded_stress_test.cpp Add missing includes 2014-09-29 17:49:03 +02:00
tagged_ptr_test.cpp lockfree: explicitly use bitmask to prevent aba tag overflow 2013-06-10 12:31:38 +00:00
test_common.hpp Why modify freelist_test.cpp and test_common.hpp : 2018-11-12 15:25:39 +08:00
test_helpers.hpp lockfree: use lock_guard instead of the deprecated boost::mutex::scoped_lock 2013-08-03 09:08:32 +00:00