On Windows, `report.test.ts`'s unwritable-folder case creates `\dev\null\nope` at the drive root instead of meeting an unwritable folder
Los mantenedores suelen responder en 1 día
@TheSeydiCharyyev ya está trabajando en esto.
Desde el 29/10/2026.
- #302 de @TheSeydiCharyyev — abierto
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 83/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- testing
Línea de trabajo
Lee packages/jest/src/diagnostics/__tests__/report.test.ts en torno al caso “never throws when the directory cannot be written” y packages/jest/src/diagnostics/report.ts en torno a la llamada recursiva a fs.mkdir. El issue sugiere usar un archivo de la carpeta temporal de la prueba como projectRoot; ejecuta el caso específico de Vitest en Windows y confirma que sigue pasando sin crear nada en la raíz de la unidad.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
never throws when the directory cannot be written hands the diagnostics appender projectRoot: '/dev/null/nope' (report.test.ts), a folder no write reaches on Linux and macOS, where /dev/null is a device. On Windows Node resolves it against the root of the drive the run is on, and the appender's fs.mkdir(dir, { recursive: true }) (report.ts) creates it. So the case passes without meeting an unwritable folder, and leaves \dev\null\nope\.harness\diagnostics\unwritable.jsonl behind, holding the marks a and b.
While that folder exists, Windows programs that open /dev/null as a path from that drive open the folder instead: Git for Windows' git diff --no-index /dev/null <file> fails with error: Could not access '/dev/null/<file>'.
A projectRoot below a regular file fails the same way on every platform (ENOTDIR), so a file the test writes in its temporary folder would keep the case's premise on Windows too.
System Info
System:
OS: Windows 11 10.0.26300
Binaries:
Node: 26.12.1
pnpm: 10.6.1
React Native Harness Version
main at 26b67ea4
Reproduction
Steps to reproduce
- On Windows, in a checkout of
main:pnpm install, thenpnpm vitest run packages/jest/src/diagnostics/__tests__/report.test.ts -t "never throws when the directory cannot be written". - The case passes:
Tests 1 passed | 26 skipped (27). dir /s /b \devon the drive the run is on lists what it made. I ran it from a drive mapped withsubst,X:, so the folder landed there:
X:\dev\null
X:\dev\null\nope
X:\dev\null\nope\.harness
X:\dev\null\nope\.harness\diagnostics
X:\dev\null\nope\.harness\diagnostics\unwritable.jsonl
unwritable.jsonl:
{"label":"a","startTime":1793230779050.4949,"duration":0,"status":"ok","kind":"mark"}
{"label":"b","startTime":1793230779052.054,"duration":0,"status":"ok","kind":"mark"}
Expected: the case meets a folder it cannot write, as on Linux and macOS, and leaves nothing outside its temporary folder.
Actual: the case passes after creating the folders above at the root of the drive the run is on, with the two marks in unwritable.jsonl.
- Lenguaje dominante
- TypeScript
- Estrellas
- 335
- Forks
- 23
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 54
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de callstackincubator/react-native-harness
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
callstackincubator/react-native-harness#296 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
callstackincubator/react-native-harness#128 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
callstackincubator/react-native-harness#303 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
callstackincubator/react-native-harness#300 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
callstackincubator/react-native-harness#299 ·
Los mantenedores suelen responder en 1 día
Todos los issues de callstackincubator/react-native-harness
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
lichess-org/lila#22324 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Feature Request] [Web] Expose kvCacheQuantizationBits in the onnxruntime-web WebGPU EP optionsAbiertoep:WebGPU platform:web quantization
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
microsoft/onnxruntime#33752 ·
Los mantenedores suelen responder en 2 días
-
[Skill Bug]: entra-agent-id: inaccurate blueprint permission inheritance and parent token sub claimAbiertobug entra-agent-id
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/GitHub-Copilot-for-Azure#3467 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
fix(worker): keep normal prepare waiting states failure-freePosiblemente ocupada @LichKing-2234 la tomó hoy. Abiertoagent:codex priority:P1
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AgoraIO-Extensions/agent-infra#3745 ·
Los mantenedores suelen responder en 1 día
-
The five-line work window can drop its oldest line: the per-line byte share ignores the JSON framingPosiblemente ocupada @Eapp1e la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
makecindy/cindy#7973 · 1 comentario ·
Los mantenedores suelen responder en 1 día