You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @ddc, I just got around to properly looking at this, and I realised that this is actually expected behavior.
Although I don't blame you for finding it surprising, it's been brought up before: #234#191
The issue is that poe parses the command using a subset of bash syntax, so the word --omit=tests/* is interpreted as a glob pattern, which in this case doesn't match anything. Where Poe the Poet diverges from bash is that when a pattern has no matches it is still replaced with the set of matches (i.e. nothing), instead of being preserved. This arguably makes more sense – although does seem to be surprising.
So after three issues being opened on the topic I'm starting to think it would be better to make the breaking change to behave more like bash.
Fortunately you can also escape the glob character exactly as you would in bash, by enclosing it in single or double quotes, or preceding it with a backslash. e.g. --omit=tests/'*', --omit="tests/*", --omit=tests/\*, etc
I'll leave this issue open for now as an enhancement request to make poe behave more like bash concerning non-matching glob patterns.
Steps to reproduce:
Use the
--omit
argument along with the character*
to coverage run commandpyproject.toml
Output:
The text was updated successfully, but these errors were encountered: