Better test process killing for Windows
This commit is contained in:
parent
dc0e60d103
commit
d7174582c0
@ -64,17 +64,30 @@ WebBrowser.prototype = {
|
|||||||
startProcess: function (url) {
|
startProcess: function (url) {
|
||||||
var args = this.buildArguments(url);
|
var args = this.buildArguments(url);
|
||||||
var proc = spawn(this.path, args);
|
var proc = spawn(this.path, args);
|
||||||
proc.on('close', function (code) {
|
proc.on('exit', function (code) {
|
||||||
this.finished = true;
|
this.finished = true;
|
||||||
if (this.callback) {
|
// trying to wait for process to shutdown (for Windows sake)
|
||||||
this.callback.call(null, code);
|
setTimeout(function () {
|
||||||
}
|
this.cleanup();
|
||||||
this.cleanup();
|
if (this.callback) {
|
||||||
|
this.callback.call(null, code);
|
||||||
|
}
|
||||||
|
}.bind(this), 500);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
return proc;
|
return proc;
|
||||||
},
|
},
|
||||||
cleanup: function () {
|
cleanup: function () {
|
||||||
testUtils.removeDirSync(this.tmpDir);
|
try {
|
||||||
|
testUtils.removeDirSync(this.tmpDir);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('Unable to cleanup after the process: ' + e);
|
||||||
|
try {
|
||||||
|
if (this.process) {
|
||||||
|
this.process.kill('SIGKILL');
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
}
|
||||||
|
this.process = null;
|
||||||
},
|
},
|
||||||
stop: function (callback) {
|
stop: function (callback) {
|
||||||
if (this.finished) {
|
if (this.finished) {
|
||||||
@ -85,8 +98,7 @@ WebBrowser.prototype = {
|
|||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.process.kill();
|
this.process.kill('SIGTERM');
|
||||||
this.process = null;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user