Michael Richters
f50af857aa
Update Qukeys test suite to use the keymap definition stuff
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
1c559260fd
Add basic OneShot testcase
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
7ef7b4ba57
Add common keymap files to simplify test sketches
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
9ee4c931f3
Use new testing infrastructure in Qukeys test cases
4 years ago
Michael Richters
278bea785b
Use new testing infrastructure in Redial test cases
4 years ago
Michael Richters
c4139e48f7
Add Millis and Cycles types to enable polymorphic Run, PressKey, ReleaseKey, etc.
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
533b6da571
Little bits of refactoring to the ktest parser
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
d8b674f4dc
Small error in my cherry-picking.
4 years ago
Jesse Vincent
072892111e
Extract expected report validation. I'm very much not proud of the
...
hack of using a macro for this, but I'm happy to simplify test scripts
Signed-off-by: Jesse Vincent <jesse@keyboard.io>
4 years ago
Jesse Vincent
eebf8e639b
Add a variant of ExpectReport that takes an explicit list of keycodes
...
Signed-off-by: Jesse Vincent <jesse@keyboard.io>
4 years ago
Michael Richters
78e9ec4291
Add event queue functions to testing infrastructure
...
This change adds a set of functions to the `VirtualDeviceTest` class to make it
possible to write simpler testcases involving timed keyswitch press and release
events along with corresponding keyboard HID reports.
Other outputs (Consumer & System Control HID reports, LEDs, et cetera) are
not yet included.
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
Michael Richters
0473094d4e
Add timestamps to simulator HID report classes
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
326e823b70
Add a utility makefile target to get shell in docker
4 years ago
Jesse Vincent
b70b851321
Teach docker-run to run interactively or to be able to run from a non-interactive process like a git hook
...
Fixes #959
4 years ago
Jesse Vincent
f14e991e58
Merge pull request #958 from gedankenexperimenter/b/run-docker-macos-vars
...
Set BOARD_HARDWARE_PATH correctly for run-docker on macOS
4 years ago
Jesse Vincent
b3af380e48
Merge pull request #952 from keyboardio/layers/initial-state-fix
...
Fix Layer 0's initial state
4 years ago
Jesse Vincent
e253470ad7
Merge pull request #960 from gedankenexperimenter/c/astyle-continuation-indent
...
Astyle indentation
4 years ago
Jesse Vincent
3a6d17a469
Merge pull request #957 from Rom1deTroyes/patch-3
...
~[QuKeys] add doc about setOverlapThreshold(100)
4 years ago
Michael Richters
a1267c04e6
Astyle indentation
...
This is just a formatting update to match Kaleidoscope-Build-Tools#10
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
26f4ef498a
Set BOARD_HARDWARE_PATH correctly for run-docker on macOS
...
Because ARDUINO_LOCAL_LIB_PATH was being set to a default value for other
operating systems before checking the OS version, it would never get set
correctly for macOS (unless it was already set externally). This change fixes
that problem so that it's no longer necessary to set BOARD_HARDWARE_PATH
externally when executing `run-docker`.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Romain Heller
5f697356d8
~[QuKeys] add doc about setOverlapThreshold(100)
...
As discussed in the forum (see https://community.keyboard.io/t/atreus-layout-colemak-for-macos-w-qukeys/4158/7 for the comment)
Adding more precision is always a good thing :-)
Signed-off-by: Romain Heller <Rom1deTroyes@users.noreply.github.com>
4 years ago
Gergely Nagy
6479579e76
Merge pull request #954 from gedankenexperimenter/t/testing.nitpicks
...
Improve consistency and readability of code in testing/*
4 years ago
Michael Richters
470363f893
Whitespace only, for readability
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
bc14df9f8b
Follow naming convention for private member variables
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
371ba30ed3
Make SimHarness::CycleTime() const correct
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
50698376ce
Merge pull request #953 from keyboardio/tests/exit-with-results
...
testing: Do not ignore the return value of RUN_ALL_TESTS
4 years ago
Gergely Nagy
835c332303
testing: Do not ignore the return value of RUN_ALL_TESTS
...
Instead of ignoring the return value of RUN_ALL_TESTS, exit with the same status
code. This will make failing tests actually fail the build, instead of logging
the error, and then exiting successfully.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
4 years ago
Gergely Nagy
60b5b24bd6
Layers: Fix the initial state of layer 0
...
When starting up, we correctly set the active layer counter to one, and the
active layer stack will therefore correctly contain layer 0 as an active layer.
However, we weren't setting the `layer_state_` bitmap up properly, and as such,
`Layer.isActive(0)` was returning false, despite the layer being active as far
as lookups were concerned.
To fix this, we explicitly flip the 0th bit on in the newly introduced
`Layer.setup()` method, where the initial keymap cache update was moved to, too.
Fixes #951 .
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
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
Gergely Nagy
79589610ba
Merge pull request #947 from keyboardio/fix/make-clean
...
"make clean" needs to clear out build and output paths
4 years ago
Jesse Vincent
a2e3eb1e9d
Merge pull request #950 from gedankenexperimenter/t/redial
...
Add rudimentary tests for Redial plugin
4 years ago
Michael Richters
9de531bda0
Add rudimentary tests for Redial plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
daaad86852
Merge pull request #949 from gedankenexperimenter/t/qukeys
...
Add some basic Qukeys testcases
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
820560f77c
Change the target the test suite uses when compiling sketches to avoid duplicate compilation
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