Skip to content

Commit f0ac65f

Browse files
committed
fix(proxy): fail when second port scanner (when proxy.ws=true) throws
1 parent c85195d commit f0ac65f

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

lib/async.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ module.exports = {
6464

6565
utils.getPort(socketPort, null, function (err, port) {
6666
if (err) {
67-
return done(err);
67+
return utils.fail(true, err, bs.cb);
6868
}
6969
done(null, {
7070
optionsIn: [

test/specs/e2e/e2e.options.port.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,31 @@ describe("E2E `port` option", function () {
2727
done();
2828
});
2929
});
30-
it("Calls cb with Error if port detection errors when proxy.ws=true", function (done) {
30+
it("sets extra port option for socket in proxy mode (handle error)", function (done) {
3131
browserSync.reset();
32+
33+
var stub = sinon.stub(utils, "getPort");
34+
35+
stub.onCall(0).yields(null, 3000);
36+
stub.onCall(1).yields(new Error("Some error about ports"));
37+
3238
var config = {
3339
logLevel: "silent",
3440
proxy: {
3541
target: "localhost",
3642
ws: true
3743
},
38-
open: false,
39-
online: false
44+
online: false,
45+
open: false
4046
};
41-
sinon.stub(utils, "getPorts").yields(new Error("Some error about a port"));
47+
4248
sinon.stub(utils, "fail", function (override, errMessage, cb) {
4349
assert.instanceOf(errMessage, Error);
44-
utils.getPorts.restore();
50+
utils.getPort.restore();
4551
utils.fail.restore();
4652
cb();
4753
});
54+
4855
browserSync(config, function () {
4956
done();
5057
});

0 commit comments

Comments
 (0)