-
-
Notifications
You must be signed in to change notification settings - Fork 42.4k
Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases #15889
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
df80a71 to
ecee26b
Compare
ecee26b to
892173e
Compare
892173e to
6e018ce
Compare
|
|
6e018ce to
95f4b01
Compare
|
Last commit made |
|
Conflicts once base branch swapped to |
95f4b01 to
2c737d5
Compare
|
Conflict fixed. |
2c737d5 to
cd0e9d1
Compare
|
Last commit fixed having |
cd0e9d1 to
3e11c13
Compare
|
Since this hasn't been merged yet I'm adding unit tests. Shouldn't be long at all but don't review/merge in the meantime. |
5663128 to
55c52dc
Compare
|
Conflicts with #15741 now but that's just because I found things that could be deleted so should be easy :) I had to make some changes to the way tests are run to allow Retro Shift and the Tap Hold configurations to have the same folder names and both be runnable. I think the glob-like behavior is pretty good, if we name things appropriately one can run relevant test cases easily and without doing them all during development. It also sort of mirrors the keyboard commands and generated files. I need to look into the failing combo tests (E: they didn't add their keys to Retro Shift), give this actual physical board testing (E: looks good so far), and check if I've managed to fix one last bug unintentionally (E: I did) or if it needs a workaround, but there shouldn't be many changes what with the tests passing. |
quantum/action_tapping.c
Outdated
| if (IS_TAPPING_KEY(waiting_buffer[i].event.key) && !waiting_buffer[i].event.pressed && ( | ||
| WITHIN_TAPPING_TERM(waiting_buffer[i].event) | ||
| # if defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT) | ||
| || ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This being missing made so much weird behavior and caused 2-3 months of on-and-off playing with one bug and then getting frustrated and quitting for a while.
|
Thank you for your contribution! |
6efa940 to
64996de
Compare
| @@ -497,7 +497,7 @@ void process_action(keyrecord_t *record, action_t action) { | |||
| default: | |||
| if (event.pressed) { | |||
| if (tap_count > 0) { | |||
| # ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY | |||
| # ifdef HOLD_ON_OTHER_KEY_PRESS | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Life got crazy but I finally got around to looking at this again after stale-bot reminded me. Should be good to go again, other combo tests are failing right now so the action won't run but they're passing. E: combo tests were my fault, fixed.
The issues weren't actually from that PR, they were from a couple of the things I had thrown in in the last PR to make Retro Shift ready for HOLD_ON_OTHER_KEY_PRESS before it happened not being quite correct. I also fixed the above, which I think wasn't noticed in the three months since the switch because an earlier evaluation was also added (which I had to exclude Retro Shift from).
64996de to
7ca9b67
Compare
7ca9b67 to
1cc9b49
Compare
|
Thank you for your contribution! |
Makes multiple tests of the same name work Allows calling all tests under a organizational directory
535a659 to
b3cb29d
Compare
b3cb29d to
7a6ef6e
Compare
Description
This PR:
make test:auto_shiftwill run all Auto Shift testsmake test:auto_shift:retro_shift:permissive_hold(or similar) allows running tests in different directories that have the same name, versus the old behavior of whichever's parent directory was later in the alphabetmake test:permissive_holdwill run both Retro Shift'spermissive_holdtest and the normal oneIt also makes
RETRO_SHIFTnot default toTAPPING_TERM, as the behavior can be confusing (trying out the feature -> holding -> not releasing betweenAUTO_SHIFT_TIMEOUTandTAPPING_TERMwhich are probably close for most users). The old behavior also made it impossible to make holds of any length send the shifted value aside from settingRETRO_SHIFTtoINT_MAXor something.Types of Changes
Issues Fixed or Closed by This PR
DYNAMIC_TAPPING_TERMChecklist