test(v5): F2-Test ohne /proc — Nodes rekursives mkdirSync pendelt dort endlos, die Ampel hing
Ampel / ampel (push) Successful in 1m14s

WAS: Der Test „Ablage nicht erreichbar" nimmt jetzt einen Ordner UNTER
einer Datei als Ablage (scheitert auf jeder Plattform sofort mit
ENOTDIR/EEXIST) statt /proc/rippy-nicht-da unter Linux.
WARUM: Ampel-Lauf 279 (12.09.2026) blieb in test/pipeline.test.ts
hängen: auf procfs antwortet mkdir mit ENOENT, obwohl /proc da ist —
Nodes mkdirSync({recursive:true}) läuft dann zwischen Kind und Eltern-
ordner im Kreis. Lokal (Windows) war der Lauf grün, weil Q:\ dort nicht
existiert und Node am Wurzelpfad abbricht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-12 22:29:04 +02:00
co-authored by Claude Opus 5
parent d45760018e
commit 9d16e82b5f
+9 -3
View File
@@ -266,9 +266,15 @@ describe('Pipeline — Durchsicht 5.7.0', () => {
// die Ablehnung — kein Fehler im Fenster, keine Zeile im Protokoll
// (Sonde 10). Jetzt: eine Fehler-Meldung, keine Ausnahme.
it('F2: Ablage nicht erreichbar → Fehler-Meldung statt stiller Ausnahme', async () => {
// Ein Laufwerksbuchstabe, den es nicht gibt — wie eine NAS, die gerade
// weg ist. (Unter Linux ein Ort, an dem niemand anlegen darf.)
const weg = process.platform === 'win32' ? 'Q:\\rippy-nicht-da' : '/proc/rippy-nicht-da'
// Ein Ordner UNTER einer Datei — anlegen scheitert sofort, auf jeder
// Plattform (ENOTDIR bzw. EEXIST). Nicht /proc: dort antwortet mkdir mit
// ENOENT, obwohl der Elternordner da ist, und Nodes rekursives mkdirSync
// pendelt dann endlos — die Ampel hing daran (Lauf 279, 12.09.2026).
const sperre = mkdtempSync(join(tmpdir(), 'rippy-sperre-'))
wegwerf.push(sperre)
const datei = join(sperre, 'keine-ablage.txt')
writeFileSync(datei, 'x')
const weg = join(datei, 'rippy-nicht-da')
const { pipeline, meldungen, endet } = umgebung({ ablage: () => weg })
await pipeline.starten('G', AUFTRAG)
expect(meldungen).toHaveLength(1)