feat(lms): add Docker setup guidance and improve remote workspace handling

This commit is contained in:
2026-09-09 16:59:47 +09:00
parent 104c083995
commit 54ef5836b1
10 changed files with 273 additions and 21 deletions
+19
View File
@@ -0,0 +1,19 @@
import { strict as assert } from 'node:assert'
import { test } from 'node:test'
import { classifyDockerError } from './dockerStatus'
test('missing CLI is distinguished from an unavailable daemon', () => {
assert.equal(classifyDockerError('ENOENT', 'spawn docker ENOENT'), 'missing')
assert.equal(classifyDockerError(1, 'Cannot connect to the Docker daemon'), 'unavailable')
assert.equal(classifyDockerError(1, 'dial unix /run/docker.sock: connect: connection refused'), 'unavailable')
})
test('permission errors take precedence over connection errors', () => {
assert.equal(classifyDockerError(1, 'Cannot connect: permission denied'), 'permission')
assert.equal(classifyDockerError('EACCES', 'spawn docker EACCES'), 'permission')
})
test('timeouts and unknown failures do not imply Docker needs installing', () => {
assert.equal(classifyDockerError(null, 'Command failed: docker info'), 'error')
assert.equal(classifyDockerError(1, 'context not found'), 'error')
})