summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fix build errors of tests with --enable-debug-logLudovic Rousseau2023-05-092-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The errors were: ../../tests/set_option.c:146:31: error: no member named 'debug' in 'struct libusb_context' LIBUSB_EXPECT(==, test_ctx->debug, 4); ~~~~~~~~ ^ ../../tests/set_option.c:74:40: note: expanded from macro 'LIBUSB_EXPECT' int64_t _lhs = (int64_t)(intptr_t)(lhs), _rhs = (int64_t)(intptr_t)(rhs); \ ^~~ ../../tests/set_option.c:152:31: error: no member named 'debug' in 'struct libusb_context' LIBUSB_EXPECT(==, test_ctx->debug, 4); ~~~~~~~~ ^ ../../tests/set_option.c:74:40: note: expanded from macro 'LIBUSB_EXPECT' int64_t _lhs = (int64_t)(intptr_t)(lhs), _rhs = (int64_t)(intptr_t)(rhs); \ ^~~ 2 errors generated. ../../tests/init_context.c:112:31: error: no member named 'debug' in 'struct libusb_context' LIBUSB_EXPECT(==, test_ctx->debug, LIBUSB_LOG_LEVEL_ERROR); ~~~~~~~~ ^ ../../tests/init_context.c:74:40: note: expanded from macro 'LIBUSB_EXPECT' int64_t _lhs = (int64_t)(intptr_t)(lhs), _rhs = (int64_t)(intptr_t)(rhs); \ ^~~ ../../tests/init_context.c:140:31: error: no member named 'log_handler' in 'struct libusb_context' LIBUSB_EXPECT(==, test_ctx->log_handler, test_log_cb); ~~~~~~~~ ^ ../../tests/init_context.c:74:40: note: expanded from macro 'LIBUSB_EXPECT' int64_t _lhs = (int64_t)(intptr_t)(lhs), _rhs = (int64_t)(intptr_t)(rhs); \ ^~~ 2 errors generated. Signed-off-by: Ludovic Rousseau <ludovic.rousseau@free.fr>
* Add support for setting the log callback with ↵Nathan Hjelm2023-04-123-2/+198
| | | | | | | | | | | | | libusb_set_option/libusb_init_context This commit effectively deprecates libusb_set_log_cb by adding support for setting the callback in either libusb_set_option or libusb_init_context. Since the libusb_set_log_cb is already in use we can not easily deprecate it without first incrementing the major version. We may do that in the future. Closes #1265 Signed-off-by: Nathan Hjelm <hjelmn@google.com>
* tests/stress_mt: Also run with device enumerationTormod Volden2023-03-121-13/+67
| | | | Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* tests/stress_mt: Add Windows threads supportTormod Volden2023-03-122-15/+79
| | | | | | | | Build the test on all platforms. Closes #1128 Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* tests: Add unit test for libusb_set_optionNathan Hjelm2023-03-122-2/+205
| | | | | | | | | | | | | | | | The behavior of libusb_set_option was not matching the documentation when the log level was set in the environment. This has been fixed but a regression test is needed to ensure the behavior does not deviate. This commit adds a set of unit tests to cover some of the functionality of libusb_set_option. Closes #1245 Signed-off-by: Nathan Hjelm <hjelmn@google.com> [Xiaofan: Add Windows setenv/unsetenv wrappers] Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com> [Tormod: Fix test_no_discovery() build on Linux, add msvc build] Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* Fix most -Wpedantic warningsTormod Volden2023-01-211-2/+2
| | | | | | On Linux and gcc 12.2 at least. Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* Update tests and example to use the new libusb_init_context() functionNathan Hjelm2023-01-203-15/+18
| | | | | | | | | This commit updates all test and example code to use the newer libusb_init_context() function instead of libusb_init(). Signed-off-by: Nathan Hjelm <hjelmn@google.com> [Tormod: Update umockdev.c as well] Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* tests: Add multithreaded stress test for Posix platformsTormod Volden2022-12-192-0/+51
| | | | | | | | | | | | | | Thanks to Ilya Averyanov for initial version. This test detects issues like #1124. Adaptation to Windows threads is on the wishlist (#1128). References #1124 References #1128 Closes #1189 Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* core: Install first context as implicit default (and warn about its use)Benjamin Berg2022-03-201-0/+31
| | | | | | | | | | | | | | | | | There was a behaviour change in libusb 1.0.25 which triggers issues when the API is misused. This caused for instance gutenprint to crash, see https://bugzilla.redhat.com/show_bug.cgi?id=2055504 This seems to affect several applications "out in the wild". For now, work around this by installing an implicit default. But, change the code to log an error in case this "feature" is being used. This will allow some grace time for developers to fix their applications, before we at a later point revert to the stricter behaviour. Fixes #1089
* tests: Add some umockdev based testsBenjamin Berg2022-03-182-1/+1156
| | | | | | | Add some basic umockdev tests. The setup in this case is all in one process, but umockdev in principle could also work between processes. This is just a start, more tests would make sense.
* Fix various typos in docs/commentsluz paz2021-10-311-1/+1
| | | | | | Found via `codespell -q 3` Closes #1015
* core: allow libusb_set_option on the default context before libusb_initNathan Hjelm2021-06-071-2/+5
| | | | | | | | This commit updates libusb_set_option to save the options if setting them on the default context. This ensures the options 1) can be set before libusb_init(NULL, ...), and 2) are honored even if the default context is destroyed and re-created. Signed-off-by: Nathan Hjelm <hjelmn@google.com>
* build: Prepare config.h for inclusion in examples/testsChris Dickens2020-11-273-5/+11
| | | | | | | | | | | | There are certain games played in the examples and tests source to account for differences in build environments and target platforms. This can be simplified by including config.h and using the definitions there. To that end, move the printf function attribute definition from libusbi.h to config.h and leverage it where it is used in the examples and tests. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
* tests: Refactor testlib to simplify and fix Cygwin buildChris Dickens2020-11-073-247/+133
| | | | Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
* stress: test_get_device_list: change printf format for ssize_tUri Lublin2020-08-101-2/+2
| | | | | | | | | | | | | | The type of list_size is ssize_t. First idea was to use "%zd" printf format specifier. But that is not supported by Visual Studio 2013. Use "%ld" + cast list_size to long. Closes #751 Suggested-by: Chris Dickens <christopher.a.dickens@gmail.com> Signed-off-by: Uri Lublin <uril@redhat.com> Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
* build: Require C11 to build and clean up autoconfig/automake filesChris Dickens2020-03-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | C11 compiler support has been available for many years now. It is not unreasonable to require this now, and doing so allows some cleanup to the configure script. It is no longer necessary to check for compiler support of the '-fvibility' flag because any compiler that supports C11 will support this flag as well. Fix up the way that compiler and linker flags are passed down to the various makefiles. The compiler flags should be shared by all, but the linker flags and libraries should be separated between the library and the examples/tests. The visibility flag is only relevant for the library and the thread flags are only relevant for sources using thread constructs, so provide them as needed. Rearrange configure.ac to group similar functionality and consolidate where possible. Based on these changes, update the Travis configuration file to include newer versions of test platforms to ensure proper C11 compiler support. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
* Windows: Remove support for WinCE and Visual Studio older than 2013Chris Dickens2020-01-201-11/+1
| | | | | | | | | | | There appears to be no need for the WinCE backend anymore, and it is increasingly difficult to keep healthy as the rest of the library changes. Require at least Visual Studio 2013 to compile. This simplifies matters as there is some semblance of C99 support there. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
* core: Introduce libusb_set_option() API functionChris Dickens2017-07-161-2/+2
| | | | | | | | | | | | | | This new function allows more flexibility in extending the library to support more user-configurable options. It is intended to provide a single API that can support a wide variety of needs and eliminates the need for new API functions to set future options. The function is introduced with a single option (LIBUSB_OPTION_LOG_LEVEL) that replaces the libusb_set_debug() function. Documentation relating to libusb_set_debug() and the uses of this function in the examples and tests have been updated accordingly. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
* Misc: Revert all references to libusb/libusb.infohjelmn@cs.unm.edu2014-01-084-52/+52
|
* tests: set output_file to a valid valueLudovic Rousseau2013-09-281-0/+1
| | | | | | | | | | | If fdopen(3) fails then ctx->output_file is NULL and should not be used in cleanup_test_output() called next. Problem detected by the Coverity tool CID 1042543 (#1 of 1): Dereference after null check (FORWARD_NULL)9. var_deref_model: Passing "ctx" to function "cleanup_test_output(libusbx_testlib_ctx *)", which dereferences null "ctx->output_file".
* Android: Add examples and stress testsToby Gray2013-08-111-0/+1
|
* libusbx 1.0.15-rc1v1.0.15-rc1Pete Batard2013-04-021-1/+1
| | | | * Also fix missing header in release tarball
* Tests: Suppress Visual Studio 2012 Code Analysis warningsPete Batard2013-03-161-2/+3
|
* Misc: Simplify includes and misc. cleanupPete Batard2013-02-271-4/+0
| | | | | | | | | | | * fxload sample provenance * No need for <sys/types.h> in samples as already in libusb.h * Don't bother about sscanf_s in xusb * Use HAVE_### and rely on config.h where possible * Formal inclusion of <winsock.h> in libusb.h for WinCE and WDK * Cleanup of Windows' config.h * Avoid ENAMETOOLONG and ENOTEMPTY conflict between errno.h and winsock.h for WinCE * Additional newlines & braces cleanup
* Tests: Fix broken OS-X and Linux buildsXiaofan Chen2013-02-241-2/+2
| | | | | * _dup2 is Windows only. Use dup2 instead * Breakage was introduced in 76eecc6ce11d1bedee369859899901037dcd4cc2
* Tests: Simplify stdout redirection and fix Windows assertion error on cleanupPete Batard2013-02-222-35/+44
| | | | | | * cleanup_test_output() produced an assertion error when compiled with MSVC due to closing ctx->output_file * set ctx->output_file to stdout by default
* WinCE: Add support for WinCE (sources)Toby Gray2013-01-232-2/+18
|
* Tests: Add libusbx stress testToby Gray2012-11-254-0/+526
See https://github.com/tobygray/libusbx/tree/testing as well as http://libusbx.1081486.n5.nabble.com/Libusbx-devel-Crashes-tt433.html#a438