mirror of
https://github.com/affaan-m/ECC.git
synced 2026-10-26 18:35:05 +00:00
fix: normalize Windows backup filename suffixes
This commit is contained in:
1 parent
2a2e6e3848
commit
f685582ebe
2 files changed
+13
-1
No files matched your search
@@ -25,7 +25,7 @@ function normalizeFailureReason(reason) {
|
||||
.replace(/(["'])(?:[a-z]:[\\/]|\\\\)[^\r\n]*?\1/gu, '$1<path>$1')
|
||||
// Directories may contain spaces, but trailing whitespace separates diagnostic prose.
|
||||
// Spaced leaves need an extension before a colon, or quotes; preserve extensionless diagnostics.
|
||||
.replace(/(?:\b[a-z]:|\\)[\\/](?:[^\\/:*?"<>|\r\n]*[^\s\\/:*?"<>|][\\/])*[^\s\\/:*?"<>|(),;]+(?: [^\\/:*?"<>|\r\n]*\.[\p{L}\p{N}_-]+(?=:))?[\\/]*/gu, '<path>')
|
||||
.replace(/(?:\b[a-z]:|\\)[\\/](?:[^\\/:*?"<>|\r\n]*[^\s\\/:*?"<>|][\\/])*[^\s\\/:*?"<>|(),;]+(?: [^\\/:*?"<>|\r\n]*\.[^\s\\/:*?"<>|]+(?=:))?[\\/]*/gu, '<path>')
|
||||
// Strip remaining file paths
|
||||
.replace(/(?:\b[a-z]:)?[\\/][\w./\\-]+/g, '<path>')
|
||||
// Collapse whitespace
|
||||
|
||||
@@ -104,6 +104,9 @@ async function runTests() {
|
||||
String.raw`C:\Users\Alice Smith\my file.js`,
|
||||
'D:/Users/Bob Jones/your script.js',
|
||||
String.raw`\\server\shared files\other task.js`,
|
||||
String.raw`C:\work\my alpha.js~`,
|
||||
'D:/work/my beta.py#',
|
||||
String.raw`E:\work\my gamma.c++`,
|
||||
]) {
|
||||
assert.strictEqual(normalizeFailureReason(`${filePath}: permission denied`), '<path>: permission denied');
|
||||
}
|
||||
@@ -253,6 +256,15 @@ async function runTests() {
|
||||
assert.strictEqual(directoryPatterns.length, 1);
|
||||
assert.strictEqual(directoryPatterns[0].count, 3);
|
||||
assert.strictEqual(generateReport(directoryPatterns).status, 'attention_needed');
|
||||
const backupRuns = [
|
||||
String.raw`C:\work\my alpha.js~`,
|
||||
'D:/work/my beta.js~',
|
||||
String.raw`\\server\share\my gamma.js~`,
|
||||
].map((filePath, index) => makeSkillRun({ id: `backup-${index}`, failureReason: `Cannot open ${filePath}: permission denied` }));
|
||||
const backupPatterns = detectPatterns(backupRuns);
|
||||
assert.strictEqual(backupPatterns.length, 1);
|
||||
assert.strictEqual(backupPatterns[0].count, 3);
|
||||
assert.strictEqual(generateReport(backupPatterns).status, 'attention_needed');
|
||||
})) passed += 1; else failed += 1;
|
||||
|
||||
if (await test('detectPatterns tracks unique session IDs and versions', async () => {
|
||||
|
||||
Reference in new issue
Block a user