Fixes a race condition when compiling multiple packages, where the
temp path may be re-used before the compiler has finished with it.
To take advantage of this fix, I wanted to make sure I was using the
right kmcomp.exe when building unit tests for Keyman Core. This
uncovered a couple of other things:
* Updates Keyman Core build infrastructure to use the current kmcomp.exe
rather than a system-installed one.
* Corrects a bug that was identified by the 15.0 version of kmcomp in
one unit test (duplicate `&NAME` stores -- the meson test script
prepends a `&NAME` store to each source file during build).
@keymanapp-test-bot skip
Fixes#6364.
Removes `&layerChanged` and adds `&newLayer` and `&oldLayer` system
stores with the additional nuances around values as described in #6364.
Previously we overwrote our test data, so we basically ran the same
test repeatedly under different names.
Properly running them showed some failures which this change also
fixes or skips.
This change adds integration/regression tests for ibus-keyman. It
re-uses the unit tests that we have for core.
Also modifies one test so that the context doesn't use characters
used in the keyboard. This makes it easier to setup in ibus-keyman
tests.
While adding nested subdirs to `meson.build` works it still adds the
directory with the wrong path separator on Windows. This suddenly
caused problems when building.
This change adds package templates to the test folder and compiles
a keyboard package for each of the test keyboards. These
packages are useful for manual testing in addition to the automated
tests.
The copy keyword inside of configure_file got added in meson 0.47.
However, we still support Bionic which comes with meson 0.45. This
change adds a workaround.
This change generates kmp.json based on the test files specified in
meson.build. It will also generate .kmx files in the build directory
and copies the .kmn files to it as well.