Skip to content

PerfDiff: Fix incorrect conditional logic in file existence checks #610

@coderabbitai

Description

@coderabbitai

Description

Logic errors in file existence validation that cause incorrect behavior when checking file paths and extensions.

Issues Identified from PR #565

Incorrect Conditional Logic

  • PerfDiff.TryGetETLPaths(): Uses || instead of && in file existence check
  • BenchmarkDotNetDiffer: Similar logic error in file validation
  • Current logic incorrectly returns true for any existing file regardless of extension

Affected Files

  • src/tools/PerfDiff/PerfDiff.cs (lines 104-108)
  • src/tools/PerfDiff/BDN/BenchmarkDotNetDiffer.cs

Required Fix

-        else if (File.Exists(path) || !path.EndsWith(ETLFileExtension, StringComparison.OrdinalIgnoreCase))
+        else if (File.Exists(path) && path.EndsWith(ETLFileExtension, StringComparison.OrdinalIgnoreCase))

Impact

  • Files with incorrect extensions may be processed incorrectly
  • ETL trace analysis may fail silently
  • Performance regression detection may produce false results

Reference

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions