History

Allow non-required dev ports to exceed max in offset search

- Stop `findFirstAvailableOffset` only when a required port exceeds `MAX_PORT` - Add test covering offsets where only non-required ports are out of range

Julius Marminge committed 8 months ago

Commit 9f068351 parent f239c902 files · +18 −1Browse files

Unified · Split

2 files
  1. scripts/dev-runner.mjs +7 −1
  2. scripts/dev-runner.test.ts +11 −0
scripts/dev-runner.mjs+7−1
@@ -260,7 +260,13 @@ export async function findFirstAvailableOffset({ · 259 unmodified lines
260}) {260}) {
261 for (let candidate = startOffset; ; candidate += 1) {261 for (let candidate = startOffset; ; candidate += 1) {
262 const { serverPort, webPort } = portPairForOffset(candidate);262 const { serverPort, webPort } = portPairForOffset(candidate);
263 if (serverPort > MAX_PORT || webPort > MAX_PORT) {263 const serverPortOutOfRange = serverPort > MAX_PORT;
264 const webPortOutOfRange = webPort > MAX_PORT;
265 if (
266 (requireServerPort && serverPortOutOfRange) ||
267 (requireWebPort && webPortOutOfRange) ||
268 (!requireServerPort && !requireWebPort && (serverPortOutOfRange || webPortOutOfRange))
269 ) {
264 break;270 break;
265 }271 }
266 272
scripts/dev-runner.test.ts+11−0
@@ -149,6 +149,17 @@ describe("findFirstAvailableOffset", () => { · 148 unmodified lines
149 149
150 expect(offset).toBe(2);150 expect(offset).toBe(2);
151 });151 });
152
153 it("allows offsets where only non-required ports exceed max", async () => {
154 const offset = await findFirstAvailableOffset({
155 startOffset: 59_803,
156 requireServerPort: true,
157 requireWebPort: false,
158 checkPortAvailability: async () => true,
159 });
160
161 expect(offset).toBe(59_803);
162 });
152});163});
153 164
154describe("resolveModePortOffsets", () => {165describe("resolveModePortOffsets", () => {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t