Skip to content

Commit

Permalink
Try to make serialize a connection test a little more stable on platf…
Browse files Browse the repository at this point in the history
…orms with low resolution timers
  • Loading branch information
jgraham committed Jan 9, 2015
1 parent 6f32b2e commit efa9f74
Showing 1 changed file with 26 additions and 27 deletions.
53 changes: 26 additions & 27 deletions websockets/constructor/014.html
Expand Up @@ -2,34 +2,33 @@
<title>WebSockets: serialize establish a connection</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../constants.js?pipe=sub></script>
<script src="../constants.js?pipe=sub"></script>
<div id=log></div>
<script>

async_test(function(t) {
var ws = [];
var events = 0;
var prevDate;
var date;
for (var i = 0; i < 4; ++i) {
ws[i] = new WebSocket(SCHEME_DOMAIN_PORT+'/handshake_sleep_1');
ws[i].id = i;
ws[i].onopen = t.step_func(function(e) {
events++;
date = new Date();
if (prevDate)
assert_greater_than(date-prevDate, 998);
prevDate = date;
this.onopen = t.step_func(function() {assert_unreached()});
})
ws[i].onclose = t.step_func(function(e) {
events++;
if (events == 8) {
t.done();
}
this.onclose = t.step_func(function() {assert_unreached()});
});
ws[i].onerror = ws[i].onmessage = t.step_func(function() {assert_unreached()});
var ws = [];
var events = 0;
var prevDate;
var date;
for (var i = 0; i < 4; ++i) {
ws[i] = new WebSocket(SCHEME_DOMAIN_PORT+'/handshake_sleep_1');
ws[i].id = i;
ws[i].onopen = function(e) {
events++;
date = new Date();
if (prevDate) {
//Should really be > 1000, but we allow for 32ms differences from timer resolution
assert_greater_than(date-prevDate, 968);
}
prevDate = date;
this.onopen = function() {assert_unreached()};
}
}, null, {timeout:10000});
ws[i].onclose = function(e) {
events++;
if (events == 8) {
done();
}
this.onclose = function() {assert_unreached()};
};
ws[i].onerror = ws[i].onmessage = function() {assert_unreached()};
}
</script>

0 comments on commit efa9f74

Please sign in to comment.