This change suppresses the output of ending the processes started for the test run. The output doesn't help much but clutters the overall output and shows up as warnings on TC. |
||
|---|---|---|
| .. | ||
| dbus-test-server | ||
| scripts | ||
| DbusTestHelper.cpp | ||
| DbusTestHelper.h | ||
| EventSource.cpp | ||
| EventSource.h | ||
| ibusimcontext.c | ||
| ibusimcontext.h | ||
| KeyHandling.cpp | ||
| KeyHandling.h | ||
| meson.build | ||
| README.md | ||
| testfixture.cpp | ||
| testfixture.h | ||
| testmodule.c | ||
| testmodule.h | ||
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:
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.
scripts/run-tests.sh -- k_000___null_keyboard k_005___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:
linux/ibus-keyman/tests/scripts/run-tests.sh --remote-debug \
--no-surrounding-text --no-wayland -- k_001___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):
export TEAMCITY_GIT_PATH=/something