test: do not assume tls handshake order
Do not assume that server handshake event happens before client, it is not guaranteed. PR-URL: https://github.com/nodejs/node/pull/25508 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
8bc39e7286
commit
426a87025b
@ -23,9 +23,10 @@ function runTest(clientsOptions, serverOptions, cb) {
|
|||||||
serverOptions.key = loadPEM('agent2-key');
|
serverOptions.key = loadPEM('agent2-key');
|
||||||
serverOptions.cert = loadPEM('agent2-cert');
|
serverOptions.cert = loadPEM('agent2-cert');
|
||||||
const results = [];
|
const results = [];
|
||||||
let index = 0;
|
let clientIndex = 0;
|
||||||
|
let serverIndex = 0;
|
||||||
const server = tls.createServer(serverOptions, function(c) {
|
const server = tls.createServer(serverOptions, function(c) {
|
||||||
results[index].server = { ALPN: c.alpnProtocol };
|
results[serverIndex++].server = { ALPN: c.alpnProtocol };
|
||||||
});
|
});
|
||||||
|
|
||||||
server.listen(0, serverIP, function() {
|
server.listen(0, serverIP, function() {
|
||||||
@ -38,16 +39,18 @@ function runTest(clientsOptions, serverOptions, cb) {
|
|||||||
opt.host = serverIP;
|
opt.host = serverIP;
|
||||||
opt.rejectUnauthorized = false;
|
opt.rejectUnauthorized = false;
|
||||||
|
|
||||||
results[index] = {};
|
results[clientIndex] = {};
|
||||||
const client = tls.connect(opt, function() {
|
const client = tls.connect(opt, function() {
|
||||||
results[index].client = { ALPN: client.alpnProtocol };
|
results[clientIndex].client = { ALPN: client.alpnProtocol };
|
||||||
client.destroy();
|
client.end();
|
||||||
if (options.length) {
|
if (options.length) {
|
||||||
index++;
|
clientIndex++;
|
||||||
connectClient(options);
|
connectClient(options);
|
||||||
} else {
|
} else {
|
||||||
server.close();
|
server.close();
|
||||||
cb(results);
|
server.on('close', () => {
|
||||||
|
cb(results);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user