Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test: refactor pummel/test-net-many-clients
* Use port 0 instead of `common.PORT`.
* Reduce `concurrent` from 100 to 50 and `connections_per_client` from 5
  to 3. This is to avoid side effects from other tests. Prior to this
  change, running this along with test-keep-alive would result in
  failures on my local setup, apparently due to network throttling.
* Remove unnecessary `console.log()` and improve remaining
  `console.log()` to provide clearer information.
  • Loading branch information
Trott committed Jan 14, 2019
commit 1a3589e9e2d353a4a11498298b8186c4633a878c
19 changes: 9 additions & 10 deletions test/pummel/test-net-many-clients.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,30 +20,29 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.

'use strict';
const common = require('../common');
require('../common');
const assert = require('assert');
const net = require('net');

// settings
const bytes = 1024 * 40;
const concurrency = 100;
const connections_per_client = 5;
const concurrency = 50;
const connections_per_client = 3;

// measured
let total_connections = 0;

const body = 'C'.repeat(bytes);

const server = net.createServer(function(c) {
console.log('connected');
total_connections++;
console.log('#');
console.log('connected', total_connections);
c.write(body);
c.end();
});

function runClient(callback) {
const client = net.createConnection(common.PORT);
function runClient(port, callback) {
const client = net.createConnection(port);

client.connections = 0;

Expand Down Expand Up @@ -79,17 +78,17 @@ function runClient(callback) {
assert.ok(!client.fd);

if (this.connections < connections_per_client) {
this.connect(common.PORT);
this.connect(port);
} else {
callback();
}
});
}

server.listen(common.PORT, function() {
server.listen(0, function() {
let finished_clients = 0;
for (let i = 0; i < concurrency; i++) {
runClient(function() {
runClient(server.address().port, function() {
if (++finished_clients === concurrency) server.close();
});
}
Expand Down