summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2010-02-08Remove unnecessary include, ast_md5_hash() comes from utils.h.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-07Add an MD5 test module.Russell Bryant
Review: https://reviewboard.asterisk.org/r/491/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-07Fix a couple of spelling errors, and add format module dependencies.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-05Merge tests that verify the same thing. (Oops.)Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-26RFC compliant uri and display-name encode/decodeDavid Vossel
1. URI Encoding This patch changes ast_uri_encode()'s behavior when doreserved is enabled. Previously when doreserved was enabled only a small set of reserved characters were encoded. This set was comprised primarily of the reserved characters defined in RFC3261 section 25.1, but contained other characters as well. Rather than only escaping the reserved set, doreserved now escapes all characters not within the unreserved set as defined by RFC 3261 and RFC 2396. Also, the 'doreserved' variable has been renamed to 'do_special_char' in attempts to avoid confusion. When doreserve is not enabled, the previous logic of only encoding the characters <= 0X1F and > 0X7f remains, except for the '%' character, which must always be encoded as it signifies a HEX escaped character during the decode process. 2. URI Decoding: Break up URI before decode. In chan_sip.c ast_uri_decode is called on the entire URI instead of it's individual parts after it is parsed. This is not good as ast_uri_decode can introduce special characters back into the URI which can mess up parsing. This patch resolves this by not decoding a URI until parsing is completely done. There are many instances where we check to see if pedantic checking is enabled before we decode a URI. In these cases a new macro, SIP_PEDANTIC_DECODE, is used on the individual parsed segments of the URI rather than constantly putting if (pedantic) { decode() } checks everywhere in the code. In the areas where ast_uri_decode is not dependent upon pedantic checking this macro is not used, but decoding is still moved to each individual part of the URI. The only behavior that should change from this patch is the time at which decoding occurs. Since I had to look over every place URI parsing occurs to create this patch, I found several places where we use duplicate code for parsing. To consolidate the code, those areas have updated to use the parse_uri() function where possible. 3. SIP display-name decoding according to RFC3261 section 25. To properly decode the display-name portion of a FROM header, chan_sip's get_calleridname() function required a complete re-write. More information about this change can be found in the comments at the beginning of this function. 4. Unit Tests. Unit tests for ast_uri_encode, ast_uri_decode, and get_calleridname() have been written. This involved the addition of the test_utils.c file for testing the utils api. (closes issue #16299) Reported by: wdoekes Patches: astsvn-16299-get_calleridname.diff uploaded by wdoekes (license 717) get_calleridname_rewrite.diff uploaded by dvossel (license 671) Tested by: wdoekes, dvossel, Nick_Lewis Review: https://reviewboard.asterisk.org/r/469/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-26Log the variable name being tested.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-26Update test_substitution to show failures in the test log.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-26Fixing last errors in the conversion, though it appears that the AES_* ↵Tilghman Lesher
functions are still broken. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-26Using a dummy channel causes CDR() testing to fail.Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-26Wish I had gotten to the review before this got submitted, because there's ↵Tilghman Lesher
failures we need to address. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-25Make unit test modules depend on TEST_FRAMEWORK instead of off by default.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-25Convert test_substitution module to the unit test API.Russell Bryant
Review: https://reviewboard.asterisk.org/r/474/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-22The irony of not compile-testing a test program before committing is killing me.Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-22Convert scheduler API entry order test to the test API.Russell Bryant
Review: https://reviewboard.asterisk.org/r/470/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-22Add test API usage example to test_skel.c.Russell Bryant
Review: https://reviewboard.asterisk.org/r/471/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-08Added a test for ast_format_reduce_str().Matthew Nicholson
(related to issue #16560) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@238716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-22Unit Test Framework APIDavid Vossel
The Unit Test Framework is a new API that manages registration and execution of unit tests in Asterisk with the purpose of verifying the operation of C functions. The Framework consists of a single test manager accompanied by a list of registered test functions defined within the code. A test is defined, registered, and unregistered from the framework using a set of macros which allow the test code to only be compiled within asterisk when the TEST_FRAMEWORK flag is enabled in menuselect. This allows the test code to exist in the same file as the C functions it intends to verify. Registered tests may be viewed and executed via a set of new CLI commands. CLI commands are also present for generating and exporting test results into xml and txt formats. For more information and use cases please refer to the documentation provided at the beginning of the test.h file. Review: https://reviewboard.asterisk.org/r/447/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@236027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-06ami_testhooks.c automatically registers hookDavid Brooks
ami_testhooks.c was registering for AMI events upon module load. Moved the registration to its own CLI command. Added CLI command for unregistering the hook. Changed some of the wording, removed unnecessary arguments/parameters. Reported by: rmudgett git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@228661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03AMI hook interfaceDavid Brooks
This patch, originally submitted by jozza, enables custom modules to send actions to AMI and receive messages from AMI via a hook interface. Included is a simple test module to illustrate the interface. (closes issue #14635) Reported by: jozza Review: https://reviewboard.asterisk.org/r/412/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-11Add an API for reporting security events, and a security event logging module.Russell Bryant
This commit introduces the security events API. This API is to be used by Asterisk components to report events that have security implications. A simple example is when a connection is made but fails authentication. These events can be used by external tools manipulate firewall rules or something similar after detecting unusual activity based on security events. Inside of Asterisk, the events go through the ast_event API. This means that they have a binary encoding, and it is easy to write code to subscribe to these events and do something with them. One module is provided that is a subscriber to these events - res_security_log. This module turns security events into a parseable text format and sends them to the "security" logger level. Using logger.conf, these log entries may be sent to a file, or to syslog. One service, AMI, has been fully updated for reporting security events. AMI was chosen as it was a fairly straight forward service to convert. The next target will be chan_sip. That will be more complicated and will be done as its own project as the next phase of security events work. For more information on the security events framework, see the documentation generated from doc/tex/. "make asterisk.pdf" Review: https://reviewboard.asterisk.org/r/273/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@206021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26Merge the new Channel Event Logging (CEL) subsystem.Russell Bryant
CEL is the new system for logging channel events. This was inspired after facing many problems trying to represent what is possible to happen to a call in Asterisk using CDR records. For more information on CEL, see the built in HTML or PDF documentation generated from the files in doc/tex/. Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard work developing this code. Also, thanks to Matt Nicholson (mnicholson) and Sean Bright (seanbright) for their assistance in the final push to get this code ready for Asterisk trunk. Review: https://reviewboard.asterisk.org/r/239/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15Add ability for modules to dynamically register logger levelsKevin P. Fleming
This patch adds the ability for modules to dynamically create logger levels for their own use; these are named levels just like the built-in levels, and can be directed to any destination that the logger can send any level to, by including their names in logger.conf. Review: https://reviewboard.asterisk.org/r/244/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-04Minor changes in test modulesKevin P. Fleming
Correct command description in test_sched.c and include asterisk/cli.h in test_skel.c, since it's highly unlikely that a test module will *not* want to provide CLI commands to execute the tests git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@191997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-29Merge str_substitution branch.Tilghman Lesher
This branch adds additional methods to dialplan functions, whereby the result buffers are now dynamic buffers, which can be expanded to the size of any result. No longer are variable substitutions limited to 4095 bytes of data. In addition, the common case of needing buffers much smaller than that will enable substitution to only take up the amount of memory actually needed. The existing variable substitution routines are still available, but users of those API calls should transition to using the dynamic-buffer APIs. Reviewboard: http://reviewboard.digium.com/r/174/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@191140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10Disable test modules by default.Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-23Fix a regression in scheduler entry ordering, and add a regression test for it.Russell Bryant
(closes issue #14522) Reported by: pj Tested by: russell git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@178022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17Use constants from inttypes.h to clear up 32-bit compilation errorsMark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17Significantly improve scheduler performance under high load.Russell Bryant
This patch changes the scheduler to use a max-heap to store pending scheduler entries instead of a fully sorted doubly linked list. When the number of entries in the scheduler gets large, this will perform much better. For much more detailed information on this change, see the review request. Review: http://reviewboard.digium.com/r/160/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17Add a test module for the heap implementation.Russell Bryant
Review: http://reviewboard.digium.com/r/160/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-16Introducing doubly linked lists to trunk from branch team/murf/bug11210.Steve Murphy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-03add some simple infrastructure for modules to be used for testing parts of ↵Kevin P. Fleming
Asterisk git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96272 65c4cc65-6c06-0410-ace0-fbb531ad65f3