zmk/app/tests/Creating Tests.md
2020-08-28 16:21:31 -04:00

1.2 KiB

Basics

Any folder under /app/tests containing native_posix.keymap will be selected when running ./run-test.sh all.

test_case/events.patterns contains sed patterns that will select the interesting output from the application

test_case/keycode_events.snapshot contains the expected output after applying events.pattern to the output

test_case/native_posix.keymap defines the keys and the mock key presses. Most tests include a common keymap for their test set

Creating a New Test Set

  1. Copy the test set that most closely resembles the tests you will be creating.
  2. Rename the newly created test set to the behavior you're testing e.g, toggle-layer
  3. Modify behavior_keymap.dtsi to create a keymap using the behavior and related behaviors
  4. Modify test_case/native_posix.keymap for a simulated use case
  5. Modify test_case/events.patterns to collect relevant logs to the test
  6. Modify test_case/keycode_events.snapshot for to include the expected output
  7. Repeat steps 4 to 6 for every test case