There should be no authentication prompt displayed, since this is a cross-origin request.
In automatic mode, the test relies on logging of authentication sheets.
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

var r = new XMLHttpRequest;
r.open("GET", "http://localhost:8000/xmlhttprequest/resources/basic-auth/basic-auth.py?uid=41531", true);
r.send();
r.onload = function() {
    alert("FAIL: should have failed due to lack of cross origin headers");
    if (window.testRunner)
        testRunner.notifyDone();
}
r.onerror = function() {
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
