asterisk/tests
David M. Lee 752ffc69d4 Migrate hashtest/hashtest2 to be unit tests.
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
2012-11-16 00:08:00 +00:00
..
Makefile Title update 2012-10-14 21:56:13 +00:00
test_abstract_jb.c Unit tests for the Jitter Buffer API; remove unnecessary resync 2012-07-23 21:15:26 +00:00
test_acl.c Silence a warning message from older versions of GCC. 2012-07-24 19:12:09 +00:00
test_ami_security_events.sh Add an API for reporting security events, and a security event logging module. 2009-07-11 19:15:03 +00:00
test_amihooks.c Merged revisions 338556 via svnmerge from 2011-09-29 21:16:07 +00:00
test_aoc.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_app.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_ast_format_str_reduce.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_astobj2.c Enhance astobj2 to support other types of containers. 2012-09-12 21:02:29 +00:00
test_astobj2_thrash.c Migrate hashtest/hashtest2 to be unit tests. 2012-11-16 00:08:00 +00:00
test_config.c Handle deprecated (aliased) option names with the config options api 2012-07-12 21:43:09 +00:00
test_db.c app_queue: Support persisting and loading of long member lists. 2012-10-01 20:36:25 +00:00
test_devicestate.c Make hints for invalid SIP devices return Unavail, not idle 2012-03-13 20:06:57 +00:00
test_dlinklists.c Merged revisions 338556 via svnmerge from 2011-09-29 21:16:07 +00:00
test_event.c Fix ast_event_new unit test. 2012-07-30 13:45:42 +00:00
test_expr.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_format_api.c Audit of ao2_iterator_init() usage for v10. 2012-01-27 19:33:49 +00:00
test_func_file.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_gosub.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00
test_hashtab_thrash.c Migrate hashtest/hashtest2 to be unit tests. 2012-11-16 00:08:00 +00:00
test_heap.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_jitterbuf.c Add tests for main/jitterbuf.c 2012-03-14 18:56:15 +00:00
test_linkedlists.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
test_locale.c Merged revisions 338556 via svnmerge from 2011-09-29 21:16:07 +00:00
test_logger.c Merged revisions 338556 via svnmerge from 2011-09-29 21:16:07 +00:00
test_netsock2.c Add a unit test for ast_sockaddr_split_hostport 2011-11-09 19:31:27 +00:00
test_pbx.c Merged revisions 337062 via svnmerge from 2011-09-20 21:05:42 +00:00
test_poll.c Add leading and trailing backslashes 2012-04-19 21:14:35 +00:00
test_sched.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_scoped_lock.c I forgot to add the unit tests for scoped locks earlier today. 2012-08-23 04:12:32 +00:00
test_security_events.c Update security events unit tests 2012-05-03 19:36:33 +00:00
test_skel.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_stringfields.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_strings.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_substitution.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
test_time.c Merged revisions 332177 via svnmerge from 2011-08-16 20:15:23 +00:00
test_utils.c Fix some tests that didn't get opaquification changes 2012-02-23 01:53:17 +00:00
test_voicemail_api.c Multiple revisions 368963,368965 2012-06-14 19:40:11 +00:00