actually call test_wrongpw1, and shut down the HTTP server before the scope

goes away
This commit is contained in:
cbiesinger%web.de 2006-08-02 02:02:37 +00:00
parent 73d63ecdde
commit f9a96047a4
6 changed files with 51 additions and 7 deletions

View File

@ -127,6 +127,7 @@ nsTestServ.prototype =
onStopListening: function(serverSocket, status) onStopListening: function(serverSocket, status)
{ {
dump(">>> shutting down server socket\n"); dump(">>> shutting down server socket\n");
this.shutdown = true;
}, },
startListening: function() startListening: function()
@ -137,6 +138,21 @@ nsTestServ.prototype =
socket.init(this.port, true /* loopback only */, 5); socket.init(this.port, true /* loopback only */, 5);
dump(">>> listening on port "+socket.port+"\n"); dump(">>> listening on port "+socket.port+"\n");
socket.asyncListen(this); socket.asyncListen(this);
this.socket = socket;
},
// Shuts down the server. Note that this processes events.
stopListening: function()
{
if (!this.socket)
return;
this.socket.close();
this.socket = null;
var thr = Components.classes["@mozilla.org/thread-manager;1"]
.getService().currentThread;
while (!this.shutdown) {
thr.processNextEvent(true);
}
}, },
parseInput: function(input) parseInput: function(input)
@ -177,11 +193,17 @@ nsTestServ.prototype =
return [400]; return [400];
return [request[1], req_head]; return [request[1], req_head];
} },
socket: null,
shutdown: false
} }
function start_server(port) { function start_server(port) {
new nsTestServ(port).startListening(); var serv = new nsTestServ(port);
serv.startListening();
return serv;
} }

View File

@ -113,9 +113,17 @@ var listener = {
do_check_eq(status, Components.results.NS_ERROR_ABORT); do_check_eq(status, Components.results.NS_ERROR_ABORT);
if (current_test < (tests.length - 1)) { if (current_test < (tests.length - 1)) {
// First, gotta clear the auth cache
Components.classes["@mozilla.org/network/http-auth-manager;1"]
.getService(Components.interfaces.nsIHttpAuthManager)
.clearAll();
current_test++; current_test++;
tests[current_test](); tests[current_test]();
} else {
httpserv.stopListening();
} }
do_test_finished(); do_test_finished();
} }
}; };
@ -129,11 +137,13 @@ function makeChan(url) {
return chan; return chan;
} }
var tests = [test_noauth, test_returnfalse1, test_prompt1]; var tests = [test_noauth, test_returnfalse1, test_wrongpw1, test_prompt1];
var current_test = 0; var current_test = 0;
var httpserv = null;
function run_test() { function run_test() {
start_server(4444); httpserv = start_server(4444);
tests[0](); tests[0]();
} }

View File

@ -15,6 +15,7 @@ TestListener.prototype.onStopRequest = function(request, context, status) {
do_check_eq(channel.responseStatus, 304); do_check_eq(channel.responseStatus, 304);
do_test_finished(); do_test_finished();
server.stopListening();
} }
function run_test() { function run_test() {

View File

@ -86,8 +86,10 @@ var urls = [
"http://localhost:4444" "http://localhost:4444"
]; ];
var httpserv = null;
function run_test() { function run_test() {
start_server(4444); httpserv = start_server(4444);
Components.manager.nsIComponentRegistrar.registerFactory(snifferCID, Components.manager.nsIComponentRegistrar.registerFactory(snifferCID,
"Unit test content sniffer", snifferContract, sniffer); "Unit test content sniffer", snifferContract, sniffer);
@ -101,6 +103,7 @@ function run_test_iteration(index) {
sniffing_enabled = false; sniffing_enabled = false;
index = listener._iteration = 1; index = listener._iteration = 1;
} else { } else {
httpserv.stopListening();
return; // we're done return; // we're done
} }
} }

View File

@ -32,6 +32,8 @@ var listener = {
onStopRequest: function test_onStopR(request, ctx, status) { onStopRequest: function test_onStopR(request, ctx, status) {
if (this._iteration == 1) if (this._iteration == 1)
run_test_continued(); run_test_continued();
else
httpserv.stopListening();
do_test_finished(); do_test_finished();
}, },
@ -47,8 +49,10 @@ function makeChan() {
return chan; return chan;
} }
var httpserv = null;
function run_test() { function run_test() {
start_server(4444); httpserv = start_server(4444);
var chan = makeChan(); var chan = makeChan();

View File

@ -81,6 +81,8 @@ var listener = {
onStopRequest: function test_onStopR(request, ctx, status) { onStopRequest: function test_onStopR(request, ctx, status) {
if (this._iteration <= 2) if (this._iteration <= 2)
run_test_continued(); run_test_continued();
else
httpserv.stopListening();
do_test_finished(); do_test_finished();
}, },
@ -96,8 +98,10 @@ function makeChan(url) {
return chan; return chan;
} }
var httpserv = null;
function run_test() { function run_test() {
start_server(4444); httpserv = start_server(4444);
Components.manager.nsIComponentRegistrar.registerFactory(sinkCID, Components.manager.nsIComponentRegistrar.registerFactory(sinkCID,
"Unit test Event sink", sinkContract, eventsink); "Unit test Event sink", sinkContract, eventsink);