office-gobmx/config_host
Colomban Wendling 3426dcfec2 vcl gtk3: Introduce AT-SPI2 tests for the GTK3 accessibility layer
Add tests for the GTK3 accessibility platform layer.  These tests
compare the internal LO representation with what is visible to the
platform, and thus the user's accessibility tools.

In most cases the tests are fairly trivial as LO's internals are not
far off AT-SPI2's expectations.  There are however notable exceptions
like for example the text attributes, that have a wildly different
representation and require more complex checks matching what LO's
platform layer does, the other way around.

These tests use libatspi2 directly, but as the C API is awful to work
with regarding resource management, there are wrappers to handle the
complexity using RAII.  The resulting API is fairly trivial to use.

As these tests require using the GTK3 VCL plugin and for the a11y tree
to be visible to AT-SPI2, they are run under XVFB using a separate dbus
session through dbus-launch.

Working on this has already lead to reporting and/or solving some
issues:

* https://gerrit.libreoffice.org/c/core/+/151303
* https://gerrit.libreoffice.org/c/core/+/151650
* https://gerrit.libreoffice.org/c/core/+/152456
* https://gerrit.libreoffice.org/c/core/+/152457
* https://bugs.documentfoundation.org/show_bug.cgi?id=155625
* https://bugs.documentfoundation.org/show_bug.cgi?id=155705
* https://gerrit.libreoffice.org/c/core/+/152748

Only a subset of the a11y APIs are covered for the moment, but the
current state should make it easy to extend upon.

Change-Id: I1a047864ce8dc1f1bc3056ad00159f7fd5e5b7d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153069
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-27 20:01:17 +02:00
..
.gitignore
config_atspi.h.in vcl gtk3: Introduce AT-SPI2 tests for the GTK3 accessibility layer 2023-07-27 20:01:17 +02:00
config_box2d.h.in upgrade to box2d 2.4.1 2022-01-24 09:58:45 +01:00
config_buildconfig.h.in Send build config (configure options) in LOKit version info JSON 2022-11-07 20:35:46 +01:00
config_buildid.h.in
config_cairo_canvas.h.in
config_cairo_rgba.h.in add an --enable-cairo-rgba to set the order of pixels for internal cairo 2023-06-27 10:04:36 +02:00
config_clang.h.in
config_crypto.h.in
config_cxxabi.h.in
config_dbus.h.in
config_dconf.h.in
config_eot.h.in Revert "Use libo_CHECK_SYSTEM_MODULE for eot" 2022-10-01 14:21:28 +02:00
config_extensions.h.in
config_feature_desktop.h.in
config_feature_opencl.h.in
config_features.h.in move HAVE_EXPORT_VALIDATION from config_features.h 2022-04-29 06:55:04 +02:00
config_firebird.h.in
config_folders.h.in
config_fonts.h.in
config_fuzzers.h.in
config_gio.h.in
config_global.h.in
config_gpgme.h.in
config_java.h.in
config_langs.h.in
config_lgpl.h.in
config_libcxx.h.in Rename #define HAVE_LIBCXX -> HAVE_LIBCPP 2022-05-03 12:00:29 +02:00
config_liblangtag.h.in
config_locales.h.in
config_mpl.h.in
config_oauth2.h.in
config_oox.h.in
config_options.h.in
config_options_calc.h.in
config_poppler.h.in
config_probes.h.in
config_python.h.in
config_skia.h.in update skia to m116 2023-07-10 12:44:38 +02:00
config_typesizes.h.in
config_validation.h.in move HAVE_EXPORT_VALIDATION from config_features.h 2022-04-29 06:55:04 +02:00
config_vclplug.h.in kf6: Add a kf6 VCL plugin 2023-06-22 22:16:11 +02:00
config_vendor.h.in
config_version.h.in
config_wasm_strip.h.in WASM add Calc as optional build result, make it build & run 2022-10-14 09:21:30 +02:00
config_writerperfect.h.in
config_zxing.h.in tdf#153328 ZXing::ToSVG() Conditional usage 2023-07-05 15:33:08 +02:00
README.md

C/C++ Configuration Created by configure Script

These are configuration files for various features as detected by configure.

Include only those files you need (in order to reduce rebuilds when a setting changes).

Settings here are only C/C++ #define directives, so they apply only to C/C++ source, not to Makefiles.

Adding a New Setting:

  • do AC_DEFINE(HAVE_FOO) in configure.ac when a setting should be set
  • choose the proper config_host/config_XXX.h file to use
    • if it is a global setting (such as availability of a compiler feature), use config_host/config_global.h
    • otherwise check if there is a matching config_host/config_XXX.h file
    • if none matches, add a new one:
      • add config_host/config_XXX.h.in here, with just #ifndef include guard
      • add AC_CONFIG_HEADERS([config_host/config_XXX.h]) next to the others in configure.ac
  • add #define HAVE_FOO 0 to the config_host/config_XXX.h, possibly with a comment (do not use #undef HAVE_FOO, unless the setting has more values than on/off)
  • add #include <config_XXX.h> before any #if HAVE_FOO in a source file
  • make sure you use #if HAVE_FOO for on/off settings, do not use #ifdef