fix(logging): Improve performance metrics reporting and add local permissions configuration
This commit is contained in:
parent
f717078558
commit
d1f8652fc7
@ -1,5 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-05-26 - 2.2.4 - fix(logging)
|
||||
Improve performance metrics reporting and add local permissions configuration
|
||||
|
||||
- Add .claude/settings.local.json to configure allowed permissions for various commands
|
||||
- Update tstest logging: compute average test duration from actual durations and adjust slowest test display formatting
|
||||
|
||||
## 2025-05-26 - 2.2.3 - fix(readme/ts/tstest.plugins)
|
||||
Update npm package scope and documentation to use '@git.zone' instead of '@gitzone', and add local settings configuration.
|
||||
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tstest',
|
||||
version: '2.2.3',
|
||||
version: '2.2.4',
|
||||
description: 'a test utility to run tests that match test/**/*.ts'
|
||||
}
|
||||
|
@ -425,15 +425,23 @@ export class TsTestLogger {
|
||||
|
||||
// Performance metrics
|
||||
if (this.options.verbose) {
|
||||
const avgDuration = Math.round(totalDuration / summary.totalTests);
|
||||
const slowestTest = this.fileResults
|
||||
.flatMap(r => r.tests)
|
||||
.sort((a, b) => b.duration - a.duration)[0];
|
||||
// Calculate metrics based on actual test durations
|
||||
const allTests = this.fileResults.flatMap(r => r.tests);
|
||||
const testDurations = allTests.map(t => t.duration);
|
||||
const sumOfTestDurations = testDurations.reduce((sum, d) => sum + d, 0);
|
||||
const avgTestDuration = allTests.length > 0 ? Math.round(sumOfTestDurations / allTests.length) : 0;
|
||||
|
||||
// Find slowest test (exclude 0ms durations unless all are 0)
|
||||
const nonZeroDurations = allTests.filter(t => t.duration > 0);
|
||||
const testsToSort = nonZeroDurations.length > 0 ? nonZeroDurations : allTests;
|
||||
const slowestTest = testsToSort.sort((a, b) => b.duration - a.duration)[0];
|
||||
|
||||
this.log(this.format('\n⏱️ Performance Metrics:', 'cyan'));
|
||||
this.log(this.format(` Average per test: ${avgDuration}ms`, 'white'));
|
||||
if (slowestTest) {
|
||||
this.log(this.format(` Slowest test: ${slowestTest.name} (${slowestTest.duration}ms)`, 'yellow'));
|
||||
this.log(this.format(` Average per test: ${avgTestDuration}ms`, 'white'));
|
||||
if (slowestTest && slowestTest.duration > 0) {
|
||||
this.log(this.format(` Slowest test: ${slowestTest.name} (${slowestTest.duration}ms)`, 'orange'));
|
||||
} else if (allTests.length > 0) {
|
||||
this.log(this.format(` All tests completed in <1ms`, 'dim'));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user