libusb 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +2 -2
- data/Gemfile +0 -8
- data/History.md +5 -0
- data/README.md +6 -6
- data/Rakefile +9 -9
- data/ext/extconf.rb +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/AUTHORS +10 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/COPYING +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/ChangeLog +17 -9
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/INSTALL +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Makefile.am +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Makefile.in +153 -178
- data/ext/libusb-1.0.18/NEWS +2 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/PORTING +13 -13
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/README +9 -11
- data/ext/libusb-1.0.18/TODO +2 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/common.xcconfig +3 -3
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/config.h +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/debug.xcconfig +2 -2
- data/ext/{libusbx-1.0.17/Xcode/libusbx.xcconfig → libusb-1.0.18/Xcode/libusb.xcconfig} +2 -2
- data/ext/libusb-1.0.18/Xcode/libusb.xcodeproj/project.pbxproj +1 -0
- data/ext/{libusbx-1.0.17/Xcode/libusbx_debug.xcconfig → libusb-1.0.18/Xcode/libusb_debug.xcconfig} +3 -3
- data/ext/{libusbx-1.0.17/Xcode/libusbx_release.xcconfig → libusb-1.0.18/Xcode/libusb_release.xcconfig} +3 -3
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/release.xcconfig +2 -2
- data/ext/{libusbx-1.0.17/m4/libtool.m4 → libusb-1.0.18/aclocal.m4} +1731 -27
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/README +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/config.h +1 -10
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/Android.mk +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/Application.mk +6 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/examples.mk +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/libusb.mk +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/tests.mk +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/compile +3 -7
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/config.guess +19 -24
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/config.h.in +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/config.sub +30 -47
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/configure +118 -172
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/configure.ac +24 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/depcomp +186 -268
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/doc/Makefile.am +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/doc/Makefile.in +36 -73
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/doc/doxygen.cfg.in +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/Makefile.am +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/Makefile.in +68 -132
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/dpfp.c +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/dpfp_threaded.c +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/ezusb.c +57 -26
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/ezusb.h +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/fxload.c +3 -3
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/getopt/getopt.c +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/getopt/getopt.h +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/getopt/getopt1.c +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/hotplugtest.c +9 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/listdevs.c +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/sam3u_benchmark.c +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/xusb.c +20 -4
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/install-sh +7 -7
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb-1.0.pc.in +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/Makefile.am +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/Makefile.in +94 -134
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/core.c +95 -74
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/descriptor.c +2 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/hotplug.c +3 -3
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/hotplug.h +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/io.c +127 -116
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusb-1.0.def +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusb-1.0.rc +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusb.h +42 -39
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusbi.h +20 -11
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/darwin_usb.c +20 -16
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/darwin_usb.h +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_netlink.c +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_udev.c +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_usbfs.c +15 -12
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_usbfs.h +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/netbsd_usb.c +2 -4
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/openbsd_usb.c +5 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_posix.c +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_posix.h +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_windows.c +2 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_windows.h +0 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_posix.c +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_posix.h +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_windows.c +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_windows.h +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/wince_usb.c +1 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/wince_usb.h +2 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/windows_common.h +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/windows_usb.c +53 -33
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/windows_usb.h +6 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/strerror.c +2 -2
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/sync.c +6 -6
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/version.h +1 -1
- data/ext/libusb-1.0.18/libusb/version_nano.h +1 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/ltmain.sh +3 -3
- data/ext/libusb-1.0.18/missing +331 -0
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/Makefile.am +1 -1
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/Makefile.in +69 -127
- data/ext/{libusbx-1.0.17/tests/libusbx_testlib.h → libusb-1.0.18/tests/libusb_testlib.h} +15 -15
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/stress.c +16 -16
- data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/testlib.c +21 -20
- data/lib/libusb/version_gem.rb +1 -1
- data/libusb.gemspec +1 -6
- metadata +117 -135
- checksums.yaml +0 -7
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/ext/libusbx-1.0.17/NEWS +0 -2
- data/ext/libusbx-1.0.17/TODO +0 -2
- data/ext/libusbx-1.0.17/Xcode/libusbx.xcodeproj/project.pbxproj +0 -864
- data/ext/libusbx-1.0.17/aclocal.m4 +0 -1112
- data/ext/libusbx-1.0.17/libusb/version_nano.h +0 -1
- data/ext/libusbx-1.0.17/m4/ltoptions.m4 +0 -384
- data/ext/libusbx-1.0.17/m4/ltsugar.m4 +0 -123
- data/ext/libusbx-1.0.17/m4/ltversion.m4 +0 -23
- data/ext/libusbx-1.0.17/m4/lt~obsolete.m4 +0 -98
- data/ext/libusbx-1.0.17/missing +0 -215
- metadata.gz.sig +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
*
|
2
|
+
* libusb test library helper functions
|
3
3
|
* Copyright © 2012 Toby Gray <toby.gray@realvnc.com>
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
@@ -17,8 +17,8 @@
|
|
17
17
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
18
|
*/
|
19
19
|
|
20
|
-
#ifndef
|
21
|
-
#define
|
20
|
+
#ifndef LIBUSB_TESTLIB_H
|
21
|
+
#define LIBUSB_TESTLIB_H
|
22
22
|
|
23
23
|
#include <stdio.h>
|
24
24
|
|
@@ -43,7 +43,7 @@ typedef enum {
|
|
43
43
|
/** Indicates that the test can't be run. For example this may be
|
44
44
|
* due to no suitable device being connected to perform the tests.*/
|
45
45
|
TEST_STATUS_SKIP
|
46
|
-
}
|
46
|
+
} libusb_testlib_result;
|
47
47
|
|
48
48
|
/**
|
49
49
|
* Context for test library functions
|
@@ -57,21 +57,21 @@ typedef struct {
|
|
57
57
|
int old_stderr;
|
58
58
|
FILE* output_file;
|
59
59
|
int null_fd;
|
60
|
-
}
|
60
|
+
} libusb_testlib_ctx;
|
61
61
|
|
62
62
|
/**
|
63
63
|
* Logs some test information or state
|
64
64
|
*/
|
65
|
-
void
|
65
|
+
void libusb_testlib_logf(libusb_testlib_ctx * ctx,
|
66
66
|
const char* fmt, ...);
|
67
67
|
|
68
68
|
/**
|
69
|
-
* Function pointer for a
|
69
|
+
* Function pointer for a libusb test function.
|
70
70
|
*
|
71
71
|
* Should return TEST_STATUS_SUCCESS on success or another TEST_STATUS value.
|
72
72
|
*/
|
73
|
-
typedef
|
74
|
-
(*
|
73
|
+
typedef libusb_testlib_result
|
74
|
+
(*libusb_testlib_test_function)(libusb_testlib_ctx * ctx);
|
75
75
|
|
76
76
|
/**
|
77
77
|
* Structure holding a test description.
|
@@ -80,14 +80,14 @@ typedef struct {
|
|
80
80
|
/** Human readable name of the test. */
|
81
81
|
const char * name;
|
82
82
|
/** The test library will call this function to run the test. */
|
83
|
-
|
84
|
-
}
|
83
|
+
libusb_testlib_test_function function;
|
84
|
+
} libusb_testlib_test;
|
85
85
|
|
86
86
|
/**
|
87
87
|
* Value to use at the end of a test array to indicate the last
|
88
88
|
* element.
|
89
89
|
*/
|
90
|
-
#define
|
90
|
+
#define LIBUSB_NULL_TEST {NULL, NULL}
|
91
91
|
|
92
92
|
/**
|
93
93
|
* Runs the tests provided.
|
@@ -100,8 +100,8 @@ typedef struct {
|
|
100
100
|
* \param tests A NULL_TEST terminated array of tests
|
101
101
|
* \return 0 on success, non-zero on failure
|
102
102
|
*/
|
103
|
-
int
|
103
|
+
int libusb_testlib_run_tests(int argc,
|
104
104
|
char ** argv,
|
105
|
-
const
|
105
|
+
const libusb_testlib_test * tests);
|
106
106
|
|
107
|
-
#endif //
|
107
|
+
#endif //LIBUSB_TESTLIB_H
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
*
|
2
|
+
* libusb stress test program to perform simple stress tests
|
3
3
|
* Copyright © 2012 Toby Gray <toby.gray@realvnc.com>
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
@@ -22,18 +22,18 @@
|
|
22
22
|
#include <memory.h>
|
23
23
|
|
24
24
|
#include "libusb.h"
|
25
|
-
#include "
|
25
|
+
#include "libusb_testlib.h"
|
26
26
|
|
27
27
|
/** Test that creates and destroys a single concurrent context
|
28
28
|
* 10000 times. */
|
29
|
-
static
|
29
|
+
static libusb_testlib_result test_init_and_exit(libusb_testlib_ctx * tctx)
|
30
30
|
{
|
31
31
|
libusb_context * ctx = NULL;
|
32
32
|
int i;
|
33
33
|
for (i = 0; i < 10000; ++i) {
|
34
34
|
int r = libusb_init(&ctx);
|
35
35
|
if (r != LIBUSB_SUCCESS) {
|
36
|
-
|
36
|
+
libusb_testlib_logf(tctx,
|
37
37
|
"Failed to init libusb on iteration %d: %d",
|
38
38
|
i, r);
|
39
39
|
return TEST_STATUS_FAILURE;
|
@@ -46,20 +46,20 @@ static libusbx_testlib_result test_init_and_exit(libusbx_testlib_ctx * tctx)
|
|
46
46
|
}
|
47
47
|
|
48
48
|
/** Tests that devices can be listed 1000 times. */
|
49
|
-
static
|
49
|
+
static libusb_testlib_result test_get_device_list(libusb_testlib_ctx * tctx)
|
50
50
|
{
|
51
51
|
libusb_context * ctx = NULL;
|
52
52
|
int r, i;
|
53
53
|
r = libusb_init(&ctx);
|
54
54
|
if (r != LIBUSB_SUCCESS) {
|
55
|
-
|
55
|
+
libusb_testlib_logf(tctx, "Failed to init libusb: %d", r);
|
56
56
|
return TEST_STATUS_FAILURE;
|
57
57
|
}
|
58
58
|
for (i = 0; i < 1000; ++i) {
|
59
59
|
libusb_device ** device_list;
|
60
60
|
ssize_t list_size = libusb_get_device_list(ctx, &device_list);
|
61
61
|
if (list_size < 0 || device_list == NULL) {
|
62
|
-
|
62
|
+
libusb_testlib_logf(tctx,
|
63
63
|
"Failed to get device list on iteration %d: %d (%p)",
|
64
64
|
i, -list_size, device_list);
|
65
65
|
return TEST_STATUS_FAILURE;
|
@@ -71,7 +71,7 @@ static libusbx_testlib_result test_get_device_list(libusbx_testlib_ctx * tctx)
|
|
71
71
|
}
|
72
72
|
|
73
73
|
/** Tests that 100 concurrent device lists can be open at a time. */
|
74
|
-
static
|
74
|
+
static libusb_testlib_result test_many_device_lists(libusb_testlib_ctx * tctx)
|
75
75
|
{
|
76
76
|
#define LIST_COUNT 100
|
77
77
|
libusb_context * ctx = NULL;
|
@@ -81,7 +81,7 @@ static libusbx_testlib_result test_many_device_lists(libusbx_testlib_ctx * tctx)
|
|
81
81
|
|
82
82
|
r = libusb_init(&ctx);
|
83
83
|
if (r != LIBUSB_SUCCESS) {
|
84
|
-
|
84
|
+
libusb_testlib_logf(tctx, "Failed to init libusb: %d", r);
|
85
85
|
return TEST_STATUS_FAILURE;
|
86
86
|
}
|
87
87
|
|
@@ -89,7 +89,7 @@ static libusbx_testlib_result test_many_device_lists(libusbx_testlib_ctx * tctx)
|
|
89
89
|
for (i = 0; i < LIST_COUNT; ++i) {
|
90
90
|
ssize_t list_size = libusb_get_device_list(ctx, &(device_lists[i]));
|
91
91
|
if (list_size < 0 || device_lists[i] == NULL) {
|
92
|
-
|
92
|
+
libusb_testlib_logf(tctx,
|
93
93
|
"Failed to get device list on iteration %d: %d (%p)",
|
94
94
|
i, -list_size, device_lists[i]);
|
95
95
|
return TEST_STATUS_FAILURE;
|
@@ -112,7 +112,7 @@ static libusbx_testlib_result test_many_device_lists(libusbx_testlib_ctx * tctx)
|
|
112
112
|
/** Tests that the default context (used for various things including
|
113
113
|
* logging) works correctly when the first context created in a
|
114
114
|
* process is destroyed. */
|
115
|
-
static
|
115
|
+
static libusb_testlib_result test_default_context_change(libusb_testlib_ctx * tctx)
|
116
116
|
{
|
117
117
|
libusb_context * ctx = NULL;
|
118
118
|
int r, i;
|
@@ -121,7 +121,7 @@ static libusbx_testlib_result test_default_context_change(libusbx_testlib_ctx *
|
|
121
121
|
/* First create a new context */
|
122
122
|
r = libusb_init(&ctx);
|
123
123
|
if (r != LIBUSB_SUCCESS) {
|
124
|
-
|
124
|
+
libusb_testlib_logf(tctx, "Failed to init libusb: %d", r);
|
125
125
|
return TEST_STATUS_FAILURE;
|
126
126
|
}
|
127
127
|
|
@@ -132,7 +132,7 @@ static libusbx_testlib_result test_default_context_change(libusbx_testlib_ctx *
|
|
132
132
|
/* Now create a reference to the default context */
|
133
133
|
r = libusb_init(NULL);
|
134
134
|
if (r != LIBUSB_SUCCESS) {
|
135
|
-
|
135
|
+
libusb_testlib_logf(tctx, "Failed to init libusb: %d", r);
|
136
136
|
return TEST_STATUS_FAILURE;
|
137
137
|
}
|
138
138
|
|
@@ -146,15 +146,15 @@ static libusbx_testlib_result test_default_context_change(libusbx_testlib_ctx *
|
|
146
146
|
}
|
147
147
|
|
148
148
|
/* Fill in the list of tests. */
|
149
|
-
static const
|
149
|
+
static const libusb_testlib_test tests[] = {
|
150
150
|
{"init_and_exit", &test_init_and_exit},
|
151
151
|
{"get_device_list", &test_get_device_list},
|
152
152
|
{"many_device_lists", &test_many_device_lists},
|
153
153
|
{"default_context_change", &test_default_context_change},
|
154
|
-
|
154
|
+
LIBUSB_NULL_TEST
|
155
155
|
};
|
156
156
|
|
157
157
|
int main (int argc, char ** argv)
|
158
158
|
{
|
159
|
-
return
|
159
|
+
return libusb_testlib_run_tests(argc, argv, tests);
|
160
160
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
*
|
2
|
+
* libusb test library helper functions
|
3
3
|
* Copyright © 2012 Toby Gray <toby.gray@realvnc.com>
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
@@ -17,7 +17,7 @@
|
|
17
17
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
18
|
*/
|
19
19
|
|
20
|
-
#include "
|
20
|
+
#include "libusb_testlib.h"
|
21
21
|
|
22
22
|
#include <stdio.h>
|
23
23
|
#include <stdarg.h>
|
@@ -53,7 +53,7 @@
|
|
53
53
|
/**
|
54
54
|
* Converts a test result code into a human readable string.
|
55
55
|
*/
|
56
|
-
static const char* test_result_to_str(
|
56
|
+
static const char* test_result_to_str(libusb_testlib_result result)
|
57
57
|
{
|
58
58
|
switch (result) {
|
59
59
|
case TEST_STATUS_SUCCESS:
|
@@ -77,7 +77,7 @@ static void print_usage(int argc, char ** argv)
|
|
77
77
|
printf(" -v Don't redirect STDERR/STDOUT during tests\n");
|
78
78
|
}
|
79
79
|
|
80
|
-
static void cleanup_test_output(
|
80
|
+
static void cleanup_test_output(libusb_testlib_ctx * ctx)
|
81
81
|
{
|
82
82
|
#ifndef DISABLE_STDOUT_REDIRECTION
|
83
83
|
if (!ctx->verbose) {
|
@@ -105,7 +105,7 @@ static void cleanup_test_output(libusbx_testlib_ctx * ctx)
|
|
105
105
|
* Setup test output handles
|
106
106
|
* \return zero on success, non-zero on failure
|
107
107
|
*/
|
108
|
-
static int setup_test_output(
|
108
|
+
static int setup_test_output(libusb_testlib_ctx * ctx)
|
109
109
|
{
|
110
110
|
#ifndef DISABLE_STDOUT_REDIRECTION
|
111
111
|
/* Stop output to stdout and stderr from being displayed if using non-verbose output */
|
@@ -139,6 +139,7 @@ static int setup_test_output(libusbx_testlib_ctx * ctx)
|
|
139
139
|
}
|
140
140
|
ctx->output_file = fdopen(ctx->old_stdout, "w");
|
141
141
|
if (!ctx->output_file) {
|
142
|
+
ctx->output_file = stdout;
|
142
143
|
cleanup_test_output(ctx);
|
143
144
|
printf("Failed to open FILE for output handle: %d\n", errno);
|
144
145
|
return 1;
|
@@ -148,7 +149,7 @@ static int setup_test_output(libusbx_testlib_ctx * ctx)
|
|
148
149
|
return 0;
|
149
150
|
}
|
150
151
|
|
151
|
-
void
|
152
|
+
void libusb_testlib_logf(libusb_testlib_ctx * ctx,
|
152
153
|
const char* fmt, ...)
|
153
154
|
{
|
154
155
|
va_list va;
|
@@ -159,9 +160,9 @@ void libusbx_testlib_logf(libusbx_testlib_ctx * ctx,
|
|
159
160
|
fflush(ctx->output_file);
|
160
161
|
}
|
161
162
|
|
162
|
-
int
|
163
|
+
int libusb_testlib_run_tests(int argc,
|
163
164
|
char ** argv,
|
164
|
-
const
|
165
|
+
const libusb_testlib_test * tests)
|
165
166
|
{
|
166
167
|
int run_count = 0;
|
167
168
|
int idx = 0;
|
@@ -171,8 +172,8 @@ int libusbx_testlib_run_tests(int argc,
|
|
171
172
|
int skip_count = 0;
|
172
173
|
int r, j;
|
173
174
|
size_t arglen;
|
174
|
-
|
175
|
-
|
175
|
+
libusb_testlib_result test_result;
|
176
|
+
libusb_testlib_ctx ctx;
|
176
177
|
|
177
178
|
/* Setup default mode of operation */
|
178
179
|
ctx.test_names = NULL;
|
@@ -226,7 +227,7 @@ int libusbx_testlib_run_tests(int argc,
|
|
226
227
|
/* Act on any options not related to running tests */
|
227
228
|
if (ctx.list_tests) {
|
228
229
|
while (tests[idx].function != NULL) {
|
229
|
-
|
230
|
+
libusb_testlib_logf(&ctx, tests[idx].name);
|
230
231
|
++idx;
|
231
232
|
}
|
232
233
|
cleanup_test_output(&ctx);
|
@@ -235,7 +236,7 @@ int libusbx_testlib_run_tests(int argc,
|
|
235
236
|
|
236
237
|
/* Run any requested tests */
|
237
238
|
while (tests[idx].function != NULL) {
|
238
|
-
const
|
239
|
+
const libusb_testlib_test * test = &tests[idx];
|
239
240
|
++idx;
|
240
241
|
if (ctx.test_count > 0) {
|
241
242
|
/* Filtering tests to run, check if this is one of them */
|
@@ -250,10 +251,10 @@ int libusbx_testlib_run_tests(int argc,
|
|
250
251
|
continue;
|
251
252
|
}
|
252
253
|
}
|
253
|
-
|
254
|
+
libusb_testlib_logf(&ctx,
|
254
255
|
"Starting test run: %s...", test->name);
|
255
256
|
test_result = test->function(&ctx);
|
256
|
-
|
257
|
+
libusb_testlib_logf(&ctx,
|
257
258
|
"%s (%d)",
|
258
259
|
test_result_to_str(test_result), test_result);
|
259
260
|
switch (test_result) {
|
@@ -264,12 +265,12 @@ int libusbx_testlib_run_tests(int argc,
|
|
264
265
|
}
|
265
266
|
++run_count;
|
266
267
|
}
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
268
|
+
libusb_testlib_logf(&ctx, "---");
|
269
|
+
libusb_testlib_logf(&ctx, "Ran %d tests", run_count);
|
270
|
+
libusb_testlib_logf(&ctx, "Passed %d tests", pass_count);
|
271
|
+
libusb_testlib_logf(&ctx, "Failed %d tests", fail_count);
|
272
|
+
libusb_testlib_logf(&ctx, "Error in %d tests", error_count);
|
273
|
+
libusb_testlib_logf(&ctx, "Skipped %d tests", skip_count);
|
273
274
|
|
274
275
|
cleanup_test_output(&ctx);
|
275
276
|
return pass_count != run_count;
|
data/lib/libusb/version_gem.rb
CHANGED
data/libusb.gemspec
CHANGED
@@ -20,12 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
s.extensions = ['ext/extconf.rb']
|
22
22
|
|
23
|
-
|
24
|
-
# that needs a special ffi version.
|
25
|
-
unless ENV['TRAVIS'] && defined?(RUBY_ENGINE) && RUBY_ENGINE=='rbx'
|
26
|
-
s.add_runtime_dependency 'ffi', '>= 1.0'
|
27
|
-
end
|
28
|
-
|
23
|
+
s.add_runtime_dependency 'ffi', '>= 1.0'
|
29
24
|
s.add_development_dependency 'rake-compiler', '>= 0.6'
|
30
25
|
s.add_development_dependency 'bundler'
|
31
26
|
end
|
metadata
CHANGED
@@ -1,76 +1,62 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libusb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Lars Kanis
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDPDCCAiSgAwIBAgIBADANBgkqhkiG9w0BAQUFADBEMQ0wCwYDVQQDDARsYXJz
|
14
|
-
MR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZImiZPyLGQB
|
15
|
-
GRYCZGUwHhcNMTMwMzExMjAyMjIyWhcNMTQwMzExMjAyMjIyWjBEMQ0wCwYDVQQD
|
16
|
-
DARsYXJzMR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZIm
|
17
|
-
iZPyLGQBGRYCZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZb4Uv
|
18
|
-
RFJfRu/VEWiy3psh2jinETjiuBrL0NeRFGf8H7iU9+gx/DI/FFhfHGLrDeIskrJx
|
19
|
-
YIWDMmEjVO10UUdj7wu4ZhmU++0Cd7Kq9/TyP/shIP3IjqHjVLCnJ3P6f1cl5rxZ
|
20
|
-
gqo+d3BAoDrmPk0rtaf6QopwUw9RBiF8V4HqvpiY+ruJotP5UQDP4/lVOKvA8PI9
|
21
|
-
P0GmVbFBrbc7Zt5h78N3UyOK0u+nvOC23BvyHXzCtcFsXCoEkt+Wwh0RFqVZdnjM
|
22
|
-
LMO2vULHKKHDdX54K/sbVCj9pN9h1aotNzrEyo55zxn0G9PHg/G3P8nMvAXPkUTe
|
23
|
-
brhXrfCwWRvOXA4TAgMBAAGjOTA3MAsGA1UdDwQEAwIEsDAJBgNVHRMEAjAAMB0G
|
24
|
-
A1UdDgQWBBRAHK81igrXodaDj8a8/BIKsaZrETANBgkqhkiG9w0BAQUFAAOCAQEA
|
25
|
-
Iswhcol3ytXthaUH3k5LopZ09viZrZHzAw0QleI3Opl/9QEGJ2BPV9+93iC0OrNL
|
26
|
-
hmnxig6vKK1EeJ5PHXJ8hOI3nTZBrOmQcEXNBqyToP1FHMWZqwZ8wiBPXtiCqDBR
|
27
|
-
ePQ25J9xFNzQ1ItgzNSpx5cs67QNKrx5woocoBHD6kStFbshZPJx4axl3GbUFQd5
|
28
|
-
H//3YdPQOH3jaVeUXhS+pz/gfbx8fhFAtsQ+855A3HO7g2ZRIg/atAp/0MFyn5s5
|
29
|
-
0rq+VHOIPyvxF5khT0mYAcNmZTC8z1yPsqdgwfYNDjsSWwiIRSPUSmJRvfjM8hsW
|
30
|
-
mMFp4kPUHbWOqCp2mz9gCA==
|
31
|
-
-----END CERTIFICATE-----
|
32
|
-
date: 2013-11-20 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-05-17 00:00:00.000000000 Z
|
33
13
|
dependencies:
|
34
14
|
- !ruby/object:Gem::Dependency
|
35
15
|
name: ffi
|
36
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
37
18
|
requirements:
|
38
|
-
- - '>='
|
19
|
+
- - ! '>='
|
39
20
|
- !ruby/object:Gem::Version
|
40
21
|
version: '1.0'
|
41
22
|
type: :runtime
|
42
23
|
prerelease: false
|
43
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
44
26
|
requirements:
|
45
|
-
- - '>='
|
27
|
+
- - ! '>='
|
46
28
|
- !ruby/object:Gem::Version
|
47
29
|
version: '1.0'
|
48
30
|
- !ruby/object:Gem::Dependency
|
49
31
|
name: rake-compiler
|
50
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
51
34
|
requirements:
|
52
|
-
- - '>='
|
35
|
+
- - ! '>='
|
53
36
|
- !ruby/object:Gem::Version
|
54
37
|
version: '0.6'
|
55
38
|
type: :development
|
56
39
|
prerelease: false
|
57
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
58
42
|
requirements:
|
59
|
-
- - '>='
|
43
|
+
- - ! '>='
|
60
44
|
- !ruby/object:Gem::Version
|
61
45
|
version: '0.6'
|
62
46
|
- !ruby/object:Gem::Dependency
|
63
47
|
name: bundler
|
64
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
65
50
|
requirements:
|
66
|
-
- - '>='
|
51
|
+
- - ! '>='
|
67
52
|
- !ruby/object:Gem::Version
|
68
53
|
version: '0'
|
69
54
|
type: :development
|
70
55
|
prerelease: false
|
71
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
72
58
|
requirements:
|
73
|
-
- - '>='
|
59
|
+
- - ! '>='
|
74
60
|
- !ruby/object:Gem::Version
|
75
61
|
version: '0'
|
76
62
|
description: LIBUSB is a Ruby binding that gives Ruby programmers access to arbitrary
|
@@ -91,106 +77,101 @@ files:
|
|
91
77
|
- README.md
|
92
78
|
- Rakefile
|
93
79
|
- ext/extconf.rb
|
94
|
-
- ext/
|
95
|
-
- ext/
|
96
|
-
- ext/
|
97
|
-
- ext/
|
98
|
-
- ext/
|
99
|
-
- ext/
|
100
|
-
- ext/
|
101
|
-
- ext/
|
102
|
-
- ext/
|
103
|
-
- ext/
|
104
|
-
- ext/
|
105
|
-
- ext/
|
106
|
-
- ext/
|
107
|
-
- ext/
|
108
|
-
- ext/
|
109
|
-
- ext/
|
110
|
-
- ext/
|
111
|
-
- ext/
|
112
|
-
- ext/
|
113
|
-
- ext/
|
114
|
-
- ext/
|
115
|
-
- ext/
|
116
|
-
- ext/
|
117
|
-
- ext/
|
118
|
-
- ext/
|
119
|
-
- ext/
|
120
|
-
- ext/
|
121
|
-
- ext/
|
122
|
-
- ext/
|
123
|
-
- ext/
|
124
|
-
- ext/
|
125
|
-
- ext/
|
126
|
-
- ext/
|
127
|
-
- ext/
|
128
|
-
- ext/
|
129
|
-
- ext/
|
130
|
-
- ext/
|
131
|
-
- ext/
|
132
|
-
- ext/
|
133
|
-
- ext/
|
134
|
-
- ext/
|
135
|
-
- ext/
|
136
|
-
- ext/
|
137
|
-
- ext/
|
138
|
-
- ext/
|
139
|
-
- ext/
|
140
|
-
- ext/
|
141
|
-
- ext/
|
142
|
-
- ext/
|
143
|
-
- ext/
|
144
|
-
- ext/
|
145
|
-
- ext/
|
146
|
-
- ext/
|
147
|
-
- ext/
|
148
|
-
- ext/
|
149
|
-
- ext/
|
150
|
-
- ext/
|
151
|
-
- ext/
|
152
|
-
- ext/
|
153
|
-
- ext/
|
154
|
-
- ext/
|
155
|
-
- ext/
|
156
|
-
- ext/
|
157
|
-
- ext/
|
158
|
-
- ext/
|
159
|
-
- ext/
|
160
|
-
- ext/
|
161
|
-
- ext/
|
162
|
-
- ext/
|
163
|
-
- ext/
|
164
|
-
- ext/
|
165
|
-
- ext/
|
166
|
-
- ext/
|
167
|
-
- ext/
|
168
|
-
- ext/
|
169
|
-
- ext/
|
170
|
-
- ext/
|
171
|
-
- ext/
|
172
|
-
- ext/
|
173
|
-
- ext/
|
174
|
-
- ext/
|
175
|
-
- ext/
|
176
|
-
- ext/
|
177
|
-
- ext/
|
178
|
-
- ext/
|
179
|
-
- ext/
|
180
|
-
- ext/
|
181
|
-
- ext/
|
182
|
-
- ext/
|
183
|
-
- ext/
|
184
|
-
- ext/
|
185
|
-
- ext/
|
186
|
-
- ext/
|
187
|
-
- ext/
|
188
|
-
- ext/
|
189
|
-
- ext/libusbx-1.0.17/tests/Makefile.am
|
190
|
-
- ext/libusbx-1.0.17/tests/Makefile.in
|
191
|
-
- ext/libusbx-1.0.17/tests/libusbx_testlib.h
|
192
|
-
- ext/libusbx-1.0.17/tests/stress.c
|
193
|
-
- ext/libusbx-1.0.17/tests/testlib.c
|
80
|
+
- ext/libusb-1.0.18/AUTHORS
|
81
|
+
- ext/libusb-1.0.18/COPYING
|
82
|
+
- ext/libusb-1.0.18/ChangeLog
|
83
|
+
- ext/libusb-1.0.18/INSTALL
|
84
|
+
- ext/libusb-1.0.18/Makefile.am
|
85
|
+
- ext/libusb-1.0.18/Makefile.in
|
86
|
+
- ext/libusb-1.0.18/NEWS
|
87
|
+
- ext/libusb-1.0.18/PORTING
|
88
|
+
- ext/libusb-1.0.18/README
|
89
|
+
- ext/libusb-1.0.18/TODO
|
90
|
+
- ext/libusb-1.0.18/Xcode/common.xcconfig
|
91
|
+
- ext/libusb-1.0.18/Xcode/config.h
|
92
|
+
- ext/libusb-1.0.18/Xcode/debug.xcconfig
|
93
|
+
- ext/libusb-1.0.18/Xcode/libusb.xcconfig
|
94
|
+
- ext/libusb-1.0.18/Xcode/libusb.xcodeproj/project.pbxproj
|
95
|
+
- ext/libusb-1.0.18/Xcode/libusb_debug.xcconfig
|
96
|
+
- ext/libusb-1.0.18/Xcode/libusb_release.xcconfig
|
97
|
+
- ext/libusb-1.0.18/Xcode/release.xcconfig
|
98
|
+
- ext/libusb-1.0.18/aclocal.m4
|
99
|
+
- ext/libusb-1.0.18/android/README
|
100
|
+
- ext/libusb-1.0.18/android/config.h
|
101
|
+
- ext/libusb-1.0.18/android/jni/Android.mk
|
102
|
+
- ext/libusb-1.0.18/android/jni/Application.mk
|
103
|
+
- ext/libusb-1.0.18/android/jni/examples.mk
|
104
|
+
- ext/libusb-1.0.18/android/jni/libusb.mk
|
105
|
+
- ext/libusb-1.0.18/android/jni/tests.mk
|
106
|
+
- ext/libusb-1.0.18/compile
|
107
|
+
- ext/libusb-1.0.18/config.guess
|
108
|
+
- ext/libusb-1.0.18/config.h.in
|
109
|
+
- ext/libusb-1.0.18/config.sub
|
110
|
+
- ext/libusb-1.0.18/configure
|
111
|
+
- ext/libusb-1.0.18/configure.ac
|
112
|
+
- ext/libusb-1.0.18/depcomp
|
113
|
+
- ext/libusb-1.0.18/doc/Makefile.am
|
114
|
+
- ext/libusb-1.0.18/doc/Makefile.in
|
115
|
+
- ext/libusb-1.0.18/doc/doxygen.cfg.in
|
116
|
+
- ext/libusb-1.0.18/examples/Makefile.am
|
117
|
+
- ext/libusb-1.0.18/examples/Makefile.in
|
118
|
+
- ext/libusb-1.0.18/examples/dpfp.c
|
119
|
+
- ext/libusb-1.0.18/examples/dpfp_threaded.c
|
120
|
+
- ext/libusb-1.0.18/examples/ezusb.c
|
121
|
+
- ext/libusb-1.0.18/examples/ezusb.h
|
122
|
+
- ext/libusb-1.0.18/examples/fxload.c
|
123
|
+
- ext/libusb-1.0.18/examples/getopt/getopt.c
|
124
|
+
- ext/libusb-1.0.18/examples/getopt/getopt.h
|
125
|
+
- ext/libusb-1.0.18/examples/getopt/getopt1.c
|
126
|
+
- ext/libusb-1.0.18/examples/hotplugtest.c
|
127
|
+
- ext/libusb-1.0.18/examples/listdevs.c
|
128
|
+
- ext/libusb-1.0.18/examples/sam3u_benchmark.c
|
129
|
+
- ext/libusb-1.0.18/examples/xusb.c
|
130
|
+
- ext/libusb-1.0.18/install-sh
|
131
|
+
- ext/libusb-1.0.18/libusb-1.0.pc.in
|
132
|
+
- ext/libusb-1.0.18/libusb/Makefile.am
|
133
|
+
- ext/libusb-1.0.18/libusb/Makefile.in
|
134
|
+
- ext/libusb-1.0.18/libusb/core.c
|
135
|
+
- ext/libusb-1.0.18/libusb/descriptor.c
|
136
|
+
- ext/libusb-1.0.18/libusb/hotplug.c
|
137
|
+
- ext/libusb-1.0.18/libusb/hotplug.h
|
138
|
+
- ext/libusb-1.0.18/libusb/io.c
|
139
|
+
- ext/libusb-1.0.18/libusb/libusb-1.0.def
|
140
|
+
- ext/libusb-1.0.18/libusb/libusb-1.0.rc
|
141
|
+
- ext/libusb-1.0.18/libusb/libusb.h
|
142
|
+
- ext/libusb-1.0.18/libusb/libusbi.h
|
143
|
+
- ext/libusb-1.0.18/libusb/os/darwin_usb.c
|
144
|
+
- ext/libusb-1.0.18/libusb/os/darwin_usb.h
|
145
|
+
- ext/libusb-1.0.18/libusb/os/linux_netlink.c
|
146
|
+
- ext/libusb-1.0.18/libusb/os/linux_udev.c
|
147
|
+
- ext/libusb-1.0.18/libusb/os/linux_usbfs.c
|
148
|
+
- ext/libusb-1.0.18/libusb/os/linux_usbfs.h
|
149
|
+
- ext/libusb-1.0.18/libusb/os/netbsd_usb.c
|
150
|
+
- ext/libusb-1.0.18/libusb/os/openbsd_usb.c
|
151
|
+
- ext/libusb-1.0.18/libusb/os/poll_posix.c
|
152
|
+
- ext/libusb-1.0.18/libusb/os/poll_posix.h
|
153
|
+
- ext/libusb-1.0.18/libusb/os/poll_windows.c
|
154
|
+
- ext/libusb-1.0.18/libusb/os/poll_windows.h
|
155
|
+
- ext/libusb-1.0.18/libusb/os/threads_posix.c
|
156
|
+
- ext/libusb-1.0.18/libusb/os/threads_posix.h
|
157
|
+
- ext/libusb-1.0.18/libusb/os/threads_windows.c
|
158
|
+
- ext/libusb-1.0.18/libusb/os/threads_windows.h
|
159
|
+
- ext/libusb-1.0.18/libusb/os/wince_usb.c
|
160
|
+
- ext/libusb-1.0.18/libusb/os/wince_usb.h
|
161
|
+
- ext/libusb-1.0.18/libusb/os/windows_common.h
|
162
|
+
- ext/libusb-1.0.18/libusb/os/windows_usb.c
|
163
|
+
- ext/libusb-1.0.18/libusb/os/windows_usb.h
|
164
|
+
- ext/libusb-1.0.18/libusb/strerror.c
|
165
|
+
- ext/libusb-1.0.18/libusb/sync.c
|
166
|
+
- ext/libusb-1.0.18/libusb/version.h
|
167
|
+
- ext/libusb-1.0.18/libusb/version_nano.h
|
168
|
+
- ext/libusb-1.0.18/ltmain.sh
|
169
|
+
- ext/libusb-1.0.18/missing
|
170
|
+
- ext/libusb-1.0.18/tests/Makefile.am
|
171
|
+
- ext/libusb-1.0.18/tests/Makefile.in
|
172
|
+
- ext/libusb-1.0.18/tests/libusb_testlib.h
|
173
|
+
- ext/libusb-1.0.18/tests/stress.c
|
174
|
+
- ext/libusb-1.0.18/tests/testlib.c
|
194
175
|
- lib/libusb.rb
|
195
176
|
- lib/libusb/call.rb
|
196
177
|
- lib/libusb/compat.rb
|
@@ -222,7 +203,6 @@ files:
|
|
222
203
|
- test/test_libusb_version.rb
|
223
204
|
homepage: http://github.com/larskanis/libusb
|
224
205
|
licenses: []
|
225
|
-
metadata: {}
|
226
206
|
post_install_message:
|
227
207
|
rdoc_options:
|
228
208
|
- --main
|
@@ -231,20 +211,22 @@ rdoc_options:
|
|
231
211
|
require_paths:
|
232
212
|
- lib
|
233
213
|
required_ruby_version: !ruby/object:Gem::Requirement
|
214
|
+
none: false
|
234
215
|
requirements:
|
235
|
-
- - '>='
|
216
|
+
- - ! '>='
|
236
217
|
- !ruby/object:Gem::Version
|
237
218
|
version: '0'
|
238
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
|
+
none: false
|
239
221
|
requirements:
|
240
|
-
- - '>='
|
222
|
+
- - ! '>='
|
241
223
|
- !ruby/object:Gem::Version
|
242
224
|
version: '0'
|
243
225
|
requirements: []
|
244
226
|
rubyforge_project: libusb
|
245
|
-
rubygems_version:
|
227
|
+
rubygems_version: 1.8.24
|
246
228
|
signing_key:
|
247
|
-
specification_version:
|
229
|
+
specification_version: 3
|
248
230
|
summary: Access USB devices from Ruby via libusb-1.0
|
249
231
|
test_files: []
|
250
232
|
has_rdoc:
|