diff --git a/lib/sauce-connect-launcher.js b/lib/sauce-connect-launcher.js index aeeb5b0..6e26c66 100644 --- a/lib/sauce-connect-launcher.js +++ b/lib/sauce-connect-launcher.js @@ -190,7 +190,12 @@ function run(options, callback) { openProcesses.push(child); - child.close = function () { + child.close = function (closeCallback) { + if (closeCallback) { + child.on("close", function () { + closeCallback(); + }); + } child.kill("SIGTERM"); }; } diff --git a/test/sauce-connect-launcher.test.js b/test/sauce-connect-launcher.test.js index b7789be..82ecaf6 100644 --- a/test/sauce-connect-launcher.test.js +++ b/test/sauce-connect-launcher.test.js @@ -90,6 +90,16 @@ describe("Sauce Connect Launcher", function () { done(); }); }); + + it("should execute a provided close callback", function (done) { + sauceConnectLauncher(sauceCreds, function (err, sauceConnectProcess) { + if (err) { throw err; } + expect(sauceConnectProcess).to.be.ok(); + sauceConnectProcess.close(function () { + done(); + }); + }); + }); } });