Both hashtest and hashtest2 are manual testing apps that thrash hash tables (hashtab and ao2 containers, respectively), by spinning up several threads that randomly insert, delete, lookup and iterate over the hash table. If the app doesn't crash, the hash table probably passes the test. Those utils are not a part of the typical Asterisk build, so they do not usually get compiled. This all makes them less that useful. This patch removes those manual test programs and replaces them with Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It also attempts to make the tests more deterministic. * Rather than spinning up some number of threads that operate on the hash table randomly, spin up four threads that concurrenly add, remove, lookup and iterate over the hash table. * Each thread checks the state of the hash table both during and after execution, and indicates a test failure if things are not as expected. * Each thread times out after 60 seconds to prevent deadlocking the unit test run. (closes issue ASTERISK-20505) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2189/ ........ Merged revisions 376306 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376315 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376339 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
57 lines
1.6 KiB
XML
57 lines
1.6 KiB
XML
<category name="MENUSELECT_UTILS" displayname="Utilities" positive_output="yes">
|
|
<member name="aelparse">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="astcanary">
|
|
<defaultenabled>yes</defaultenabled>
|
|
<support_level>core</support_level>
|
|
</member>
|
|
<member name="astdb2sqlite3">
|
|
<defaultenabled>yes</defaultenabled>
|
|
<support_level>core</support_level>
|
|
</member>
|
|
<member name="astdb2bdb">
|
|
<defaultenabled>yes</defaultenabled>
|
|
<support_level>core</support_level>
|
|
</member>
|
|
<member name="astman">
|
|
<defaultenabled>no</defaultenabled>
|
|
<depend>newt</depend>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="check_expr">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="check_expr2">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="conf2ael">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="muted">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="refcounter">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="smsq">
|
|
<defaultenabled>no</defaultenabled>
|
|
<depend>popt</depend>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="stereorize">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
<member name="streamplayer">
|
|
<defaultenabled>no</defaultenabled>
|
|
<support_level>extended</support_level>
|
|
</member>
|
|
</category>
|