test/tool-option-parsing.py


Log

Author Commit Date CI Message
Pierre Le Marre daee709d 2025-03-14T13:45:58 test: Add xkbcli compile-keymap --kccgst tests
Pierre Le Marre 47f7f93c 2025-03-14T13:52:02 test: Check mutually exclusive tools options
Pierre Le Marre f01f0d63 2025-03-14T16:48:56 test: Check more tools options combinations
Pierre Le Marre 140e2cdd 2025-03-14T13:10:52 test: Make tools options parsing checks faster
Pierre Le Marre 5cfd36ab 2025-02-14T10:35:49 tools: Do not load names from the environment by default Our tools are debugging tools and as such we need to have complete control to be able to reproduce setups. This is not currently the case, as we do not use `XKB_CONTEXT_NO_ENVIRONMENT_NAMES` by default nor can we set it. So it is very easy to forget about the various `XKB_DEFAULT_*` environement variables for the default RMLVO values, then to get puzzled by unexpected results. Added to that, these environment variables do not work correctly in `xkbcli-compile-xeymap`: calling the tool without RMLVO values will use these variables only if the RMLVO values are set explicitly empty or if the various *constants* `DEFAULT_XKB_*` are empty. This is unexpected, as the environment variables should *always* be used unless: - `XKB_CONTEXT_NO_ENVIRONMENT_NAMES` is used (not the case here); - the variable is empty; in this case the constants `DEFAULT_XKB_*` are used. Fixed by the following *breaking change*: make the tools use `XKB_CONTEXT_NO_ENVIRONMENT_NAMES` *by default*, unless the new `--enable-environment-names` option is used. We also make `rmlvo` incompatible with `--enable-environment-names` for now in the public tool, as else it requires a private API.
Ran Benita e120807b 2025-01-29T15:35:22 Update license notices to SDPX short identifiers + update LICENSE Fix #628. Signed-off-by: Ran Benita <ran@unusedvar.com>
Pierre Le Marre 80233f96 2025-01-30T15:21:28 tests: Fix env variables messing tools arguments checks
Pierre Le Marre bc330c00 2023-11-07T12:58:20 xkbcli: Promote compose to xkbcli-compile-compose Previously this tool was only used for internal testing and thus not installed. But it is useful for debugging, much like xkbcli-compile-keymap.
Pierre Le Marre 1a4a89a7 2023-09-28T09:50:43 Python: make ruff & black happy
Peter Hutterer 34ef11d9 2022-01-20T14:17:50 test: show the tool exit status on failure We already do so for the non-successful cases, let's do this here too so we know whether it was a signal or a normal exit.
Ran Benita 8507af73 2021-05-22T20:11:10 test/tool-option-parsing: don't depend on build prefix Fixes: https://github.com/xkbcommon/libxkbcommon/issues/244 Signed-off-by: Ran Benita <ran@unusedvar.com>
Peter Hutterer 15576683 2021-04-21T09:02:40 test: allow skipping errors in certain conditions Add a skipError test function that can analyse rc, stdout, stderr to skip a test even when we expect an error. We use that to skip if we couldn't find a keyboard in the interactive-evdev test. Fixes #235 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 069777f4 2021-01-22T08:18:13 test: fix interactive evdev test invocation rmlvos is the parent list which then fails during a list join because, well, it's a list of lists. Fixes #206 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer d5e3695e 2021-01-22T08:05:09 test: fill in srcdir/builddir when not set in the environment Makes this test easier to run from the commandline. Where either of top_srcdir or top_builddir isn't set, fill them in from the CWD or fail otherwise. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Ran Benita 6178924f 2020-09-07T12:27:26 test/tool-option-parsing: skip testing of disabled tools Signed-off-by: Ran Benita <ran@unusedvar.com>
Ran Benita c621319e 2020-09-07T10:36:18 test/tool-option-parsing: switch from pytest to unittest For me, installing pytest for libxkbcommon is a bit problematic, so I end up skipping it which is not great. Switch to unittest which is built in to Python. It's not as nice as pytest but good enough in this case. Note: I was too lazy to switch the plain asserts to unittest assertions... Signed-off-by: Ran Benita <ran@unusedvar.com>
Ran Benita c8f309a2 2020-09-07T11:10:19 test/tool-option-parsing: keep isolated by using our own test data Make it possible to run the test on all machines. Signed-off-by: Ran Benita <ran@unusedvar.com>
Peter Hutterer 850ba7e6 2020-09-07T08:22:32 test: fix the xkbcli --version test Fixes https://github.com/xkbcommon/libxkbcommon/issues/185 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer d7b39f6f 2020-07-10T08:50:02 Add /etc/xkb as extra lookup path for system data files This completes the usual triplet of configuration locations available for most processes: - vendor-provided data files in /usr/share/X11/xkb - system-specific data files in /etc/xkb - user-specific data files in $XDG_CONFIG_HOME/xkb The default lookup order user, system, vendor, just like everything else that uses these conventions. For include directives in rules files, the '%E' resolves to that path. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 03ecaa6b 2020-07-27T11:26:51 test: ignore the real XDG_CONFIG_HOME during tests Let's not have our tests fail if the user has an incompatible $XDG_CONFIG_HOME/xkb directory. libxkbcommon has fallbacks when XDG_CONFIG_HOME isn't set so we need to override this with a real directory instead of just unsetting it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Ran Benita fcc6b28f 2020-07-27T11:57:24 tools/interactive-evdev: fixup 64bff65 Signed-off-by: Ran Benita <ran@unusedvar.com>
Ran Benita 0df23ea8 2020-07-25T16:38:43 test/tool-option-parsing: remove --kccgst test, it's private for now Signed-off-by: Ran Benita <ran@unusedvar.com>
Ran Benita 608e9361 2020-07-25T16:30:39 tools: run test-tool-option-parsing.py like a regular test Signed-off-by: Ran Benita <ran@unusedvar.com>