spiegel-keyman/core/tests/unit/meson.build
Marc Durdin d61e5bbb18 refactor(core): clean up unit tests
Consolidate test frameworks and cleanup, including:
* all tests use Google Test
* reorganize folders, esp. kmnkbd -> api
* move all api tests into api folder
* replace references to test_assert or test_color with gtest equivalents
* leverage gtest patterns to remove boilerplate code
* dramatically simplify meson.build files and localize variables
* move shared helper code into helpers/ folder
* make test names unique and add gtest protocol for reporting back to
  teamcity

Fixes:
* CLDR test keyboards had invalid unicodeset escapes (needs to be raised
  upstream also) - was not failing tests because files were not loading
  but returning success

Test-bot: skip
2026-04-28 12:17:44 +02:00

37 lines
1.1 KiB
Meson

#
# Keyman is copyright (C) SIL Global. MIT License.
#
# Cross platform build script to compile unit tests
#
common_test_files_without_main = [
meson.current_source_dir() / 'helpers' / 'emscripten_filesystem.cpp',
meson.current_source_dir() / 'helpers' / 'load_kmx_file.cpp',
meson.current_source_dir() / 'helpers' / 'printers.cpp',
meson.current_source_dir() / 'helpers' / 'action_items.cpp',
meson.current_source_dir() / 'helpers' / 'debug_items.cpp',
meson.current_source_dir() / 'helpers' / 'core_test_helpers.cpp',
]
common_test_files = [
common_test_files_without_main,
meson.current_source_dir() / 'helpers' / 'main.cpp',
]
common_test_keyboards_baseline = meson.global_source_root() / '../common/test/keyboards/baseline'
# shared commands for building fixtures
node = find_program('node', required: true)
hextobin_root = meson.global_source_root() / '../common/tools/hextobin/build/hextobin.js'
hextobin_cmd = [node, hextobin_root]
kmc_root = meson.global_source_root() / '../developer/src/kmc/build/src/kmc.js'
kmc_cmd = [node, '--enable-source-maps', kmc_root]
subdir('utftest')
subdir('api')
subdir('kmx')
subdir('ldml')
subdir('wasm')