Skip to content

Absolute-path glob patterns silently match nothing #179

@Malcolmnixon

Description

@Malcolmnixon

Summary

When an absolute path is passed to --requirements\ or --tests\ (e.g. --tests /home/runner/artifacts/**/.trx\ or --tests C:\artifacts**.trx), the tool silently returns zero matches and continues without error.

Root Cause

\ExpandGlobPattern\ in \Cli/Context.cs\ always roots \Microsoft.Extensions.FileSystemGlobbing.Matcher\ against \Directory.GetCurrentDirectory()\ and passes the full pattern string directly to \matcher.AddInclude(pattern). The FileSystemGlobbing library requires patterns to be relative — it has no concept of an absolute root. An absolute path passed to \AddInclude\ produces no matches.

Observed Behaviour

  • \ExpandGlobPattern\ returns an empty list
  • No error or warning is emitted
  • The --requirements\ or --tests\ argument silently expands to nothing
  • When combined with --matrix, the trace matrix file is never written (see related issue)
  • When combined with --enforce, all requirements appear unsatisfied

Expected Behaviour

Either:

  • The tool detects a rooted pattern, splits off the rooted prefix as the Matcher base directory, and applies the remainder as the relative pattern; or
  • The tool emits a clear error when an absolute path is supplied, informing the user that only relative glob patterns are supported.

Affected Files

  • \src/DemaConsulting.ReqStream/Cli/Context.cs\ — \ExpandGlobPattern\ method

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions