[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