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
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
Expected Behaviour
Either:
Affected Files