Commit graph

95 commits

Author SHA1 Message Date
Eberhard Beilharz
ca96a8c38d
chore(linux): address code review comments 2025-02-19 10:59:44 +01:00
Eberhard Beilharz
0c2d8f0312
refactor(linux): changes to get integration tests working
This change contains various changes and refactorings which together
allows the integration tests to pass again.

One of the important changs is `DbusTestHelper` which listens to a DBus
signal for a sentinel message and then simulates the sentinel key press.
Getting this to work also requires processing sd-bus messages which hooks
into the glib event loop and is implemented in `EventSource`.

Fixes: #13204
2025-02-14 17:30:42 +01:00
Eberhard Beilharz
44eb85f433
chore(linux): Revert "refactor(linux): temporarily ignore integration tests"
This reverts commit 3a72e56c75.
2025-02-14 16:42:07 +01:00
Eberhard Beilharz
84df966c38
refactor(linux): cleanup code of test fixture 2025-02-14 16:35:06 +01:00
Eberhard Beilharz
937f799d23
chore(linux): update message when running tests 2025-02-14 16:34:27 +01:00
Eberhard Beilharz
af99c1d668
chore(linux): improve the output if dependencies are missing 2025-02-14 16:31:12 +01:00
Eberhard Beilharz
051e6c7b1b
feat(linux): add --remote-debug flag to run-tests.sh script
This allows to run the tests in a VM and debug them remotely.

Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-02-14 16:29:41 +01:00
Eberhard Beilharz
b1c818338f
refactor(linux): address code review comments 2025-02-06 16:57:52 +01:00
Eberhard Beilharz
3a72e56c75
refactor(linux): temporarily ignore integration tests
The setup for the integration tests is still wrong, so ignoring them
allows us to start the users tests and move forward. The integration
tests will be fixed in a follow-up commit.
2025-02-05 11:47:58 +01:00
Eberhard Beilharz
ec0ca04805
refactor(linux): Implement ordered output without patched ibus
This change implements things on the ibus-keyman side.

Fixes: #10799
2025-02-05 11:42:05 +01:00
Eberhard Beilharz
00a00f6dda
chore(linux): preserve log files when running tests under Docker
This change copies the log files that get created during a test run to
the `build/docker-linux/tmp` directory. Also fixes a bug when not
running in docker. Also create log file for test server.
2025-01-31 16:14:41 +01:00
Eberhard Beilharz
80ae8e6289
chore(linux): improve compatibility with Gentoo Linux 🍒
Gentoo doesn't use systemd. `libelogind` or `basu` implement some aspects
of systemd, so we use that on Gentoo (or rather when `libsystemd` is not
available but `libelogind` or `basu` is).

Patch from https://forums.gentoo.org/viewtopic.php?p=8850566.
See also https://community.software.sil.org/t/keyman-for-gentoo-linux/9615.

Cherry-pick-of: #12889
2025-01-29 09:18:22 +01:00
Eberhard Beilharz
5090aeefd9
fix(linux): improve test script
This changes the test script: when running in Docker it doesn't make
sense to restart ibus when exiting the tests. This works around a
problem where the `ibus start` command would hang.
2025-01-24 10:43:31 +01:00
Eberhard Beilharz
248f01f1e3
chore(linux): change SIL International to SIL Global 2024-12-10 10:26:44 +01:00
Marc Durdin
ffae5bab1c chore(core): typo in meson 2024-11-28 11:56:50 +07:00
Marc Durdin
faf479c105 chore(linux): include common test source files 2024-11-28 10:54:01 +07:00
Eberhard Beilharz
bcc09b78c8
chore(linux): use shared meson config
Fixes: #8406
2024-06-24 19:08:12 +02:00
Eberhard Beilharz
d93fb6aa0b
refactor(linux): rename methods that deal with keyboard options
This renames the existing methods that read and write keyboard options
so that it's visible from the name that they read/write keyboard options.
This is in preparation of new methods that read and write more general
options.
2024-06-21 18:22:29 +02:00
Eberhard Beilharz
1e67022a44
change(linux): restart ibus only when manually running tests
If we try to restart ibus when we run the tests as part of a build we
run into a timeout in the test teardown.
2024-06-14 15:37:43 +02:00
Eberhard Beilharz
407cfa8f33
chore(linux): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-06-14 15:09:13 +02:00
Eberhard Beilharz
b93c459515
fix(linux): restart ibus after manual integration test run
Previously keyboard input was no longer input after manually running
the integration tests. This change fixes this by restarting ibus after
the tests. However, we only want to do that if the ibus instance we
started for the tests got killed. The cleanup script might get called
multiple times, so we need this check.
2024-06-13 17:50:41 +02:00
Eberhard Beilharz
6b5b44eddd
fix(linux): Fix packaging on Ubuntu and Debian servers
When building packages warnings are treated as errors. When building on
Ubuntu and Debian servers we don't have a patched ibus version but still
want to build the packages. So this change outputs a message instead of
a warning when building packages.
2024-01-29 17:50:04 +01:00
rc-swag
aef718c56b fix(core): update linux test load_source call 2023-12-15 14:05:37 +10:00
Eberhard Beilharz
604fbc1a75
chore(linux): Rename namespace kbp to core 2023-10-19 10:39:55 +02:00
Eberhard Beilharz
52bb859817
chore(linux): Rename (lib)kmnkbp to (lib)keymancore 2023-10-19 10:35:09 +02:00
Eberhard Beilharz
7340c6be1f
chore(linux): Improve process check 2023-10-10 15:52:52 +02:00
Eberhard Beilharz
2356a39efa
chore(linux): Add testname to log file 2023-10-10 15:52:52 +02:00
Eberhard Beilharz
22126a0eef
refactor(linux): Use auto cleanup 2023-10-10 15:52:51 +02:00
Marc Durdin
db76e2541d chore: rename KM_KBP_ to KM_CORE_ 2023-10-09 14:53:22 +07:00
Marc Durdin
4ef18f5e29 chore(core): rename keyboardprocessor.h to keyman_core_api.h
Fixes #9721.

Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07:00
Eberhard Beilharz
43ae210494
chore(linux): Fix run-tests.sh script
This passes the new parameter to the `setup` call which got introduced in
a previous PR.
2023-09-27 12:58:00 +02:00
Eberhard Beilharz
650c04d21c
chore(linux): Dynamically choose display number
This improves reliability if some processes are still running from a
previous run, which previously caused the tests to fail.

