Files
msd-core/tests/bug-3050-update-backup-eacces-nonfatal.test.cjs

25 lines
895 B
JavaScript

'use strict';
const { test, describe } = require('node:test');
const assert = require('node:assert/strict');
const fs = require('node:fs');
const path = require('node:path');
describe('bug #3050: update backup skips unreadable files non-fatally', () => {
test('update workflow backup loop wraps copyFileSync in try/catch and logs non-fatal skip', () => {
const content = fs.readFileSync(
path.join(__dirname, '..', 'get-shit-done', 'workflows', 'update.md'),
'utf8',
);
const hasTryCatch = /try\s*\{[\s\S]*copyFileSync\([\s\S]*\}[\s\S]*catch\s*\(err\)/.test(content);
assert.ok(hasTryCatch, 'backup copy loop must catch per-file copy errors');
const hasNonFatalSkipMessage = /Skipped \(non-fatal\):/.test(content);
assert.ok(
hasNonFatalSkipMessage,
'workflow must log a non-fatal skip message for unreadable custom files',
);
});
});