Benjamin Sergeant
5691b55967
(unittest) / try to run the cobra 2 sentry bot test with SSL if the platform supports it
2020-03-19 18:50:46 -07:00
Benjamin Sergeant
0bb5462504
Feature/ci windows ( #163 )
...
* win only
* disable ixcrypto mbedtls search on windows
* ws cmakefile do not search for openssl
* ci builds files on top of cmaking
* ci builds files on top of cmaking / syntax tweak
* use gha-setup-vsdevenv syntax
* build fix and hacks
* try to run unittest on win
* try to run unittest on win (syntax error)
* unittest wip
* wip
* wip again
* wip again (working-directory)
* cleanup
* dumb compile error
2020-03-15 18:38:09 -07:00
Benjamin Sergeant
9801ebdb36
(cobra client) can subscribe with a position
2020-03-13 16:06:13 -07:00
Benjamin Sergeant
332ffb0603
(cobra client) pass the message position to the subscription data callback
2020-03-13 12:49:37 -07:00
Benjamin Sergeant
90df3d1805
(openssl tls backend) Fix a hand in OpenSSL when using TLS v1.3 ... by disabling TLS v1.3
2020-03-12 16:27:25 -07:00
Benjamin Sergeant
bda1bb6ab4
expose a way to set tls options for a sentry client, for testing
2020-03-12 16:18:28 -07:00
Benjamin Sergeant
d4e1f71e3c
(cobra2sentry bot) take a sentry client as input instead of a dsn
2020-03-12 12:30:58 -07:00
Benjamin Sergeant
adf6aa1d6c
(cobra2sentry bot) remove the jobs option passed to ws, and only use one sentry sender
2020-03-12 12:24:25 -07:00
Benjamin Sergeant
cb1f9f5a44
clang formatting
2020-03-12 12:15:56 -07:00
Benjamin Sergeant
83ae105edb
minor refactoring to delete files which are not needed
2020-03-12 12:13:31 -07:00
Benjamin Sergeant
7642ccc99e
(unittest) fix silly compile error with renaming of Logger to TLogger
2020-03-12 11:15:54 -07:00
Benjamin Sergeant
cb1ec7dc96
add unittest for cobra to sentry bots
2020-03-12 09:07:01 -07:00
Benjamin Sergeant
a42f115f79
compatibility: add node.js example server
2020-02-26 12:17:34 -08:00
Benjamin Sergeant
5ce1a596cf
add a python echo server that does not close the connection after each received messages
2020-02-26 12:11:31 -08:00
Benjamin Sergeant
21db7b6c5b
add a simple pytho echo client
2020-02-26 11:50:24 -08:00
Benjamin Sergeant
feab4dee0f
split httpd test case into 2 test cases
2020-02-21 12:24:22 -08:00
Benjamin Sergeant
8175829b4b
unittest / add extra test for checking headers
2020-02-21 12:22:37 -08:00
Benjamin Sergeant
ce9feeafdf
try to delete subtree usocket again
2020-02-12 10:08:42 -08:00
Benjamin Sergeant
4d7332c4ee
activate chat test on Windows
2020-01-13 16:44:10 -08:00
Benjamin Sergeant
b96b3b099f
test broadcast server
2020-01-12 21:32:26 -08:00
Benjamin Sergeant
bb31612ebe
more doc
2020-01-12 11:16:54 -08:00
Benjamin Sergeant
a01584ad9d
compatibility websocket server / add non ssl echo_server which does not run into the ssl error ( #140 )
2020-01-12 10:34:33 -08:00
Benjamin Sergeant
9651f3823d
(apple ssl) model write method after the OpenSSL one for consistency
...
More test code for #140 .
2020-01-10 18:32:34 -08:00
Benjamin Sergeant
a5bc39be55
(websocket client) better error propagation when errors are detected while sending data + (ws send) detect failures to send big files, terminate in those cases and report error (troubleshooting #140 )
2020-01-06 14:34:43 -08:00
Benjamin Sergeant
c62ad5f466
add reference ssl echo server using websockets and nginx reverse proxy to terminate ssl
2020-01-05 15:26:35 -08:00
Benjamin Sergeant
effa115ed2
Merge commit 'c992cb4e42cc223f67ede0e48d7ff3f4947af0c6' as 'test/compatibility/C/uWebSockets'
2020-01-04 15:41:03 -08:00
Benjamin Sergeant
b9504fcd44
add another compatibility python client
2020-01-04 15:37:40 -08:00
Benjamin Sergeant
299bcd4b92
Add a simple python program to send a file (debugging #140 )
2020-01-04 15:18:02 -08:00
Benjamin Sergeant
d60777b9cc
clang-format
2019-12-30 08:46:18 -08:00
Benjamin Sergeant
d2acfd5d1f
(ws client) use correct compilation defines so that spdlog is not used as a header only library (reduce binary size and increase compilation speed)
2019-12-25 09:03:57 -08:00
Benjamin Sergeant
9347664622
(cobra) Add TLS options to all cobra commands and classes. Add example to the doc.
2019-12-19 20:49:28 -08:00
Benjamin Sergeant
5c5ea6dec1
(ws) #125 / cmake detects an already installed jsoncpp and will try to use this one if present
2019-12-03 16:01:46 -08:00
Benjamin Sergeant
28a0ba4768
tweaks to the test python proxy code / (moved here) https://gist.github.com/bsergean/bad452fa543ec7df6b7fd496696b2cd8
2019-11-20 11:32:21 -08:00
Benjamin Sergeant
cc492bf1a3
add a python websocket proxy which works on Linux, while ws proxy_server does not
2019-11-18 13:46:11 -08:00
Benjamin Sergeant
16c6f08e2d
fix android build + proxy work
2019-11-16 06:51:53 -08:00
Benjamin Sergeant
081dd2c4bb
Add unittest to IXSentryClient to lua backtrace parsing code
2019-10-26 10:54:47 -07:00
Benjamin Sergeant
bbfa76a2c9
move sentry code around and add a stub unittest for it
2019-10-25 14:54:31 -07:00
Benjamin Sergeant
c3a619f114
Add client support for websocket subprotocol. Look for the new addSubProtocol method for details
2019-10-13 13:37:34 -07:00
Benjamin Sergeant
a383ac10d9
make sure the unittest pass withouth SSL
2019-10-03 09:41:17 -07:00
Benjamin Sergeant
afed387bcf
Socket Factory has only one function which works for server and client code, and can do tls for both
2019-09-30 22:06:46 -07:00
Benjamin Sergeant
bf46f3fe8f
unittest / specify a cacert for tls client tests
2019-09-29 21:24:22 -07:00
Benjamin Sergeant
7e1a60e61d
DNS lookup test works on windows
2019-09-27 14:34:47 -07:00
Benjamin Sergeant
4cd11fdbc7
mbedtls fixes / the unittest now pass on macOS, and hopefully will on Windows/AppVeyor as well.
2019-09-27 14:07:01 -07:00
Benjamin Sergeant
6762978ddf
http server unittest + refactoring
2019-09-26 09:45:59 -07:00
Benjamin Sergeant
3cd7c0194f
Stop having ws send subcommand send a binary message in text mode, which would cause error in make ws_test
shell script test
2019-09-25 15:39:43 -07:00
Benjamin Sergeant
94c589f696
Fix 2 race conditions detected with TSan, one in CobraMetricsPublisher::push and another one in WebSocketTransport::sendData (that one was bad).
2019-09-24 11:46:54 -07:00
Benjamin Sergeant
490fbf4cb5
try to enable more tests on windows
2019-09-23 21:52:32 -07:00
Benjamin Sergeant
d46ce7eb63
fix tsan errors on macOS when running the unittest
2019-09-23 21:51:55 -07:00
Benjamin Sergeant
ceb0c602c9
Add simple Redis Server which is only capable of doing publish / subscribe. New ws redis_server sub-command to use it. The server is used in the unittest, so that we can run on CI in environment where redis isn not available like github actions env.
2019-09-23 21:04:01 -07:00
Benjamin Sergeant
95722e3bbb
fix linux compilation error, by ordering dependant libraries properly
2019-09-23 12:32:04 -07:00
Benjamin Sergeant
1cde26771a
move snake code to its own subfolder like ixcobra, ixcrypto, etc...
2019-09-23 11:46:16 -07:00
Benjamin Sergeant
cd3c9d879c
reformat everything with clang-format
2019-09-23 10:25:23 -07:00
Benjamin Sergeant
398c4fbf99
fix unittest
2019-09-22 19:40:33 -07:00
Benjamin Sergeant
e7b4a985b4
fix unittest compiler warnings
2019-09-22 19:22:48 -07:00
Benjamin Sergeant
20ce498d23
On error while doing a client handshake, additionally display port number next to the host name
2019-09-17 12:08:52 -07:00
Benjamin Sergeant
354c9b412e
rename test file
2019-09-17 12:07:31 -07:00
Benjamin Sergeant
e2121d809e
fix unittest warnings + remove trailing spaces
2019-09-12 11:43:52 -07:00
Benjamin Sergeant
2453f5b717
restructure project
2019-09-10 12:19:22 -07:00
Benjamin Sergeant
64d3c99f99
improve some websocket error messages + add a utility function with unittest to parse status line and stop using scanf which triggers warnings on Windows
2019-09-09 21:23:57 -07:00
Benjamin Sergeant
6c0890594b
improve some websocket error messages + add a utility function with unittest to parse status line and stop using scanf which triggers warnings on Windows
2019-09-09 17:34:36 -07:00
Benjamin Sergeant
427db5bd59
Fix Windows CI with appveyor ( #110 )
...
Fix windows CI with appveyor + minor tweaks.
2019-09-07 14:07:00 -07:00
Benjamin Sergeant
c259c918ac
cobra metrics publisher test uses random free port
2019-09-05 22:05:00 -07:00
Benjamin Sergeant
2f7438f0d5
cobra chat test uses random free port
2019-09-05 22:02:10 -07:00
Benjamin Sergeant
37a7b362d8
add cobra metrics publisher + server unittest
2019-09-05 21:57:05 -07:00
Benjamin Sergeant
c0f098a578
Add new cobra unittest, using server and client
2019-09-05 20:49:58 -07:00
Benjamin Sergeant
51799353a6
Sending invalid UTF-8 TEXT message should fail and close the connection (fix remaining autobahn test: 6.X UTF-8 Handling)
2019-09-03 14:12:40 -07:00
Benjamin Sergeant
e98ec9ec75
clang format
2019-08-13 10:59:18 -07:00
Benjamin Sergeant
dfc188a24d
do not use mbed tls for the unittest
2019-07-03 14:39:46 -07:00
Benjamin Sergeant
e8a20c7e8a
refactor select code + add protection against large fds (cf Android 9)
2019-06-25 15:41:39 -07:00
Benjamin Sergeant
0423ed01a6
Add extra check in IXWebSocketCloseTest.cpp
2019-06-25 14:10:39 -07:00
Benjamin Sergeant
f84bc53c8d
Feature/httpd ( #94 )
...
* Stub code for http server
* can send a response, cannot process body yet
* write headers to the response
* remove commented code
* add simple test + set default http handler
* tweak CI + unittest
* add missing file
* rewrite http::trim in a simple way
* doc
2019-06-23 14:54:21 -07:00
Benjamin Sergeant
b26e9d0338
IXDNSLookup. Uses weak pointer + smart_ptr + shared_from_this instead of static sets + mutex to handle object going away before dns lookup has resolved
2019-06-19 00:43:59 -07:00
Benjamin Sergeant
9d70fb2b86
disable building ws on windows on travis
2019-06-10 22:01:19 -07:00
Benjamin Sergeant
03b5a57474
compile error in IXWebSocketMessageQTest
2019-06-09 12:25:36 -07:00
Benjamin Sergeant
f58cf4826a
fix IXWebSocketMessageQTest.cpp
2019-06-09 12:08:00 -07:00
Benjamin Sergeant
3e15840b14
- WebSocket::send() sends message in TEXT mode by default
...
- WebSocketMessage sets a new binary field, which tells whether the received incoming message is binary or text
2019-06-09 11:56:47 -07:00
Benjamin Sergeant
be93f7480a
WebSocket callback only take one object, a const ix::WebSocketMessagePtr& msg
2019-06-09 11:33:17 -07:00
Benjamin Sergeant
2e5f24f1f8
...
2019-06-09 10:22:27 -07:00
Benjamin Sergeant
051c34bc5d
Add test/compatibility folder with small servers and clients written in different languages and different libraries to test compatibility.
2019-06-08 09:46:26 -07:00
Benjamin Sergeant
076e8bf6a3
add an option to easily disable per message deflate compression
2019-06-06 13:48:53 -07:00
Benjamin Sergeant
78b3d7ff2d
Feature/http async ( #90 )
...
* unittest working / uses shared_ptr for a bunch of things 🗿
* fix command line tools
* fix ws + add doc
* add more logging
2019-06-05 17:04:24 -07:00
Benjamin Sergeant
539abe5151
HttpResponse is a struct, not a tuple 🉐
2019-06-03 22:12:52 -07:00
Benjamin Sergeant
6b933391e5
http client: stop hardcoding Accept header, and use a default value if one is passed in 👭
2019-06-03 14:02:54 -07:00
Benjamin Sergeant
1e2a5ee21d
Add simple HTTP and HTTPS client test ㊙️
2019-06-03 12:23:35 -07:00
Benjamin Sergeant
06cbebe22e
Feature/mbedtls ( #84 )
...
* try to import mbedtls and build it
* add stubs socket class
* some boilterplate, read and write function implemented
* more boilterplate / current error in handshake because no CA cert is setup
* add something so skip ca verification, can ws curl https://google.com !
* cleanup / close implemented
* tweak CMakefiles
* typo in include
* update readme
* disable unittests
2019-06-01 17:41:48 -07:00
Benjamin Sergeant
285386e47f
fix cobra to sentry + change ws docker file to use alpine (much smaller footprint)
2019-05-31 00:43:22 -07:00
Benjamin Sergeant
718154cfb4
enable IXWebSocketMessageQTest.cpp on mac and windows
2019-05-22 11:03:13 -07:00
Kumamon38
3365facf9f
Fix ping ( #80 )
...
* let poll do his job when closing
* try fix test
* try fix test
* Update IXWebSocketTransport.cpp
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* change state immediately, and send close frame after
* add immediate close test
* disable test for windows
* reenable ping / ping timeout tests
* add time to let windows close client
* reenable ping timeout test
* add 100ms more
* disable test for windows
2019-05-21 09:35:41 -07:00
Kumamon38
8a4826164b
fix close bug and tests : let poll do his job when closing ( #79 )
...
* let poll do his job when closing
* try fix test
* try fix test
* Update IXWebSocketTransport.cpp
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* add log to find issue on CI
* change state immediately, and send close frame after
* add immediate close test
* disable test for windows
2019-05-21 09:34:08 -07:00
Benjamin Sergeant
d6eabae4f0
one cpu on windows for executing tests
2019-05-17 15:45:31 -07:00
Benjamin Sergeant
6bd81bb92e
add back IXWebSocketMessageQueue, with its unittest disabled
2019-05-16 22:41:39 -07:00
Benjamin Sergeant
51fa147b99
Revert "Merge branch 'Dimon4eg-message-queue'"
...
This reverts commit 13fa325134
, reversing
changes made to aecd5e9c94
.
2019-05-16 22:15:17 -07:00
Benjamin Sergeant
8c1d66bcf3
refactor connect unittest so that it hits a local server instead of a remote server
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
fc0776303a
first socket test hit a local server instead of a remote server / this can help with a windows intermittent failure
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
dae21e7681
use a regular mutex instead of a recursive one + stop properly
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
d28437ecc0
adding logging to IXWebSocketTestConnectionDisconnection makes it fails reliably
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
f94c7cef59
-j option actually work ...
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
7734d63b1b
unittest / add options to set the number of jobs
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
f894504761
enum class HttpErrorCode derives from int
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
7aa9b4ee64
try to re-enable some tests
2019-05-16 19:23:32 -07:00