gh-130149: refactor tests for HMAC#130150
Conversation
- Use `_hashlib` instead of `_hashopenssl` naming. - Use `_hashlib.*` instead of top-level imports. - Consistently use new hashlib helper guards.
|
This PR won't work against refleaks due to #130151. |
|
🤖 New build scheduled with the buildbot fleet by @picnixz for commit 644f577 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F130150%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
|
🤖 New build scheduled with the buildbot fleet by @picnixz for commit e71f03d 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F130150%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
gpshead
left a comment
There was a problem hiding this comment.
While I'm not a fan of a giant maze of mixin classes from a code clarify point of view (nobody reading code can rationally follow a non-trivial class hierarchy MRO graph in their head)... this refactor should actually work and allow for easier testing of our too many possible implementation choices - and I don't have meaningfully better ideas for that that'd work within the stdlib test suite.
One factory is for test cases when the digestmod parameter is missing; the other is for test cases when the digestmod parameter is unknown.
|
To ease usage in the future (although you or I will be the one reading this one with IntelliSense from IDE), I've added comments |
I previously allowed it to be None for future compatibility, but I think it's better to construct a fake hash function instead, or
|
Arf, again I forgot about the build bots that don't have the built-in implementations. I'll do something for that so that we can cleanly skip the test. |
repr()of HMAC OpenSSL objects properly.