Dimon4eg
a64b7b0c4a
minor improvements ( #66 )
...
* minor improvements
* fix build
* improve tests code
2019-05-11 12:20:58 -07:00
dimon4eg
5eb23c9764
uncomment test
2019-05-11 10:15:22 -07:00
Benjamin Sergeant
c7f0bf3d64
use spdlog for logging in ws + unittest + remove un-needed mutex
2019-05-09 15:30:44 -07:00
Benjamin Sergeant
9441095637
tweak unittest sleep duration to fix gcc+linux CI
2019-05-09 11:10:39 -07:00
Kumamon38
f82d38f758
Fail test GCC TSAN ( #61 )
...
* test that fails on Run 8
* commented the failing test
2019-05-09 09:33:18 -07:00
Kumamon38
cb1d1bfd85
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
c65cfd3d26
Use LUrlParser to fix issue of Windows ( #53 )
...
LGTM
2019-05-06 14:45:02 -07:00
Dimon4eg
8955462f73
added tests for IXUrlParser ( #52 )
...
* added tests for IXUrlParser
* add me as author
2019-05-06 12:47:15 -07:00
Dimon4eg
78198a0147
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
753fc845ac
Fix for windows ( #50 )
2019-05-06 09:13:42 -07:00
Benjamin Sergeant
8e4cf74974
enable tsan on travis for all configs
2019-04-29 09:11:16 -07:00
Benjamin Sergeant
0a7157655b
initialize netSystem (aka winsock on windows) explicitely
2019-04-25 16:38:15 -07:00
Dimon4eg
58d65926bb
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
9367a1feff
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
d37ed300e2
disable failing unittest temporarily
2019-04-25 09:04:35 -07:00
Benjamin Sergeant
d036ad7138
tsan fix for the IXWebSocketServerTest test, where there's a data race for connectionId
2019-04-24 22:11:14 -07:00
Benjamin Sergeant
d48bf9249b
indentation / comestic changes
2019-04-19 16:57:38 -07:00
Benjamin Sergeant
0dfc66f1c7
(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
b60e5aaf1f
default sanitizer choice
2019-04-19 15:13:59 -07:00
Benjamin Sergeant
da67f4cb9a
disable clang sanitizers in CI on any platforms but Darwin
2019-04-19 15:09:01 -07:00
Benjamin Sergeant
f83263d6a1
(unittest) upgrade to Catch2 version 2.7.1
2019-04-19 14:41:03 -07:00
Benjamin Sergeant
0ba2e2ce96
uses sh syntax to capture output
2019-04-19 12:40:39 -07:00
Benjamin Sergeant
4a91ad80c8
(ci) verbose mode to figure out Linux build problems on travis
2019-04-19 12:10:43 -07:00
Benjamin Sergeant
4cc715b13d
Windows nmake does not have a -j flag
2019-04-19 11:58:02 -07:00
Benjamin Sergeant
0dfd7cd543
Windows + unittest python script fixes
2019-04-19 11:54:58 -07:00
Benjamin Sergeant
65db8c9b00
(test) build dir is an absolute path
2019-04-19 11:45:02 -07:00
Benjamin Sergeant
e433e8b5e9
fix test execution on travis which was broken / unify running test locally and on travis
2019-04-19 09:46:17 -07:00
Kumamon38
d7595b0dd0
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
f0375e59fa
docker container works with SSL + fix compiler warnings in statsd third_party module
2019-04-18 09:11:12 -07:00
Dimon4eg
fbb7c012a3
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
6e3dff149a
linux ci tentative fix
2019-04-03 22:02:10 -07:00
Benjamin Sergeant
1bacbe38f4
better unittest runner / can run through lldb and produce a junit XML artifact
2019-03-29 15:54:05 -07:00
Benjamin Sergeant
1e96edc293
(server) fix masking bug
2019-03-22 15:33:04 -07:00
Benjamin Sergeant
bc89580dfe
remove printf + unittest fix
2019-03-22 09:56:28 -07:00
Benjamin Sergeant
94604fad61
minor cleanup
2019-03-21 13:51:25 -07:00
Benjamin Sergeant
9ed961ec06
cleanup, remove dead method
2019-03-21 10:06:59 -07:00
Benjamin Sergeant
ee25bd0f92
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
afe8b966ad
Fixed heartbeat typos ( #22 )
2019-03-19 21:31:43 -07:00
Benjamin Sergeant
c4afb84f6e
use pipe to abort select on Linux as well as macOS
2019-03-15 17:46:40 -07:00
Benjamin Sergeant
6b8337596f
unittest fix
2019-03-14 18:58:16 -07:00
Benjamin Sergeant
4f2babaf54
select interrupt cleanup
2019-03-14 18:37:38 -07:00
Benjamin Sergeant
d6b49b54d4
do not busy loop while sending
2019-03-14 14:48:08 -07:00
Benjamin Sergeant
2750df8aa7
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
e46eb8aa49
debian 9 unittest build fix
2019-03-10 16:07:48 -07:00
Benjamin Sergeant
2c4862e0f1
asan test suite fix
2019-03-09 10:45:40 -08:00
Benjamin Sergeant
fd69efa45c
unittest + warning fix
2019-03-09 10:37:14 -08:00
Benjamin Sergeant
e8aa15917f
add ability to run with asan on macOS
2019-03-05 17:07:28 -08:00
Benjamin Sergeant
73d7280723
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
3a77e96a05
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
3f8027b65c
unittest for sending large messages
2019-02-16 10:32:02 -08:00
Benjamin Sergeant
6a23b8530f
get free port that can be used by non root users (> 1024)
2019-01-28 15:24:19 -08:00
Benjamin Sergeant
ae841af91a
use dynamically generated port number to configure servers in unittest
2019-01-28 15:24:19 -08:00
Benjamin Sergeant
1ea5db6110
linux fix
2019-01-26 20:57:48 -08:00
Benjamin Sergeant
fa7ef06f4d
heartbeat correct
2019-01-25 16:11:39 -08:00
Benjamin Sergeant
3c9ec0aed0
close server socket on exit
2019-01-24 21:16:32 -08:00
Benjamin Sergeant
c665d65cba
unittest fix
2019-01-24 19:54:10 -08:00
Benjamin Sergeant
5d4e897cc4
add an heartbeat test
2019-01-24 18:50:07 -08:00
Benjamin Sergeant
05033714bf
hearbeat
2019-01-24 12:42:49 -08:00
Benjamin Sergeant
79dd766fab
C++14 + use make_unique and make_shared to make shared pointers
2019-01-11 21:25:06 -08:00
Benjamin Sergeant
6102f81710
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
02a704a8c7
Revert "try asan on Linux"
...
This reverts commit dd2360ed70
.
2019-01-07 20:47:25 -08:00
Benjamin Sergeant
dd2360ed70
try asan on Linux
2019-01-07 18:29:44 -08:00
Benjamin Sergeant
6c54b07d92
fix simple compile error in test/IXTest.h
2019-01-07 18:08:11 -08:00
Benjamin Sergeant
12d1c5d956
add a travis file
2019-01-07 18:04:28 -08:00
Benjamin Sergeant
e9a4bd5617
update test remote ws url
2019-01-07 11:28:53 -08:00
Benjamin Sergeant
1fa75d7fb2
check select errors better
2019-01-07 11:18:00 -08:00
Benjamin Sergeant
39140ef98c
sanitizer cmake stuff
2019-01-06 18:54:16 -08:00
Benjamin Sergeant
f4f30686c5
add new unittest
2019-01-06 15:14:13 -08:00
Benjamin Sergeant
e80def0cd0
add log
2019-01-05 21:16:13 -08:00
Benjamin Sergeant
cc8a9e883e
unittest + compiler warnings
2019-01-05 21:10:08 -08:00
Benjamin Sergeant
06d2b68696
header refactoring
2019-01-05 20:38:43 -08:00
Benjamin Sergeant
5b1c97b774
SocketTest / more debug info
2019-01-05 17:10:01 -08:00
Benjamin Sergeant
9a37fd56d1
windows fix
2019-01-05 17:02:39 -08:00
Benjamin Sergeant
7ecaff8c5d
test failure is not noticed
2019-01-05 16:30:22 -08:00
Benjamin Sergeant
59cea0372b
add dns lookup test
2019-01-05 14:40:17 -08:00
Benjamin Sergeant
78d88a8520
openssl cleanup
2019-01-05 11:42:25 -08:00
Benjamin Sergeant
46d00360a8
unittest on appveyor
2019-01-04 17:28:13 -08:00
Benjamin Sergeant
9bc2e95196
capture path/uri when connecting, and pass it back through callbacks in the openInfo member
2019-01-03 17:44:10 -08:00
Benjamin Sergeant
8622ea5cb2
correct validation of the request (request line + headers)
2019-01-03 13:41:06 -08:00
Benjamin Sergeant
df6a17dcc2
rename test file
2019-01-02 21:59:06 -08:00
Benjamin Sergeant
474985e784
split handshake code into its own files, so that Transport file is less massive
2019-01-02 20:07:54 -08:00
Benjamin Sergeant
cb904416c3
server unittest for validating client request / new timeout cancellation handling (need refactoring)
2019-01-02 16:08:32 -08:00
Benjamin Sergeant
6bfabd5493
use select to detect new incoming connections
2019-01-01 22:21:07 -08:00
Benjamin Sergeant
0b90f7df1b
add a way to run in blocking more, which is useful for server mode to have N*thread instead of 2N*thread for N connections
2019-01-01 21:25:15 -08:00
Benjamin Sergeant
a11952fe22
gitignore stuff
2019-01-01 17:14:31 -08:00
Benjamin Sergeant
06b9b2e649
linux fix + unittest works with Linux
2019-01-01 17:13:26 -08:00
Benjamin Sergeant
dcfdcc3e1b
unittest starts a server
2019-01-01 16:34:05 -08:00
Benjamin Sergeant
9cc324d78d
add simple unittest
2018-12-29 18:34:08 -08:00