mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-26 09:37:40 +00:00
This change groups similar tests together. Also update `build.sh` to compile .js files. Follow-up-of: #15341 Test-bot: skip
59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
# ibus-keyman integration tests
|
|
|
|
The ibus-keyman integration tests run the tests defined in `common/test/keyboards/baseline`.
|
|
The tests run in a separate Xephyr session. Any dconf settings that have to be set during the tests
|
|
are stored in `~/.config/glib-2.0/settings/keyfile`.
|
|
|
|
## Running tests
|
|
|
|
The tests get run as part of building `ibus-keyman`, more specifically when running `build.sh test`.
|
|
|
|
### Run all tests
|
|
|
|
All tests can be run with the test script:
|
|
|
|
```bash
|
|
scripts/run-tests.sh
|
|
```
|
|
|
|
### Run specific tests
|
|
|
|
To run a single test you pass the testname (as found in
|
|
`common/test/keyboards/baseline`). Multiple tests should be separated by space.
|
|
|
|
```bash
|
|
scripts/run-tests.sh -- k_0000___null_keyboard k_0002___nul_with_initial_context
|
|
```
|
|
|
|
## Debugging tests
|
|
|
|
This is most easily done by running the tests in a VM and then remote debugging
|
|
into the VM. The VM should be the same Linux version as the host, and the
|
|
Keyman repo should be shared with the VM through a shared folder.
|
|
|
|
Then you can start the `run-tests.sh` script on the VM with the
|
|
`--remote-debug` option. This will start the background services and then
|
|
start a GDB session waiting for the debugger to connect.
|
|
|
|
For example:
|
|
|
|
```bash
|
|
linux/ibus-keyman/tests/scripts/run-tests.sh --remote-debug \
|
|
--no-surrounding-text --no-wayland -- k_0100___basic_input_unicodei
|
|
```
|
|
|
|
On the host, you can then attach to the VM. See the
|
|
`Attach to gdbserver (ibus-keyman integration tests)` configuration
|
|
in `docs/settings/linux/launch.json` for a sample configuration in
|
|
vscode. You'll have to adjust the IP address to match the VM which the
|
|
`run-tests.sh` script will output.
|
|
|
|
## Manually running tests in TeamCity
|
|
|
|
To run the tests manually in TeamCity, you'll have to set an
|
|
environment variable `TEAMCITY_GIT_PATH` (the actual value doesn't
|
|
matter):
|
|
|
|
```bash
|
|
export TEAMCITY_GIT_PATH=/something
|
|
```
|