mirror of https://github.com/nodejs/node.git
test: remove common.port from test-tls-securepair-client
OpenSSL s_server accepts port 0 as an indicator to use an open port
provided by the operating system. Use that instead of common.PORT in the
test.
Remove 500ms delay added in 8e461673c4
.
Hopefully the race condition in OpenSSL s_server has been fixed and/or
the change to port 0 means that the server is listening by the time
the ACCEPT text is printed and the setTimeout() is no longer necessary.
PR-URL: https://github.com/nodejs/node/pull/32024
Reviewed-By: Ben Coe <bencoe@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
pull/32024/head
parent
a0c3c4de3b
commit
9ac42f1be4
|
@ -62,7 +62,7 @@ function test(keyPath, certPath, check, next) {
|
|||
const cert = fixtures.readSync(certPath).toString();
|
||||
|
||||
const server = spawn(common.opensslCli, ['s_server',
|
||||
'-accept', common.PORT,
|
||||
'-accept', 0,
|
||||
'-cert', fixtures.path(certPath),
|
||||
'-key', fixtures.path(keyPath)]);
|
||||
server.stdout.pipe(process.stdout);
|
||||
|
@ -78,10 +78,11 @@ function test(keyPath, certPath, check, next) {
|
|||
console.log(state);
|
||||
switch (state) {
|
||||
case 'WAIT-ACCEPT':
|
||||
if (/ACCEPT/.test(serverStdoutBuffer)) {
|
||||
// Give s_server half a second to start up.
|
||||
setTimeout(startClient, 500);
|
||||
const matches = serverStdoutBuffer.match(/ACCEPT .*?:(\d+)/);
|
||||
if (matches) {
|
||||
const port = matches[1];
|
||||
state = 'WAIT-HELLO';
|
||||
startClient(port);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -117,7 +118,7 @@ function test(keyPath, certPath, check, next) {
|
|||
});
|
||||
|
||||
|
||||
function startClient() {
|
||||
function startClient(port) {
|
||||
const s = new net.Stream();
|
||||
|
||||
const sslcontext = tls.createSecureContext({ key, cert });
|
||||
|
@ -131,7 +132,7 @@ function test(keyPath, certPath, check, next) {
|
|||
pair.encrypted.pipe(s);
|
||||
s.pipe(pair.encrypted);
|
||||
|
||||
s.connect(common.PORT);
|
||||
s.connect(port);
|
||||
|
||||
s.on('connect', function() {
|
||||
console.log('client connected');
|
||||
|
|
Loading…
Reference in New Issue