|
1 | 1 | 'use strict'; |
2 | | -// This tests binds to one port, then attempts to start a server on that |
| 2 | +// This test binds to one port, then attempts to start a server on that |
3 | 3 | // port. It should be EADDRINUSE but be able to then bind to another port. |
4 | | -require('../common'); |
5 | | -var assert = require('assert'); |
6 | | -var net = require('net'); |
| 4 | +const common = require('../common'); |
| 5 | +const assert = require('assert'); |
| 6 | +const net = require('net'); |
7 | 7 |
|
8 | | -var server1listening = false; |
9 | | -var server2listening = false; |
10 | | -var server2eaddrinuse = false; |
| 8 | +const server1 = net.Server(); |
11 | 9 |
|
12 | | -var server1 = net.Server(function(socket) { |
13 | | - socket.destroy(); |
14 | | -}); |
| 10 | +const server2 = net.Server(); |
15 | 11 |
|
16 | | -var server2 = net.Server(function(socket) { |
17 | | - socket.destroy(); |
18 | | -}); |
19 | | - |
20 | | -var server2errors = 0; |
21 | | -server2.on('error', function(e) { |
22 | | - server2errors++; |
23 | | - console.error('server2 error'); |
24 | | - |
25 | | - if (e.code == 'EADDRINUSE') { |
26 | | - server2eaddrinuse = true; |
27 | | - } |
28 | | - |
29 | | - server2.listen(0, function() { |
30 | | - console.error('server2 listening'); |
31 | | - server2listening = true; |
| 12 | +server2.on('error', common.mustCall(function(e) { |
| 13 | + assert.strictEqual(e.code, 'EADDRINUSE'); |
32 | 14 |
|
| 15 | + server2.listen(0, common.mustCall(function() { |
33 | 16 | server1.close(); |
34 | 17 | server2.close(); |
35 | | - }); |
36 | | -}); |
| 18 | + })); |
| 19 | +})); |
37 | 20 |
|
38 | | - |
39 | | -server1.listen(0, function() { |
40 | | - console.error('server1 listening'); |
41 | | - server1listening = true; |
| 21 | +server1.listen(0, common.mustCall(function() { |
42 | 22 | // This should make server2 emit EADDRINUSE |
43 | 23 | server2.listen(this.address().port); |
44 | | -}); |
45 | | - |
46 | | - |
47 | | -process.on('exit', function() { |
48 | | - assert.equal(1, server2errors); |
49 | | - assert.ok(server2eaddrinuse); |
50 | | - assert.ok(server2listening); |
51 | | - assert.ok(server1listening); |
52 | | -}); |
| 24 | +})); |
0 commit comments