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
Benjamin Sergeant
a12250dc16
recursive mutex + enable test that was breaking on Ubuntu Xenial + gcc + tsan
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
d8fbe1a63e
comment failing test
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
91e1760719
comment failing test
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
0c9bcfb8ac
more protection against socket when closing
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
bd4c5037c7
fix compile errors with C++ enum class
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
ccaaedf38f
close and stop with code and reason + docker = ubuntu xenial
2019-05-16 19:23:32 -07:00
Dimon4eg
751f294164
add isEnabledAutomaticReconnection ( #75 )
...
* add isEnabledAutomaticReconnection
* test isEnabledAutomaticReconnection
* rename
2019-05-16 19:23:32 -07:00
Kumamon38
a220774a3b
add more time to let client close ( #73 )
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
66dae5840c
use spdlog for logging in the unittest
2019-05-16 19:23:32 -07:00
Benjamin Sergeant
89b9e6e531
fix inverted conditional
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
1023e925f6
travis cmake version on macOS does not know --parallel option
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
5d65365751
build in parallel + stop building linux + clang
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
ee64a6ec7e
disable ping tests for now as they are not super reliable
2019-05-16 19:23:31 -07:00
Benjamin Sergeant
9bc09105d7
Feature/windows ci ( #76 )
...
* close with params
* ...
* different generator
* core size = 1
* disable more tests to get something working on windows
* try to enable another test on windows
* enable all OS
* set proper version of linux
* another try
* try again with just env variables
* Revert "core size = 1"
This reverts commit 29af74bba6
.
* add windows and mac
* Revert "close with params"
This reverts commit 6bb00b6788
.
2019-05-16 19:23:31 -07:00
Kumamon38
4b96632a69
save timepoints after connect and not in contructor, adjusted tests ( #72 )
...
* save timepoints after connect and not in contructor, adjusted tests
* move call into setReadyState
* more time to detect client close in test
2019-05-16 19:20:29 -07:00
Dimon4eg
d8dc977fc1
Fix run.py ( #71 )
...
* fix run.py
* run.py: fix Windows support
* fix test listing
2019-05-16 19:20:29 -07:00
dimon4eg
f9ec89cf7a
update test
2019-05-12 19:57:31 +03:00
dimon4eg
b935bc526a
added message queue test
2019-05-12 01:50:41 +03:00
Dimon4eg
99a3bbc4f9
use C++11 enums ( #67 )
...
* use C++11 enums
* small rename
* update tests
* update tests
* update ws
* update ws
* update README.md
2019-05-11 14:22:06 -07:00
Benjamin Sergeant
80226cb7d3
add comment about why a unittest is disabled
2019-05-11 12:25:40 -07:00
Dimon4eg
2254421ead
minor improvements ( #66 )
...
* minor improvements
* fix build
* improve tests code
2019-05-11 12:20:58 -07:00
dimon4eg
080a6db657
uncomment test
2019-05-11 10:15:22 -07:00
Benjamin Sergeant
dc1f9fb243
use spdlog for logging in ws + unittest + remove un-needed mutex
2019-05-09 15:30:44 -07:00
Benjamin Sergeant
287537b34a
tweak unittest sleep duration to fix gcc+linux CI
2019-05-09 11:10:39 -07:00
Kumamon38
fe04014e1c
Fail test GCC TSAN ( #61 )
...
* test that fails on Run 8
* commented the failing test
2019-05-09 09:33:18 -07:00
Kumamon38
1eb98cc74f
fix ping, fix send frame close ( #49 )
...
* fix ping, fix send frame close
* fixes for data race on _closeCode etc. and fix test
* fixing one TC
* fix waiting forever if no time to change of readyState, and poll never end
* add 1005 code if no status code received
* fixes for 1005 code
* fix test issue
* fix macOS issue
* revert to master tests and renaming
2019-05-09 09:21:05 -07:00
Dimon4eg
979ff60a6b
Use LUrlParser to fix issue of Windows ( #53 )
...
LGTM
2019-05-06 14:45:02 -07:00
Dimon4eg
ea2e8f0787
added tests for IXUrlParser ( #52 )
...
* added tests for IXUrlParser
* add me as author
2019-05-06 12:47:15 -07:00
Dimon4eg
8ad47a315b
Fix windows ( #51 )
...
* More fixes for Windows
* fix tests for windows
* qf for linux
* clean up
2019-05-06 12:22:57 -07:00
Dimon4eg
4d83dab4f3
Fix for windows ( #50 )
2019-05-06 09:13:42 -07:00
Benjamin Sergeant
e15700235e
enable tsan on travis for all configs
2019-04-29 09:11:16 -07:00
Benjamin Sergeant
1c7c07e128
initialize netSystem (aka winsock on windows) explicitely
2019-04-25 16:38:15 -07:00
Dimon4eg
4fbc4e3be9
Fixes for windows ( #45 )
...
* init Net system on Windows
* propagate DNS error
* Add zlib 1.2.11 sources
* link zlib statically for windows
* remove not implemented function declaration
* fix connect on Windows
2019-04-25 16:26:53 -07:00
Benjamin Sergeant
f6ae490723
Fix data race in WebSocket where _url is accessed without protection in setThreadName
...
Also fix with url usage + docker container uses fedora and works with tsan
2019-04-25 16:11:46 -07:00
Benjamin Sergeant
7f96c43d6f
disable failing unittest temporarily
2019-04-25 09:04:35 -07:00
Benjamin Sergeant
82b528ee30
tsan fix for the IXWebSocketServerTest test, where there's a data race for connectionId
2019-04-24 22:11:14 -07:00
Benjamin Sergeant
7df7453365
indentation / comestic changes
2019-04-19 16:57:38 -07:00
Benjamin Sergeant
3d8297247e
(test) / use a random number generator to get a free port, when the bind to port 0 strategy does not work out
2019-04-19 16:50:04 -07:00
Benjamin Sergeant
9131cb4790
default sanitizer choice
2019-04-19 15:13:59 -07:00
Benjamin Sergeant
3b616676c6
disable clang sanitizers in CI on any platforms but Darwin
2019-04-19 15:09:01 -07:00
Benjamin Sergeant
98b6c9b89e
(unittest) upgrade to Catch2 version 2.7.1
2019-04-19 14:41:03 -07:00
Benjamin Sergeant
419c395966
uses sh syntax to capture output
2019-04-19 12:40:39 -07:00
Benjamin Sergeant
2962ce9a0f
(ci) verbose mode to figure out Linux build problems on travis
2019-04-19 12:10:43 -07:00
Benjamin Sergeant
c96398aa0c
Windows nmake does not have a -j flag
2019-04-19 11:58:02 -07:00
Benjamin Sergeant
e68ce1d680
Windows + unittest python script fixes
2019-04-19 11:54:58 -07:00
Benjamin Sergeant
7e2c1f274b
(test) build dir is an absolute path
2019-04-19 11:45:02 -07:00
Benjamin Sergeant
b74bccee0a
fix test execution on travis which was broken / unify running test locally and on travis
2019-04-19 09:46:17 -07:00
Kumamon38
c3431f19bf
Real ping ( #32 )
...
* close method change and fix code
* missing mutex
* wip
* renaming and fixes
* renaming, fixes
* added enablePong/disablePong, add tests
* added new test cases
* add 1 test case
* fix gcd name to greatestCommonDivisor
* move ping and ping timeout checks into socket poll, local var in test cases and indent fixes
* indent issue
2019-04-18 09:24:16 -07:00
Benjamin Sergeant
65b11cb968
docker container works with SSL + fix compiler warnings in statsd third_party module
2019-04-18 09:11:12 -07:00
Dimon4eg
401fc39879
fix windows build ( #29 )
...
* fix windows build
* fix for Unix
* Fix build if TLS is OFF
* add OpenSSL req to ws
* Fix build on Mac
* fix tests for windows
2019-04-16 08:51:57 -07:00
Benjamin Sergeant
56b19fa2b0
linux ci tentative fix
2019-04-03 22:02:10 -07:00
Benjamin Sergeant
fe38dab405
better unittest runner / can run through lldb and produce a junit XML artifact
2019-03-29 15:54:05 -07:00
Benjamin Sergeant
804ec9246f
(server) fix masking bug
2019-03-22 15:33:04 -07:00
Benjamin Sergeant
0366d1afb9
remove printf + unittest fix
2019-03-22 09:56:28 -07:00
Benjamin Sergeant
2358b3ff26
minor cleanup
2019-03-21 13:51:25 -07:00
Benjamin Sergeant
5b6fdb6526
cleanup, remove dead method
2019-03-21 10:06:59 -07:00
Benjamin Sergeant
eac611ab1e
Feature/connection state ( #25 )
...
* (cmake) add a warning about 32/64 conversion problems.
* fix typo
* New connection state for server code + fix OpenSSL double init bug
* update README
2019-03-20 18:34:24 -07:00
Michael Lu
663299c91e
Fixed heartbeat typos ( #22 )
2019-03-19 21:31:43 -07:00
Benjamin Sergeant
68e397ab34
use pipe to abort select on Linux as well as macOS
2019-03-15 17:46:40 -07:00
Benjamin Sergeant
6ff8c6e7f3
unittest fix
2019-03-14 18:58:16 -07:00
Benjamin Sergeant
b91dc77d6f
select interrupt cleanup
2019-03-14 18:37:38 -07:00
Benjamin Sergeant
ded03ed743
do not busy loop while sending
2019-03-14 14:48:08 -07:00
Benjamin Sergeant
08c2cdbf1d
send can fail silently when sending would block (EWOULDBLOCK return for send) ( #18 )
...
* try to use a pipe for communication
* flush send buffer on the background thread
* cleanup
* linux fix / linux still use event fd for now
* cleanup
2019-03-13 23:09:45 -07:00
Benjamin Sergeant
f2778c0729
debian 9 unittest build fix
2019-03-10 16:07:48 -07:00
Benjamin Sergeant
03ca73658c
asan test suite fix
2019-03-09 10:45:40 -08:00
Benjamin Sergeant
1da5f6c30c
unittest + warning fix
2019-03-09 10:37:14 -08:00
Benjamin Sergeant
bee8a99a34
add ability to run with asan on macOS
2019-03-05 17:07:28 -08:00
Benjamin Sergeant
2d696b6806
Feature/ws cli ( #15 )
...
* New command line tool for transfering files / still very beta.
* add readme
* use cli11 for argument parsing
* json -> msgpack
* stop using base64 and use binary which can be stored in message pack
2019-02-21 21:24:53 -08:00
Benjamin Sergeant
932bb732e0
Feature/send large message ( #14 )
...
* introduce send fragment
* can pass a fin frame
* can send messages which are a perfect multiple of the chunk size
* set fin only for last fragment
* cleanup
* last fragment should be of type CONTINUATION
* Add simple send and receive programs
* speedups receiving + better way to wait for thing
* receive speedup by using linked list of chunks instead of large array
* document bug
* use chunks to receive data
* trailing spaces
2019-02-20 18:59:07 -08:00
Benjamin Sergeant
726e66ca66
unittest for sending large messages
2019-02-16 10:32:02 -08:00
Benjamin Sergeant
eb54e7f1ae
get free port that can be used by non root users (> 1024)
2019-01-28 15:24:19 -08:00
Benjamin Sergeant
8983dd97a1
use dynamically generated port number to configure servers in unittest
2019-01-28 15:24:19 -08:00
Benjamin Sergeant
b9c49c38ed
linux fix
2019-01-26 20:57:48 -08:00
Benjamin Sergeant
885d245afb
heartbeat correct
2019-01-25 16:11:39 -08:00
Benjamin Sergeant
75d01c0c11
close server socket on exit
2019-01-24 21:16:32 -08:00
Benjamin Sergeant
ea219e3ddd
unittest fix
2019-01-24 19:54:10 -08:00
Benjamin Sergeant
e9cd54b2f4
add an heartbeat test
2019-01-24 18:50:07 -08:00
Benjamin Sergeant
a8b6573f96
hearbeat
2019-01-24 12:42:49 -08:00
Benjamin Sergeant
a0f15bfb56
C++14 + use make_unique and make_shared to make shared pointers
2019-01-11 21:25:06 -08:00
Benjamin Sergeant
5ab61b46b5
Revert "Revert "try asan on Linux"" [Back to asan on Linux]
...
This reverts commit 02a704a8c7
.
2019-01-07 21:13:48 -08:00
Benjamin Sergeant
d00960b33f
Revert "try asan on Linux"
...
This reverts commit dd2360ed70
.
2019-01-07 20:47:25 -08:00
Benjamin Sergeant
4a5cfac2ea
try asan on Linux
2019-01-07 18:29:44 -08:00
Benjamin Sergeant
1a8b870a9e
fix simple compile error in test/IXTest.h
2019-01-07 18:08:11 -08:00
Benjamin Sergeant
1cf8b7e952
add a travis file
2019-01-07 18:04:28 -08:00
Benjamin Sergeant
ea75432f12
update test remote ws url
2019-01-07 11:28:53 -08:00