aboutsummaryrefslogtreecommitdiff
path: root/test cases/frameworks
AgeCommit message (Collapse)AuthorFilesLines
2022-04-12qt dependency: find the correct -qtX configtool nameEli Schwartz1-2/+2
Fixes regression in commit c211fea51389728783cf59ae41156a5e0de9c41a. The original dependency lookup looked for `qmake-{self.name}`, i.e. `qmake-qt5`, but when porting to config-tool, it got switched to `qmake-{self.qtname}` i.e. `qmake-Qt6`, which was bogus and never worked. As a result, if `qmake-qt5` and `qmake` both existed, and the latter was NOT qt5, it would only try the less preferred name, and then fail. We need to define self.name early enough to define the configtool names, which means we need to set it before running the configtool __init__() even though configtool/pkgconfig would also set it to the same value. Mark the tests as passing on two distros that were failing to detect qmake due to this issue, and were marked for skipping because we assumed that the CI skipping there was an expected case rather than an old regression.
2022-04-12tests: fix incomplete Qt 6 supportStefan Hajnoczi4-3/+33
The "frameworks/4 qt" test covers Qt 4 and 5. There is already Qt 6 code in the test but it is incomplete because translations are missing and Qt 6 requires C++17 or later to compile.
2022-03-29gnome: Fix gtkdoc when using multiple Apple frameworksJan Tojnar2-1/+7
The `-framework Foundation -framework CoreFoundation` ended up de-duplicated by OrderedSet into `-framework Foundation CoreFoundation`.
2022-03-06i18n module: fix bug that made msgfmthelper die on combinations of argsEli Schwartz2-0/+2
Due to misuse of argparse in commit 82492f5d765b70cc87385fb887008df89fac878e it was impossible to use both --datadirs and extra args passed directly to msgfmt at the same time. I'm not sure anyone actually knows how argparse works, so misusing it is easy. What is definitely known is that argparse is NOT a POSIX compliant parser and doesn't behave the way you'd expect a standards based parser to handle options. Instead it caters to the easy use case, and hopes and prays you don't need to do anything too complicated "with the wrong kind of complicated". Apparently, this particular type of complicated is when you have mixed option_arguments and operands while simultaneously passing some operands as nargs after a --. It totally breaks, and interprets --datadirs, which is supposed to be an option_argument, as an operand, eats it up as a msgfmt wrapped argument, and breaks. But if you don't pass additional arguments with -- then it interprets --datadirs after operands as an option_argument. This is what we were doing. Instead pass option_arguments before all operands (including the ones specified via `-- ...`). Add test case to pass meaningless datadirs (we don't actually care if $GETTEXTDATADIRS is set to something that doesn't contain gettext data).
2022-01-27modules/gnome: Allow gdbus_annotations to take an empty list againDylan Baker1-0/+10
This was allows up to 0.61.0 (including with the initial type annotations), but was accidentally broken by fixes for other bugs in 0.61.1. Fixes: #9883
2022-01-22Merge pull request #9742 from ximion/wip/itstoolJussi Pakkanen9-2/+127
i18n: Add support for joining XML localization via itstool
2022-01-21i18n: Add support for joining XML localization via itstoolMatthias Klumpp9-2/+127
2022-01-15gnome.genmarshal: restore the ability to pass sources as Files objectsEli Schwartz3-17/+61
It used to support: - a single string - an array of anything And as long as CustomTarget supported it too, everything worked fine. So, a `files('foo')` worked but a `files('foo')[0]` did not, which is silly... and it's not exactly terrible to use files() here, the input is literally a list of source files. Fixes building gnome-terminal Fixes #9827 Test updated by Nirbheek Chauhan <nirbheek@centricular.com>
2022-01-15tests: Add a partial test for gtk_doc check: kwargNirbheek Chauhan1-1/+2
check: true is needed for an actual regression test, but that requires a pedantically correct gtk-doc configuration, which I attempted to do and failed. So let's just put check: false so we get *some* coverage: just that typed_kwargs accepts the argument. Related to https://github.com/mesonbuild/meson/pull/9807
2022-01-15tests: Add regression tests for gdbus_codegen argsNirbheek Chauhan2-1/+22
https://github.com/mesonbuild/meson/pull/9812
2022-01-15tests: Add a regression test for gtk-doc argumentsNirbheek Chauhan5-0/+14
gobject_typesfile html_assets https://github.com/mesonbuild/meson/pull/9807
2022-01-02test cases/frameworks/13 yelp: Do not reuse sources filesPablo Correa Gómez4-8/+24
Additionally reorder test.json for better readability
2021-12-06gnome module: deprecate passing false to install_dir_girEli Schwartz3-5/+11
Use a proper install option for this. Now `install_<type>` can directly override `install` instead of passing a boolean to the string kwarg `install_dir_<type>`.
2021-12-06gnome module: document and fix install_dir x3, by allowing false *_gir and ↵Eli Schwartz2-3/+3
*_typelib generate_gir forces building both the typelib and gir, and some people only want one or the other (probably only the typelib?) which means flagging the other as install_dir: false in the same way custom_target supports. As this always worked, albeit undocumented, make sure it keeps working. It's pretty reasonable to allow, anyway. Fixes https://github.com/mesonbuild/meson/pull/9484#issuecomment-980131791
2021-11-20Update expected skip condition for llvm framework test on msys2Jon Turney1-1/+1
On msys2, we will now find static llvm using cmake
2021-10-30Added warning if run_command is called without the check kwargVolker Weißmann3-4/+4
2021-10-27modules/gnome: ensure that `install_dir` is setDylan Baker1-3/+3
The `mkenums` functions can have this unset if, and only if, the c file only variant is called. Due to side effects if the header file is generated then `install_dir` is ensured to be set for the c file. I have removed this side effect so that our tests actually cover this case. Fixes #9472
2021-09-29unittests: Make qt test work if multiple versions of qt installedmakise-homura1-1/+1
2021-09-10add test case for qrc translationsEli Schwartz6-0/+51
2021-08-31pylint: turn on superflous-parensDylan Baker2-3/+3
We have a lot of these. Some of them are harmless, if unidiomatic, such as `if (condition)`, others are potentially dangerous `assert(...)`, as `assert(condtion)` works as expected, but `assert(condition, message)` will result in an assertion that never triggers, as what you're actually asserting is `bool(tuple[2])`, which will always be true.
2021-08-30decorators: Make unknown kwarg fatalXavier Claessens1-4/+0
2021-08-18Test boost-python on macOSKevin Meagher1-6/+8
Previously the meson test case would only test boost-python on linux. With the #7909 it is now possible to use boost-python on macOS/homebrew. This enables the boost-python test on both linux and macOS. It also uses python.extension_module() instead of shared_library to make the python extension module.
2021-08-15editorconfig: add setting to trim trailing whitespaceEli Schwartz19-19/+4
and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
2021-08-14Force unity builds off in Flex test.Jussi Pakkanen1-1/+3
2021-08-12Pass a test file to flex test.Jussi Pakkanen3-2/+5
2021-08-11Make the flex test case workAdrien Plazas2-11/+3
This adds the noyywrap option so flex doesn't wait for more input once we reached EOF. This also adds the nounput and noinput options to fix compilation warnings. We can now run the test as expected.
2021-08-09Fix i18n target name when using @BASENAME@ and configure_file() inputXavier Claessens4-1/+43
Fixes: #9022
2021-08-04Relax restrictions on detecting boost dependencyKevin Meagher16-0/+18
This does two things: * allows the library files to be symlinks * searches `lib` and `lib64` in `BOOST_ROOT` even if it finds lib directories from the compiler The first condition is needed for the homebrew on macOS because boost and boost python are provided in seperate packages and are put together in /usr/local/lib with symlinks to the library files. The both conditions are needed for high performace computing environments where dependencies are often provided in nonstandard directories with symlinks A test case was added which looks for boost libraries in seperate directories which have been symlinked to BOOST_ROOT/lib
2021-07-28expand tests to check both static and shared intl dependencyEli Schwartz3-1/+10
2021-07-13Add expected skip annotations for non-linux CI runs to framework testsJon Turney31-24/+73
2021-07-13Fix skip condition in sdl2 test.jsonJon Turney1-1/+1
The build_machine.system() value we should be matching against is 'darwin', not 'macos', so this was expected to skip everywhere. Unfortunately, fixing this reveals that this test skips in our macos CI runs also, (I think) because brew doesn't (normally) provide frameworks, just pkgconfig files. So, also skip this test there, which means it doesn't run anywhere in CI currently.
2021-07-07Annotate framework tests with where they are expected to skipJon Turney9-8/+21
Remove hard-coded framework test skip logic in skippable(), instead annotate test.json with environments in which skip is expected. (Mainly this is done with by testing the value of MESON_CI_JOBNAME now set for linux jobs)
2021-07-07Skip LLVM test if required modules aren't foundJon Turney1-3/+6
If the required LLVM modules can't be found, skip the LLVM framework test, rather than succesfully doing nothing. (This optionality is a leftover from before #7379) (At the moment, OpenSuse provides dynamic-only LLVM. The cmake method still finds LLVM, when a static LLVM is requested, but fails to find any modules. This might be a bug in the cmake method of the LLVM dependency.)
2021-06-24Fix test.json for boost test to match schemaJon Turney1-4/+4
I guess the intent was that tests of thread/debug library variants only get run with MSVC, but currently this test isn't getting run at all in our Windows CI (since boost got removed from the VM image [1], and we didn't notice, more on which anon). [1] https://github.com/actions/virtual-environments/pull/2843
2021-06-22tests: both_library test improvementsDaniel Mensinger1-1/+1
This switches some `shared_library()` calls to `library()` and adds one new CI matrix entries for -Ddefault_library={static, both}.
2021-06-18modules/qt: use append rather than extend in preprocessDylan Baker1-0/+10
Because that's what we need, of course
2021-06-17update gettext test to use new intl dependencyEli Schwartz2-3/+4
Tests that we find something sensible for intl, capable of producing binaries using gettext() to translate stuff. No more need to manually check headers and *maybe* include the intl library, which we were doing before; the new dependency actually simplifies the existing test, and should simplify users' build files too...
2021-06-15modules/qt: Add a compile_moc methodDylan Baker1-4/+4
This method only compiles moc resources, nothing else
2021-06-15modules/qt: Add a compile_ui methodDylan Baker1-1/+2
Which is the same functionality split out of preprocess
2021-06-15modules/qt: Add a `compile_resources` methodDylan Baker1-1/+5
This is a separate method for just handling qrc resources.
2021-05-28modules/gnome: Correctly handle generated sources for generate_girDylan Baker2-1/+27
We need to pass any generated sources down the CustomTarget inititalizers so that they will generate a dependency correctly, otherwise we get race conditions.
2021-05-20Revert "Disable failing Cygwin GIR test."Jon Turney4-16/+0
This partially reverts commit add502c6483bde9dc6a0ba80b3c79163304465a4.
2021-05-12gnome: Fix gtkdoc generationXavier Claessens8-4/+88
install_scripts used to replace @BUILD_ROOT@ and @SOURCE_ROOT@ but it was not documented and got removed in Meson 0.58.0. gnome.gtkdoc() was relying on that behaviour, but it has always been broken in the case the source or build directory contains spaces. Fix this by changing get_include_args() to substitue paths directly which will then get escaped correctly. Add a unit test that builds GObject documentation which is where this issue has been spotted. Fixes: #8744
2021-03-23Refactor Qt Dependency into proper split classes with factoriesDylan Baker1-0/+11
Currently the Qt Dependencies still use the old "combined" method for dependencies with multiple ways to be found. This is problematic as it means that `get_variable()` and friends don't work, as the dependency can't implement any of those methods. The correct solution is to make use of multiple Dependency instances, and a factory to tie them together. This does that. To handle QMake, I've leveraged the existing config-tool mechanism, which allows us to save a good deal of code, and use well tested code instead of rolling more of our own code. The one thing this doesn't do, but we probably should, is expose the macOS ExtraFrameworks directly, instead of forcing them to be found through QMake. That is a problem for another series, and someone who cares more about macOS than I do.
2021-02-18Increase OpenMPI timeout to see if it fixes macOS CI test hangs.Jussi Pakkanen1-3/+3
2021-02-18Disable failing Cygwin GIR test.Jussi Pakkanen4-0/+16
2021-02-07Add Qt6 moduleLuca Weiss1-1/+4
2020-11-17gnome: Drop use of volatile in GLib type functionsPhilip Withnall3-12/+12
See https://gitlab.gnome.org/GNOME/glib/-/issues/600 `volatile` was previously mistakenly used in GLib to indicate that a variable was accessed atomically or otherwise multi-threaded. It’s not meant for that, and up to date compilers (like gcc-11) will rightly warn about it. Drop the `volatile` qualifiers. Based on a patch by Jeff Law. See also http://isvolatileusefulwiththreads.in/c/. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-13gnome: Handle libraries that are not in the current build dirSam Thursfield9-0/+377
The generate_gir() function previously assumed all library inputs were in the current build dir. This would fail if they weren't.
2020-11-11tests/frameeworks 8/flex: fix undefined functionsDylan Baker2-0/+8
Some compilers don't have explicit errors for undefined functions enabled by default. Apple clang seems to.