(port, timeout = 10000)
| 139 | } |
| 140 | |
| 141 | export function waitForPort(port, timeout = 10000) { |
| 142 | return new Promise((resolve, reject) => { |
| 143 | const startTime = Date.now(); |
| 144 | const tryConnect = () => { |
| 145 | const socket = new net.Socket(); |
| 146 | socket.once('connect', () => { |
| 147 | socket.end(); |
| 148 | resolve(); |
| 149 | }); |
| 150 | socket.once('error', (_) => { |
| 151 | if (Date.now() - startTime > timeout) { |
| 152 | reject(new Error(`Timeout waiting for port ${port} to open.`)); |
| 153 | } else { |
| 154 | setTimeout(tryConnect, 500); |
| 155 | } |
| 156 | }); |
| 157 | socket.connect(port, 'localhost'); |
| 158 | }; |
| 159 | tryConnect(); |
| 160 | }); |
| 161 | } |
| 162 | |
| 163 | export async function ensureBinary( |
| 164 | executableName, |
no test coverage detected