()
| 43 | } |
| 44 | |
| 45 | function getAvailablePort () { |
| 46 | return new Promise<number>( ( resolve, reject ) => { |
| 47 | const server = net.createServer() |
| 48 | |
| 49 | server.unref() |
| 50 | server.on( 'error', reject ) |
| 51 | server.listen( 0, host, () => { |
| 52 | const address = server.address() |
| 53 | |
| 54 | if ( !address || typeof address === 'string' ) { |
| 55 | reject( new Error( 'Unable to determine a free port.' ) ) |
| 56 | return |
| 57 | } |
| 58 | |
| 59 | server.close( err => { |
| 60 | if ( err ) { |
| 61 | reject( err ) |
| 62 | return |
| 63 | } |
| 64 | |
| 65 | resolve( address.port ) |
| 66 | } ) |
| 67 | } ) |
| 68 | } ) |
| 69 | } |
| 70 | |
| 71 | export async function waitForServer ( url: string, { |
| 72 | intervalMs = 250, |
no test coverage detected