mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-12 06:08:24 +02:00
Automatic update from web-platform-testsMerge pull request #9606 from gsnedders/update_pywebsockets Update pywebsockets wpt-commits: 38811892842f1db4a029ee0d4d42764c5e12ae6d wpt-pr: 9606 wpt-commits: 38811892842f1db4a029ee0d4d42764c5e12ae6d wpt-pr: 9606 --HG-- rename : testing/web-platform/tests/tools/pywebsocket/src/COPYING => testing/web-platform/tests/tools/pywebsocket/LICENSE rename : testing/web-platform/tests/tools/pywebsocket/src/MANIFEST.in => testing/web-platform/tests/tools/pywebsocket/MANIFEST.in rename : testing/web-platform/tests/tools/pywebsocket/src/README => testing/web-platform/tests/tools/pywebsocket/README rename : testing/web-platform/tests/tools/pywebsocket/src/example/abort_handshake_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/abort_handshake_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/abort_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/abort_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/arraybuffer_benchmark.html => testing/web-platform/tests/tools/pywebsocket/example/arraybuffer_benchmark.html rename : testing/web-platform/tests/tools/pywebsocket/src/example/bench_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/bench_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/benchmark_helper_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/benchmark_helper_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/close_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/close_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/console.html => testing/web-platform/tests/tools/pywebsocket/example/console.html rename : testing/web-platform/tests/tools/pywebsocket/src/example/cookie_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/cookie_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/echo_client.py => testing/web-platform/tests/tools/pywebsocket/example/echo_client.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/echo_noext_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/echo_noext_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/echo_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/echo_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/eventsource.cgi => testing/web-platform/tests/tools/pywebsocket/example/eventsource.cgi rename : testing/web-platform/tests/tools/pywebsocket/src/example/eventsource.html => testing/web-platform/tests/tools/pywebsocket/example/eventsource.html rename : testing/web-platform/tests/tools/pywebsocket/src/example/handler_map.txt => testing/web-platform/tests/tools/pywebsocket/example/handler_map.txt rename : testing/web-platform/tests/tools/pywebsocket/src/example/hsts_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/hsts_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/internal_error_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/internal_error_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/origin_check_wsh.py => testing/web-platform/tests/tools/pywebsocket/example/origin_check_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/example/pywebsocket.conf => testing/web-platform/tests/tools/pywebsocket/example/pywebsocket.conf rename : testing/web-platform/tests/tools/pywebsocket/src/example/special_headers.cgi => testing/web-platform/tests/tools/pywebsocket/example/special_headers.cgi rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/__init__.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/__init__.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/_stream_base.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/_stream_base.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/_stream_hixie75.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/_stream_hixie75.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/dispatch.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/dispatch.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/fast_masking.i => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/fast_masking.i rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/handshake/__init__.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/handshake/__init__.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/handshake/_base.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/handshake/_base.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/handshake/hybi.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/handshake/hybi.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/handshake/hybi00.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/handshake/hybi00.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/http_header_util.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/http_header_util.py rename : testing/web-platform/tests/tools/pywebsocket/src/mod_pywebsocket/msgutil.py => testing/web-platform/tests/tools/pywebsocket/mod_pywebsocket/msgutil.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/cert/cacert.pem => testing/web-platform/tests/tools/pywebsocket/test/cert/cacert.pem rename : testing/web-platform/tests/tools/pywebsocket/src/test/cert/cert.pem => testing/web-platform/tests/tools/pywebsocket/test/cert/cert.pem rename : testing/web-platform/tests/tools/pywebsocket/src/test/cert/client_cert.p12 => testing/web-platform/tests/tools/pywebsocket/test/cert/client_cert.p12 rename : testing/web-platform/tests/tools/pywebsocket/src/test/cert/key.pem => testing/web-platform/tests/tools/pywebsocket/test/cert/key.pem rename : testing/web-platform/tests/tools/pywebsocket/src/test/client_for_testing.py => testing/web-platform/tests/tools/pywebsocket/test/client_for_testing.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/endtoend_with_external_server.py => testing/web-platform/tests/tools/pywebsocket/test/endtoend_with_external_server.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/mock.py => testing/web-platform/tests/tools/pywebsocket/test/mock.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/mux_client_for_testing.py => testing/web-platform/tests/tools/pywebsocket/test/mux_client_for_testing.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/run_all.py => testing/web-platform/tests/tools/pywebsocket/test/run_all.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/set_sys_path.py => testing/web-platform/tests/tools/pywebsocket/test/set_sys_path.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_dispatch.py => testing/web-platform/tests/tools/pywebsocket/test/test_dispatch.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_endtoend.py => testing/web-platform/tests/tools/pywebsocket/test/test_endtoend.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_handshake.py => testing/web-platform/tests/tools/pywebsocket/test/test_handshake.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_handshake_hybi00.py => testing/web-platform/tests/tools/pywebsocket/test/test_handshake_hybi00.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_http_header_util.py => testing/web-platform/tests/tools/pywebsocket/test/test_http_header_util.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_memorizingfile.py => testing/web-platform/tests/tools/pywebsocket/test/test_memorizingfile.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_mock.py => testing/web-platform/tests/tools/pywebsocket/test/test_mock.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_stream.py => testing/web-platform/tests/tools/pywebsocket/test/test_stream.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_stream_hixie75.py => testing/web-platform/tests/tools/pywebsocket/test/test_stream_hixie75.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/test_util.py => testing/web-platform/tests/tools/pywebsocket/test/test_util.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/README => testing/web-platform/tests/tools/pywebsocket/test/testdata/README rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/abort_by_user_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/abort_by_user_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/blank_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/blank_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/origin_check_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/origin_check_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/sub/exception_in_transfer_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/sub/exception_in_transfer_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/sub/no_wsh_at_the_end.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/sub/no_wsh_at_the_end.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/sub/non_callable_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/sub/non_callable_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/sub/plain_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/sub/plain_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py => testing/web-platform/tests/tools/pywebsocket/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py rename : testing/web-platform/tests/tools/pywebsocket/src/test/testdata/hello.pl => testing/web-platform/tests/tools/pywebsocket/test/testdata/hello.pl
175 lines
5.4 KiB
HTML
175 lines
5.4 KiB
HTML
<!--
|
|
Copyright 2013, Google Inc.
|
|
All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions are
|
|
met:
|
|
|
|
* Redistributions of source code must retain the above copyright
|
|
notice, this list of conditions and the following disclaimer.
|
|
* Redistributions in binary form must reproduce the above
|
|
copyright notice, this list of conditions and the following disclaimer
|
|
in the documentation and/or other materials provided with the
|
|
distribution.
|
|
* Neither the name of Google Inc. nor the names of its
|
|
contributors may be used to endorse or promote products derived from
|
|
this software without specific prior written permission.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
-->
|
|
|
|
<html>
|
|
<head>
|
|
<title>WebSocket benchmark</title>
|
|
<script src="util_main.js"></script>
|
|
<script src="util.js"></script>
|
|
<script src="benchmark.js"></script>
|
|
<script>
|
|
var addressBox = null;
|
|
|
|
function getConfig() {
|
|
return {
|
|
prefixUrl: addressBox.value,
|
|
printSize: getBoolFromCheckBox('printsize'),
|
|
numSockets: getIntFromInput('numsockets'),
|
|
// Initial size of messages.
|
|
numIterations: getIntFromInput('numiterations'),
|
|
numWarmUpIterations: getIntFromInput('numwarmupiterations'),
|
|
startSize: getIntFromInput('startsize'),
|
|
// Stops benchmark when the size of message exceeds this threshold.
|
|
stopThreshold: getIntFromInput('stopthreshold'),
|
|
// If the size of each message is small, send/receive multiple messages
|
|
// until the sum of sizes reaches this threshold.
|
|
minTotal: getIntFromInput('mintotal'),
|
|
multipliers: getFloatArrayFromInput('multipliers'),
|
|
verifyData: getBoolFromCheckBox('verifydata'),
|
|
addToLog: addToLog,
|
|
addToSummary: addToSummary,
|
|
measureValue: measureValue,
|
|
notifyAbort: notifyAbort
|
|
};
|
|
}
|
|
|
|
function onSendBenchmark() {
|
|
var config = getConfig();
|
|
doAction(config, getBoolFromCheckBox('worker'), 'sendBenchmark');
|
|
}
|
|
|
|
function onReceiveBenchmark() {
|
|
var config = getConfig();
|
|
doAction(config, getBoolFromCheckBox('worker'), 'receiveBenchmark');
|
|
}
|
|
|
|
function onBatchBenchmark() {
|
|
var config = getConfig();
|
|
doAction(config, getBoolFromCheckBox('worker'), 'batchBenchmark');
|
|
}
|
|
|
|
function onStop() {
|
|
var config = getConfig();
|
|
doAction(config, getBoolFromCheckBox('worker'), 'stop');
|
|
}
|
|
|
|
function init() {
|
|
addressBox = document.getElementById('address');
|
|
logBox = document.getElementById('log');
|
|
|
|
summaryBox = document.getElementById('summary');
|
|
|
|
var scheme = window.location.protocol == 'https:' ? 'wss://' : 'ws://';
|
|
var defaultAddress = scheme + window.location.host + '/benchmark_helper';
|
|
|
|
addressBox.value = defaultAddress;
|
|
|
|
addToLog(window.navigator.userAgent.toLowerCase());
|
|
addToSummary(window.navigator.userAgent.toLowerCase());
|
|
|
|
if (!('WebSocket' in window)) {
|
|
addToLog('WebSocket is not available');
|
|
}
|
|
|
|
initWorker('WebSocket', '');
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="init()">
|
|
|
|
<div id="benchmark_div">
|
|
url <input type="text" id="address" size="40">
|
|
<input type="button" value="send" onclick="onSendBenchmark()">
|
|
<input type="button" value="receive" onclick="onReceiveBenchmark()">
|
|
<input type="button" value="batch" onclick="onBatchBenchmark()">
|
|
<input type="button" value="stop" onclick="onStop()">
|
|
|
|
<br/>
|
|
|
|
<input type="checkbox" id="printsize" checked>
|
|
<label for="printsize">Print size and time per message</label>
|
|
<input type="checkbox" id="verifydata" checked>
|
|
<label for="verifydata">Verify data</label>
|
|
<input type="checkbox" id="worker">
|
|
<label for="worker">Run on worker</label>
|
|
|
|
<br/>
|
|
|
|
Parameters:
|
|
|
|
<br/>
|
|
|
|
<table>
|
|
<tr>
|
|
<td>Num sockets</td>
|
|
<td><input type="text" id="numsockets" value="1"></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Number of iterations</td>
|
|
<td><input type="text" id="numiterations" value="1"></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Number of warm-up iterations</td>
|
|
<td><input type="text" id="numwarmupiterations" value="0"></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Start size</td>
|
|
<td><input type="text" id="startsize" value="10240"></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Stop threshold</td>
|
|
<td><input type="text" id="stopthreshold" value="102400000"></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Minimum total</td>
|
|
<td><input type="text" id="mintotal" value="102400000"></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Multipliers</td>
|
|
<td><input type="text" id="multipliers" value="5, 2"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="log_div">
|
|
<textarea
|
|
id="log" rows="20" style="width: 100%" readonly></textarea>
|
|
</div>
|
|
<div id="summary_div">
|
|
Summary
|
|
<textarea
|
|
id="summary" rows="20" style="width: 100%" readonly></textarea>
|
|
</div>
|
|
|
|
Note: Effect of RTT is not eliminated.
|
|
|
|
</body>
|
|
</html>
|