This directory contains autotests and manual tests for the Qt WebSockets
module.

In addition, Autobahn|Testsuite, a standard test suite for WebSocket
Protocol (RFC 6455), can be used for testing the conformance of Qt
WebSockets.

http://autobahn.ws/testsuite/

Refer to Autobahn|Testsuite installation documentation at
http://autobahn.ws/testsuite/installation.html

//! [testsuite]
\section1 Testing Qt WebSockets with Autobahn|Testsuite


\section2 wstest - fuzzingserver mode

\code
    cd your_build_dir/tests/manual/compliance
    qmake your_src_dir/tests/manual/compliance/compliance.pro
    make

    cd ~
    wstest -m fuzzingserver
\endcode

Then, in another terminal:

\code
    cd your_build_dir/tests/manual/compliance
    ./tst_compliance
\endcode

Test results will be generated under ~/reports/clients directory.
Point your browser to ~/reports/clients/index.html.


\section2 wstest - fuzzingclient mode

\code
    cd your_build_dir/examples/websockets/echoserver
    qmake your_src_dir/examples/websockets/echoserver/echoserver.pro
    make

    ./echoserver -p 9001
\endcode

Then, in another terminal:

\code
    cd ~
    wstest -m fuzzingclient
\endcode

Test results will be generated under ~/reports/servers directory.
Point your browser to ~/reports/servers/index.html.
//! [testsuite]
