Use assert(Not)Regex instead of assertTrue or assertFalse in tests - #5188
Open
Flamefire wants to merge 1 commit into
Open
Use assert(Not)Regex instead of assertTrue or assertFalse in tests#5188Flamefire wants to merge 1 commit into
assert(Not)Regex instead of assertTrue or assertFalse in tests#5188Flamefire wants to merge 1 commit into
Conversation
Flamefire
force-pushed
the
assertregex
branch
2 times, most recently
from
May 5, 2026 13:44
a4574ae to
3ffb7a9
Compare
Member
|
@Flamefire merge conflicts to resolve here... |
Flamefire
force-pushed
the
assertregex
branch
2 times, most recently
from
June 18, 2026 11:45
77d9d21 to
7e75f03
Compare
Contributor
Author
|
Rebased |
Member
|
merge conflicts again... As with #5223, I think it would help to break this into smaller PRs, which are easier to review/merge, and less likely to get blocked by merge conflicts |
Flamefire
force-pushed
the
assertregex
branch
2 times, most recently
from
August 7, 2026 09:07
685f39a to
8b56b62
Compare
Contributor
Author
|
This is a search&replace (using regex) which I think is better to do once, especially as it is only test code so mistakes would a) turn up in CI and b) are not critical to users. So I would not recommend multiple PRs but just do some quick spot checking. If you still want separate PRs: How small do you want them? More PRs is more work but quicker to review. |
This makes the tests shorter and hence easier to read, avoids `re.compile` calls and manual failure message composing. In some cases `assert_multi_regex` could be used to avoid the explicit loops.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This makes the tests shorter and hence easier to read, avoids
re.compilecalls and manual failure message composing.In some cases
assert_multi_regexcould be used to avoid the explicit loops.While doing that I put the
re.compileinto the assertion instead of assigning to a variable and remove the call when there are no flags required asassertRegexaccepts strings or compiled expressionsExamples:
Continuation of #4205 , #4170, #5134 to remove usage of
assertTrue&assertFalseas for almost everything there is a better alternativeAlso regex assertions are over-used. In some places
assertInor evenassertEqualcould be used which is clearer and faster.However the replacements done here were mostly regex-based with lot's of manual inspection to find good patterns, and finding those where
assertInwould work is even more difficult.Requires:
cmd.shso it works in non-interactive mode, like when passing-cto run a command #5187