fix(logging): Fix log file naming to prevent collisions and update logging system documentation.

This commit is contained in:
2025-05-23 21:31:39 +00:00
parent a82fdc0f26
commit 53d3dc55e6
4 changed files with 35 additions and 5 deletions

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/tstest',
version: '1.9.1',
version: '1.9.2',
description: 'a test utility to run tests that match test/**/*.ts'
}

View File

@ -153,8 +153,16 @@ export class TsTestLogger {
// Only set up test log file if --logfile option is specified
if (this.options.logFile) {
const baseFilename = path.basename(filename, '.ts');
this.currentTestLogFile = path.join('.nogit', 'testlogs', `${baseFilename}.log`);
// Create a safe filename that preserves directory structure
// Convert relative path to a flat filename by replacing separators with __
const relativeFilename = path.relative(process.cwd(), filename);
const safeFilename = relativeFilename
.replace(/\\/g, '/') // Normalize Windows paths
.replace(/\//g, '__') // Replace path separators with double underscores
.replace(/\.ts$/, '') // Remove .ts extension
.replace(/^\.\.__|^\.__|^__/, ''); // Clean up leading separators from relative paths
this.currentTestLogFile = path.join('.nogit', 'testlogs', `${safeFilename}.log`);
// Ensure the directory exists
const logDir = path.dirname(this.currentTestLogFile);