[asterisk-dev] [Code Review] TestSuite pre- and post-test condition to check for locks

Paul Belanger reviewboard at asterisk.org
Tue Sep 13 16:55:19 CDT 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1435/#review4329
-----------------------------------------------------------

Ship it!


Excellent work!


/asterisk/team/mjordan/test_conditions/trunk/lib/python/asterisk/LockTestCondition.py
<https://reviewboard.asterisk.org/r/1435/#comment8421>

    Very sexy!


- Paul


On Sept. 13, 2011, 11:25 a.m., mjordan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1435/
> -----------------------------------------------------------
> 
> (Updated Sept. 13, 2011, 11:25 a.m.)
> 
> 
> Review request for Asterisk Developers and Paul Belanger.
> 
> 
> Summary
> -------
> 
> This adds a new test condition to check for held locks in Asterisk before and after a test run.  The check parses out the results of the cli command "core show locks" and determines if any of the locks are currently in a "Waiting" state.  If any thread is found to be waiting on a lock held by another thread, the condition check fails.
> 
> While this may seem somewhat aggressive in flagging any blocked thread as a test failure, the "core show locks" command is only executed before and after test execution.  With Asterisk trunk as a test, the only lock that occurred in such a situation in testing was the logger RDLOCK &(&logchannels)->lock.
> 
> 
> Diffs
> -----
> 
>   /asterisk/team/mjordan/test_conditions/trunk/tests/apps/voicemail/authenticate_nominal/test-config.yaml 2198 
>   /asterisk/team/mjordan/test_conditions/trunk/tests/apps/voicemail/check_voicemail_new_user/test-config.yaml 2198 
>   /asterisk/team/mjordan/test_conditions/trunk/tests/apps/voicemail/check_voicemail_nominal/test-config.yaml 2198 
>   /asterisk/team/mjordan/test_conditions/trunk/tests/apps/voicemail/func_vmcount/test-config.yaml 2198 
>   /asterisk/team/mjordan/test_conditions/trunk/tests/apps/voicemail/leave_voicemail_nominal/test-config.yaml 2198 
>   /asterisk/team/mjordan/test_conditions/trunk/lib/python/asterisk/LockTestCondition.py PRE-CREATION 
> 
> Diff: https://reviewboard.asterisk.org/r/1435/diff
> 
> 
> Testing
> -------
> 
> Unit tests are included to validate the parsing of the CLI command.  This includes whether or not backtraces are present, whether a thread has or waiting for multiple locks, etc.
> 
> The test suite was executed multiple times with the condition enabled.  Locks were detected and parsed successfully, and the test pass / fail results were manipulated as per expected.
> 
> 
> Thanks,
> 
> mjordan
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110913/75e5c909/attachment.htm>


More information about the asterisk-dev mailing list