Also in the case of failed processes, list which ones are missing.
2023-09-26 18:09:13 +02:00
Eberhard Beilharz
4ecaad6ef1
chore(linux): Address code review comments 2023-09-26 13:04:33 +02:00
Eberhard Beilharz
1b5a86607d
chore(linux): Check that background processes are still running
Before we run a test we now check that ibus and the other processes
we need are still running. If not we run test setup again.

Maybe fix #9570.
2023-09-25 18:55:54 +02:00
Eberhard Beilharz
90627428c4
chore(linux): Debug test failures
This no longer suppresses the output of cleanup.
2023-09-21 18:55:28 +02:00
Eberhard Beilharz
4e4a1215ce
chore(linux): Fix bug in ibus-keyman run-tests.sh script 2023-09-21 18:55:27 +02:00
Eberhard Beilharz
447bc842ae
docs(linux): Update readme for ibus-keyman tests 2023-09-21 10:25:48 +02:00
Eberhard Beilharz
c16b602865
chore(linux): Check existence of services directory
When running the integration tests, we provide a test service that
replaces `keyman-system-service`. DBus needs the updated `.service`
files in the `services` directory so that it will use the test
service. This change outputs an error and returns an non-zero
exit code if it can't find the `services` directory, which usually
means that `keyman-system-service` didn't get build.
2023-09-21 10:25:48 +02:00
Eberhard Beilharz
c616be6bf1
refactor(linux): Move common code to included file 2023-07-19 17:39:34 +02:00
Eberhard Beilharz
6622c70fd2
chore(linux): Fix running tests with Wayland
Because we passed in a wrong parameter (`--wayland`) but checked for
just `wayland` we never run the tests with Wayland. This change
rectifies this.
2023-07-19 16:22:31 +02:00
Eberhard Beilharz
81f46e1a6d
feat(linux): Minimize tags before adding keyboards
This ensures that bcp47 language tags are in a form the OS
understands.
2023-07-19 16:20:27 +02:00
Eberhard Beilharz
749112660d
chore(linux): Move some files to keyman-config
Some of the configuration files are useful for other distributions
as well. So this change moves them out of `debian/` to
`linux/keyman-config` so that they will be included in the source
tar ball.

Also remove zero-width space from one file.

Closes #8880.
2023-06-05 15:24:41 +02:00
Eberhard Beilharz
ab25157364
feat(linux): Refactor to benefit from C++ RAII
Also apply changes from code review comments.
2023-05-22 19:51:45 +02:00
Eberhard Beilharz
a820d34c08
chore(linux): Fix meson warnings 2023-05-22 18:10:54 +02:00
Eberhard Beilharz
16daabd0f4
feat(linux): Make cleanup more consistent
Follow-up of code review comments.

# Keyman Conventional Commit suggestions:
# - Consider appending the text ". Fixes #4273" to your commit message.
2023-05-17 10:46:20 +02:00
Eberhard Beilharz
f6e5e468c4
chore(linux): Rename test-helper.sh to test-helper.inc.sh
Follow-up of code review.
2023-05-16 10:59:16 +02:00
Eberhard Beilharz
c2e6fe23bd
feat(linux): Client side 2023-05-15 09:13:58 +02:00
Eberhard Beilharz
24d808a210
chore(linux): Address code review comments
This is a follow-up of #8510.
2023-05-09 11:03:55 +02:00
Eberhard Beilharz
215e8d5eb8
Update linux/ibus-keyman/tests/scripts/test-helper.sh
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2023-05-08 09:53:45 +02:00
Eberhard Beilharz
f150f0cd68
Update linux/ibus-keyman/tests/scripts/test-helper.sh
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2023-05-08 09:53:36 +02:00