[Libwebsockets] Autobahn test suite

Alexandre Erwin Ittner alexandre at ittner.com.br
Sun Jan 19 17:52:03 CET 2014


"Andy Green (林安廸)" <andy at warmcat.com> wrote

> Can you provide the errors first?

Of course. I put a complete test report in
https://drive.google.com/file/d/0By-AjkFNTUHaUDBmNDRTSURMT1E/edit?usp=sharing

and the code to run it in
https://github.com/ittner/libwebsockets/tree/experimental-autobahn-tests

I made some changes to the echo server to run these tests and saved it in
the file test-server/test-massenkarambolage.c -- it is already in the
build system tom make compilation easier.

The test suite which causes the problems is in
test-server/test-massenkarambolage.json. Notice that only the tests
concerning binary messages are enabled, as it's the only kind of
message I plan to use.



One of the problems I got is test case 1.2.6 -- the client sends a 65 KB
message and expects it back in a single frame, which became fragmented. I
suppose I'm not setting the size of some internal buffer correctly so
libwebsockets can't hold enough data before calling the callback
LWS_CALLBACK_RECEIVE. But I also failed to find out how to do it from the
API.

I also got another set of errors regarding the handling of reserved bits
and protocol opcodes  (test cases 3.* and 4.*), but I'm yet to figure out
how to set this and what I can change in my code.


The fragmentation errors happen in test cases 5.* -- since all them
happen in the libwebsocket internals, I pretty sure there is some
handshake option I failed to setup. Something related to the protocol
version negotiation, may be?



As an unrelated change, I updated the .gitignore to hide some generated
files. Feel free to pull the branch
https://github.com/ittner/libwebsockets/tree/update-git-ignore if needed.



 
> It'll be surprising if there are real problems with fragmentation since 
> we provide "fraggle" test app to stress it.

Iep. I have a strong suspicion I'm forgetting to set something up, but I
could not figure out what. 



Thanks in advance,

-- 
Alexandre Erwin Ittner - alexandre at ittner.com.br
OpenPGP pubkey 0x0041A1FB @ http://pgp.mit.edu



More information about the Libwebsockets mailing list