diff --git a/scripts/migrate-sessions-to-v4.spec.ts b/scripts/migrate-sessions-to-v4.spec.ts index 770a43b08d..249a65af3e 100644 --- a/scripts/migrate-sessions-to-v4.spec.ts +++ b/scripts/migrate-sessions-to-v4.spec.ts @@ -365,10 +365,10 @@ describe('one-time V4 migration command', () => { }) }) - it('accepts an explicit job count above the default cap', async () => { - const result = await run('--sessions-dir', temporaryRoot(), '--jobs', '32') + it.each(['32', '1e2', '+1', '01', ' 1'])('accepts positive safe-integer --jobs %s', async (jobs) => { + const result = await run('--sessions-dir', temporaryRoot(), '--jobs', jobs) expect(result.status, result.stdout + result.stderr).toBe(0) - expect(result.stdout).toContain('Session jobs: 32') + expect(result.stdout).toContain(`Session jobs: ${Number(jobs)}`) expect(result.stdout).toContain('converted=0, already-V4=0, failed=0, skipped=0') expect(result.summary).toMatchObject({ inputCount: 0, diff --git a/scripts/migrate-sessions-to-v4.ts b/scripts/migrate-sessions-to-v4.ts index 208821a16b..64f74c3996 100644 --- a/scripts/migrate-sessions-to-v4.ts +++ b/scripts/migrate-sessions-to-v4.ts @@ -289,7 +289,7 @@ if (process.argv[1] !== undefined && realpathSync(process.argv[1]) === realpathS if (values.help) console.log(usage) else { const jobs = values.jobs === undefined ? Math.min(availableParallelism(), 16) : Number(values.jobs) - if (!Number.isSafeInteger(jobs) || jobs < 1 || (values.jobs !== undefined && !/^[1-9]\d*$/u.test(values.jobs))) { + if (!Number.isSafeInteger(jobs) || jobs < 1) { throw new Error('--jobs must be a positive safe integer') } process.exitCode = await migrate(resolve(values['sessions-dir'] ?? join(homedir(), '.dsh', 'sessions')), jobs)