<script>
if (window.testRunner)
    testRunner.dumpAsText();
</script>
<p>FAILED: The WebSocket server failed to start so the test could not be run.</p>
