()
| 851 | } |
| 852 | |
| 853 | function freePort(): Promise<number> { |
| 854 | return new Promise((resolve, reject) => { |
| 855 | const server = net.createServer(); |
| 856 | server.listen(0, "127.0.0.1", () => { |
| 857 | const address = server.address(); |
| 858 | if (!address || typeof address === "string") { |
| 859 | server.close(); |
| 860 | reject(new Error("Unable to allocate a free TCP port.")); |
| 861 | return; |
| 862 | } |
| 863 | const port = address.port; |
| 864 | server.close(() => resolve(port)); |
| 865 | }); |
| 866 | server.on("error", reject); |
| 867 | }); |
| 868 | } |
| 869 | |
| 870 | function portAvailable(port: number): Promise<boolean> { |
| 871 | return new Promise((resolve) => { |
no test coverage detected