import { describe, expect, it } from 'vitest' import { resolveOxlintInvocation } from './run-oxlint.ts' describe('Oxlint invocation', () => { it('preserves the ordinary default invocation', () => { expect(resolveOxlintInvocation(['.'], { PATH: '/bin' })).toEqual({ args: ['.'], env: { PATH: '/bin' }, }) }) it('bounds both worker pools from one setting', () => { expect(resolveOxlintInvocation(['.', '--fix'], { DSH_OXLINT_THREADS: '4', GOMAXPROCS: '12' })).toEqual({ args: ['.', '--fix', '--threads=4'], env: { DSH_OXLINT_THREADS: '4', GOMAXPROCS: '4' }, }) }) it.each(['0', '-1', '1.5', 'auto'])('rejects invalid worker bound %s', (value) => { expect(() => resolveOxlintInvocation(['.'], { DSH_OXLINT_THREADS: value })) .toThrow('DSH_OXLINT_THREADS must be a positive integer') }) it('rejects a competing direct worker bound', () => { expect(() => resolveOxlintInvocation(['.', '--threads=2'], { DSH_OXLINT_THREADS: '4' })) .toThrow('use DSH_OXLINT_THREADS instead') }) })