Gergely Nagy
f4de545390
Merge pull request #1035 from gedankenexperimenter/hook/afterReportingState
...
Add `afterReportingState()` event handler
3 years ago
Gergely Nagy
ad30958deb
Merge pull request #1041 from gedankenexperimenter/tests/oneshot-key-ranges
...
Add missing checks for new OneShot key ranges
3 years ago
Michael Richters
e334be135d
Add testcase for OneShot/TapDance/Macros compatibility
...
OneShot keys should apply to all the key events generated by a Macros key, not
just the first one, even if the Macros key is injected by TapDance.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c9a98ecb26
Add testcases for issue #423
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
a8d1c26170
Add basic testcases for AutoShift plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
e2f710abee
Add testcase for issue 1032
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
5ddd7d1867
Add testcase for issue #1042
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
904083806f
Add missing checks for new OneShot key ranges
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
68d5fa80d1
Add testcases for SpaceCadet in "no-delay" mode
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
cf826188a4
Merge pull request #1030 from gedankenexperimenter/timeout-check-fix
4 years ago
Michael Richters
ed3b9205c5
Remove timeout padding from existing testcases
...
Now that the timeout checker has been fixed, we need to remove the extra 1
millisecond from testcases that verify timeouts.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c60dd9526d
Add testcase for issue #673
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
1416bdb4c8
Add testcase for issue #571
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
5b45092221
Add SpaceCadet testcase for issue #484
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
b84d82bdb1
Add Leader testcases, including for issue #407
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
67bf76a99a
Simplify and standardize some testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
cc8bd39c43
Add testcases for WinKeyToggle
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f136912015
Add testcases for Turbo plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
206d0681c8
Add testcases for Leader plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
e101121eec
Add testcases for SpaceCadet plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
5d69eca65d
Update testcase for issue 978
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
b0478b43d8
Update testcases for MagicCombo plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f7b7799756
Update testcases for TapDance plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
d2cb078604
Update testcases for OneShot plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
fb95769250
Update testcases for Qukeys plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
ba65bf46d2
Update testcases for TopsyTurvy plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
836e4af8ae
Update testcases for Macros plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
78ec964b09
Update testcases: events/keyboard-state/macros
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c1e64d0a60
Update testcases: examples/basic-keypress
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f13e08c77a
Update testcases: events/keyboard-state/release-cleared
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
a2f720e365
Add testcases for rollover conditions on Keyboard HID keys
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
b8025a94f3
Adjust configuration for issue #970 test sketch
...
With a non-zero default for tap-repeat, the timing of events changed, causing
this testcase to fail.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
8b1bf403c3
Add Qukeys tap-repeat feature basic test
...
This is not complete, but it does test the two basic cases of a double-tap and a
tap-then-hold (to produce a single primary key value hold in output) on all
three types of qukeys (Generic, DualUse, SpaceCadet).
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
20cb771dbf
Update Qukeys basic test suite tap-repeat configuration
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
0db11e3e66
Update basic Escape-OneShot testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
4f243dbef6
Update testcase for OneShot issue #896
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c4332f1545
Update basic OneShot testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
682019493a
Update Kaleidoscope-Ranges testcase for new OneShot keys
...
The new items have been added to the end of the list (before `SAFE_START`),
where they belong.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f1e727dba7
Add testcase for OneShot issue #896
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
e5e0544540
Add testcase for keyboard state array using Macros
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
ffeb137082
Add testcase for the keyboard state array
...
This testcase checks to make sure that the keyboard state array gets cleared by
`handleKeyswitchEvent()` when a plugin returns `EVENT_CONSUMED`.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
8b01f51c24
Add testcase for TapDance issue #980
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
dbf46d83e0
Add testcase for TapDance issue #922
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
a15f4e6d6a
Add testcase for TapDance issue #806
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
b213fb7677
Add to basic TapDance testcases
...
This adds a testcase for rollover from a TapDance key to the key that interrupts
the sequence, and a testcase for a TapDance key that times out while held.
I also adjusted the timing of the existing testcases to match the new version of
TapDance.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
d0c34ad707
Add testcase for backwards compatibility of ranges
...
This testcase checks for any changes to existing values in Kaleidoscope-Ranges,
with the goal of preventing backwards-incompatible changes that will affect
existing EEPROM keymaps configured via Chrysalis.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
96b708f5a1
Add testcases for floating base layer
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
86c7a32ccc
We weren't actually reporting out failed tests as an exit code when running simulator tests
4 years ago
Jesse Vincent
dfb710f705
Move key def sections into a subdirectory to make the codebase a bit cleaner.
...
These should never have been getting called directly by end-user code, although the URLs were referenced as a resource in docs.
4 years ago
Michael Richters
496cc8888d
Adapt basic TopsyTurvy testcase for KeyboardioHID#67
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
6ef1570964
Improve dependency tracking, cleanup and presentation in test Makefiles.
4 years ago
Jesse Vincent
61f8fc5456
Rename test sketches to match directory names
...
In the arduino world, all sketches need to be in directories whose names match the sketch names.
4 years ago
Jesse Vincent
d6bd14581c
Add a sketch.json for each of the current examples and tests
...
Arduino-cli uses a simple sketch.json file to set the FQBN for a sketch. This replaces most use cases for kaleidoscope-builder
4 years ago
Michael Richters
46736361b8
Add testcases for Redial with rollover
...
I also simplified the Redial test suite sketch to make it easier to read.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c1d8f3b9c0
Add basic TapDance testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
0c03d19c64
Add basic ShapeShifter testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
9f18e65ce4
Add basic TopsyTurvy testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
40cc6a290e
Add basic MagicCombo testcase
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
56cafeb9fd
Add basic Escape-OneShot testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
6858c0b030
Add basic OneShot testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
0ccc3dcde0
Explicitly expect no key reports on issue 987 test
4 years ago
Michael Richters
2b6e6f437c
Add testcase for idle key events in simulator
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
a61765e630
Exit from the testing loop with an error in case of failed test.
...
Fixes #974
4 years ago
Jesse Vincent
b0902f35da
Add a "generate-testcases" target to make -C tests
...
Make ktest regeneration use a little bit more of Make's smarts.
Fixed #973
4 years ago
Jesse Vincent
b2e899429f
'make clean' fixes
4 years ago
Michael Richters
e1166b5ebd
Fix issue #970 testcase
...
The timing of expected reports was off slightly in two places.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
9e1aaac3d8
Convert issue #970 testcase to ktest
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
ae0a9975b6
Add testcase for issue #970
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
33618fb088
Update Qukeys basic testcase for issue #970
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
395f8ac992
temp workaround for test failures
4 years ago
Jesse Vincent
cd2698d701
Port Redial tests to ktest. Add a couple ktest features to support that
4 years ago
Jesse Vincent
b767a25e7f
re-enable the subtests in keycode tests
4 years ago
Jesse Vincent
7e5b05e447
There's no real need to vary the generated test
...
class for each generated test file. removing
this makes test definitions simpler
Also, grow support for multiple tests within a script
Signed-off-by: Jesse Vincent <jesse@keyboard.io>
4 years ago
Michael Richters
d673585224
Add a few simple testcases for Macros
...
These testcases demonstrate that the macros defined in the keymap still work as
they did before the change from `IS_MACRO` to using `kaleidoscope::ranges`.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
cbdd2b30eb
Port issue 941 test case to ktest
4 years ago
Jesse Vincent
bf461fc9ea
Move "basic keypress" test to ktest
4 years ago
Jesse Vincent
61b41972c4
Port the 'keycodes' test to ktest
4 years ago
Jesse Vincent
4517ff7c0e
Add a first version of a Kaleidoscope testing DSL.
...
The goal is to make it easy for folks to write tests without knowing C++
Signed-off-by: Jesse Vincent <jesse@keyboard.io>
4 years ago
Jesse Vincent
a28a745059
I missed this when cherrypicking
...
Signed-off-by: Jesse Vincent <jesse@keyboard.io>
4 years ago
Michael Richters
98eff330b3
Rename shared.h -> common.h
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
af60ffa317
Tweak diagnostic message based on my understanding of the code
...
Signed-off-by: Jesse Vincent <jesse@keyboard.io>
4 years ago
Michael Richters
381eff1e13
Add testcase for simulator HID report timestamps
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Gergely Nagy
f32f845d97
tests: Add a failing testcase for #951
...
This adds a test to check that `Layer.isActive(0)` should return true, without
explicitly activating layer 0. At the moment, this is not the case, and the test
will fail.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
4 years ago
Gergely Nagy
518989ba57
Merge pull request #944 from keyboardio/standardize-key-report-names
...
Switch ConsumerControlReport and SystemControlReport to use ActiveKey…
4 years ago
Michael Richters
9de531bda0
Add rudimentary tests for Redial plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
ac97009327
Improve consistency of Qukeys testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
1d4fd1ed3a
Rename sketch.h -> shared.h
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f1e0126b8d
Add copyright & license info
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
fd9b7462b0
Add four basic Qukeys testcases
...
These are very rudimentary testcases, and already need to be rewritten, but
should serve as the first step in a process of developing better, more robust
testcases in the future.
- A single tap of a qukey alone
- A hold timeout test
- A full overlap test (subsequent key released first)
- A rollover test (subsequent key released late enough to produce primary qukey value)
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
7f6d09c15b
Merge pull request #948 from gedankenexperimenter/t/keyboard-hid-modifiers
...
Add modifier information to KeyboardReport class
4 years ago
Jesse Vincent
e96d06893c
Make it possible to only run a subset of the simulator tests using the TEST_PATH variable
...
Suggested by @gendankenexperimenter
4 years ago
Michael Richters
2d47d64961
Add testcase for basic modifier keycodes
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
240f141538
Reduce the number of cycles the "long" test runs for, for perf reasons
4 years ago
Jesse Vincent
895f5f1e00
Add some tests for SetCycleTime
4 years ago
Jesse Vincent
cfcfd3b75e
Add diag strings for some tests to help debug
4 years ago
Michael Richters
1c24228f80
Add testcases for `RunForMillis()` simulator function
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
3a16fc95fb
Cut down the sketch for the test to remove extraneous stuff
4 years ago
Michael Richters
23a78e119b
Testcase for simultaneous keypresses
...
This test runs multiple keypresses in the same cycle, and checks to see that the
last report generated contains the correct active keycodes (and no others).
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
39f0bbe159
Add KeyAddr versions of Press() & Release() to the simulator
...
This commit adds versions of `SimHarness::Press()` and `SimHarness::Release()`
functions that use a `KeyAddr` parameter instead of row & column integers.
to build the test.
4 years ago
Jesse Vincent
51d48245ad
Switch ConsumerControlReport and SystemControlReport to use ActiveKeycodes and ActiveKeycode respectively, to match Keyboard.
4 years ago