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>
Macros was still using its own bit in the `Key.flags_` byte to define Macros
keys, unlike all the other plugins that define their own special `Key`
values. This standardizes Macros to make it more like other plugins.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
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>
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.
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>
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>
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>
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>