aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/tests
Commit message (Collapse)AuthorAgeFilesLines
* process: Add a wrapper to invoke a command under the system default shellMartin Willi2014-10-061-0/+16
|
* process: Port child process spawning to the Windows platformMartin Willi2014-10-061-0/+32
|
* process: Provide an abstraction to spawn child processes with redirected I/OMartin Willi2014-10-063-0/+175
|
* unit-tests: Give worker threads time to clean up when testing thread_t.detach()Tobias Brunner2014-09-091-2/+4
|
* unit-tests: Add option to exclude specific test suitesTobias Brunner2014-09-092-14/+32
| | | | | Listing test suites in TESTS_SUITES_EXCLUDE allows excluding specific test suites from running.
* chunk: Add function to calculate Internet Checksums according to RFC 1071Tobias Brunner2014-07-221-0/+49
|
* settings: Allow spaces in time settings before the optional unitMartin Willi2014-07-071-2/+2
|
* settings: Be more strict in converting settings to specific data typesMartin Willi2014-07-071-20/+15
| | | | | | | As the behavior was inconsistent for empty strings or strings with characters appended to a number, testing the code failed on some platforms. The new rules are more strict, returning the default if additional characters or an empty string was found for a setting.
* unit-tests: Add tests for DH factoryTobias Brunner2014-06-201-0/+157
|
* unit-tests: Add test for crypto_factory_t's rng_create methodTobias Brunner2014-06-203-0/+157
|
* unit-tests: Make fixture functions optionalTobias Brunner2014-06-191-2/+8
|
* identification: Only use either , or / to separate RDNsTobias Brunner2014-06-181-4/+4
| | | | | If a DN starts with a slash (or whitespace and a slash) slashes will be used, otherwise commas.
* windows: Use WINAPI call convention for Windows API callbacksMartin Willi2014-06-061-2/+2
| | | | | For x86_64 it does not actually matter, but for i686 builds the call convention is different with WINAPI.
* unit-tests: Zero-initialize chunk to avoid free on non-successful fetchMartin Willi2014-06-041-1/+1
| | | | | If the fetch fails, the fetcher is not required to return an empty chunk. Avoid the resulting invalid free() by initializing data.ptr to NULL.
* unit-tests: Support testable functions on Windows, avoid weak GCC symbolsMartin Willi2014-06-041-28/+5
| | | | | | | Instead of using weak symbols, we use dlsym() on Windows to find an arbitrary symbol in libtest to detect its linkage. Instead of creating the associated hashtable in the test runner, we maintain it in libstrongswan, making it significantly simpler.
* unit-tests: Seed chunk_hash() only once, but before creating any hashtablesMartin Willi2014-06-041-0/+3
| | | | | | | Due to the removal of pthread_once, we manually create the seed for chunk_hash(). With the new testable functions interface, this won't work for the hashtable initiated using __attribute__((constructor)). Enforce seeding before creating that hashtable.
* unit-tests: Force a CET/CEST timezone Windows understandsMartin Willi2014-06-041-0/+4
| | | | | | As it is currently unclear what the "three-letter-timezone" for CEST is, we use the German timezone, which actually is CET/CEST. SetEnvironmentVariable() "TZ" does not seem to affect localtime(), so we use _putenv() instead.
* unit-tests: Adapt settings tests for WindowsMartin Willi2014-06-041-2/+13
|
* utils: Provide a path_absolute() function to check path for non-relativenessMartin Willi2014-06-041-38/+53
| | | | The usually used trivial '/' check won't work on Windows platforms.
* utils: Support Windows path separators in path_basename/dirnameMartin Willi2014-06-041-0/+19
|
* windows: Provide a sched_yield() implementationMartin Willi2014-06-042-2/+0
|
* library: Change init/deinit order to allow utils to depend on threadingMartin Willi2014-06-041-0/+3
|
* unit-tests: Don't test Unix socket stream/services on WindowsMartin Willi2014-06-041-1/+2
|
* unit-tests: Use send/recv on socket in watcher testsMartin Willi2014-06-041-4/+4
| | | | Windows does not support read/write on sockets.
* unit-tests: Use Windows path for chunk tests, and socket functions if requiredMartin Willi2014-06-041-2/+10
|
* unit-tests: Don't depend on sockaddr_un to test invalid host_t familyMartin Willi2014-06-041-2/+2
|
* unit-tests: Add support for Windows buildMartin Willi2014-06-042-27/+198
| | | | | Instead of signals we catch Windows exceptions. Currently not supported are timers, which is more a convenience thing anyway.
* unit-tests: Sync threads with main thread in test_cleanup_cancel()Tobias Brunner2014-05-191-0/+5
| | | | | Without synchronization threads could get canceled before they could disable their cancelability.
* unit-tests: Allow some HTTP write operations to failTobias Brunner2014-05-191-7/+12
| | | | | | Because CURLOPT_FAILONERROR is enabled in the curl plugin an error code will often (not always) cause the client to close the TCP connection before the server has written the complete response.
* unit-tests: Add a test case for HTTP response codesTobias Brunner2014-05-191-8/+57
|
* unit-tests: Defer failures by worker threadsTobias Brunner2014-05-192-5/+36
| | | | | | | | | | | In some cases the main thread is not ready to immediately call siglongjmp(), e.g. if it currently holds a mutex that is later required during shutdown. Therefore, we delay handling errors in worker threads until the main thread performs the next check itself (or the test function ends). The same issue remains with SIGALRM.
* unit-tests: Make sure plugins in the builddir are loadedTobias Brunner2014-05-191-1/+1
| | | | | | When running the tests in GDB the working directory apparently is different. With the relative path used previously the plugins would not be found and those installed on the system would get used.
* unit-tests: Don't assert failures for unreadable settings files as rootTobias Brunner2014-05-161-5/+8
| | | | The file can still be read by root even if nobody has read privileges.
* enum: Return boolean result for enum_from_name() lookupMartin Willi2014-05-161-21/+30
| | | | | | | | | | | Handling the result for enum_from_name() is difficult, as checking for negative return values requires a cast if the enum type is unsigned. The new signature clearly differentiates lookup result from lookup value. Further, this actually allows to convert real -1 enum values, which could not be distinguished from "not-found" and the -1 return value. This also fixes several clang warnings where enums are unsigned.
* enum: Don't directly include enum.hMartin Willi2014-05-161-1/+0
| | | | | To allow enum.h to depend on utils.h definitions, avoid its direct inclusion. Instead include utils.h, which includes enum.h as well.
* settings: Adopt the new order of sections and settings when replacing configsTobias Brunner2014-05-151-1/+83
|
* settings: Only purge sections if necessaryTobias Brunner2014-05-151-0/+29
| | | | | Instead of removing and caching all values of a previous config, we only do this for actually removed sections/settings.
* settings: Maintain order of sections and settings while enumeratingTobias Brunner2014-05-151-57/+24
|
* settings: Don't overwrite values in-placeTobias Brunner2014-05-151-7/+16
| | | | | | | This is not thread safe. If threads are reading from pointers to existing values they could get a partially updated invalid value. Refactored assignment to a separate function.
* unit-tests: Update settings tests to match new parserTobias Brunner2014-05-151-59/+124
| | | | | Empty settings are now ignored, strings are supported, newlines are handled properly (e.g. at the end of files) etc.
* settings: Move to a separate folderTobias Brunner2014-05-151-1/+1
|
* unit-tests: Document the supported env variablesMartin Willi2014-04-301-1/+7
|
* unit-tests: Support strongswan.conf defined plugin list and base directoryThomas Egerer2014-04-301-2/+8
| | | | | | | tests.load and tests.plugindir to allow the specification of the plugins to be loaded and the directory to load them from. Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
* unit-tests: Allow configuration of libstrongswan via configThomas Egerer2014-04-301-10/+14
| | | | | | | | By setting the environment variable TESTS_STRONGSWAN_CONF, the unit tests can be asked to load a configuration file, thus enabling the tester to make use of the usual configuration settings. Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
* unit-tests: Add a ck_assert_chunk_eq() convenience macroMartin Willi2014-04-301-0/+18
|
* unit-tests: Silence a literal signedness warning raised by GCC 4.6.3Martin Willi2014-04-301-2/+2
|
* unit-tests: Verify two bytes at once when testing chunk_clear()Tobias Brunner2014-04-021-3/+6
| | | | | This reduces the chances of arbitrary test failures if the memory area already got overwritten.
* unit-tests: Catch timeouts during test runner deinit functionMartin Willi2014-04-011-6/+18
| | | | | | The test runner deinit function often cancels all threads from the pool. This operation might hang on error conditions, hence we should include that hook in the test timeout to fail properly.
* unit-tests: Prevent a failing worker thread to go wild after it failsMartin Willi2014-04-011-1/+2
| | | | | | A worker raises SIGUSR1 to inform the main thread that the test fails. The main thread then starts cancelling workers, but the offending thread should be terminated immediately to prevent it from test continuation.
* unit-tests: Fix filtered enumerator tests on 64-bit big-endian platformsTobias Brunner2014-03-271-12/+12
| | | | | In case of sizeof(void*) == 8 and sizeof(int) == 4 on big-endian hosts the tests failed as the actual integer value got cut off.