summaryrefslogtreecommitdiff
path: root/test cases/frameworks
AgeCommit message (Collapse)Author
2021-08-04Relax restrictions on detecting boost dependencyKevin Meagher
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 Schwartz
2021-07-13Add expected skip annotations for non-linux CI runs to framework testsJon Turney
2021-07-13Fix skip condition in sdl2 test.jsonJon Turney
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 Turney
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 Turney
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 Turney
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 Mensinger
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 Baker
Because that's what we need, of course
2021-06-17update gettext test to use new intl dependencyEli Schwartz
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 Baker
This method only compiles moc resources, nothing else
2021-06-15modules/qt: Add a compile_ui methodDylan Baker
Which is the same functionality split out of preprocess
2021-06-15modules/qt: Add a `compile_resources` methodDylan Baker
This is a separate method for just handling qrc resources.
2021-05-28modules/gnome: Correctly handle generated sources for generate_girDylan Baker
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 Turney
This partially reverts commit add502c6483bde9dc6a0ba80b3c79163304465a4.
2021-05-12gnome: Fix gtkdoc generationXavier Claessens
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 Baker
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 Pakkanen
2021-02-18Disable failing Cygwin GIR test.Jussi Pakkanen
2021-02-07Add Qt6 moduleLuca Weiss
2020-11-17gnome: Drop use of volatile in GLib type functionsPhilip Withnall
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 Thursfield
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 Baker
Some compilers don't have explicit errors for undefined functions enabled by default. Apple clang seems to.
2020-10-22depenencies/llvm: Handle llvm-config --shared-mode failing (#7379)Dylan Baker
* depenencies/llvm: Handle llvm-config --shared-mode failing Fixes: #7371 Fixes: #7878 * test cases/llvm: Refactor to use test.json Instead of trying to cover everything internally
2020-09-29tests/curses: Extend to test versionsDylan Baker
This is mostly important for the system dependency where we need to roll the version check ourselves.
2020-09-29dependencies/curses: Add a system dependencyDylan Baker
That calls find_library and has_header in conjunction to look for curses implementations that are baked into the system without any other find method.
2020-09-29dependencies/curses: Add support for using the ncurses config toolsDylan Baker
These are mostly duplicated with pkg-config, but maybe someone has one but not another, and they're easy to turn on with the ConfigToolDependency.
2020-09-29Merge pull request #7758 from dcbaker/submit/hdf5-factoryDylan Baker
dependencies/hdf5: Convert to a dependency_factory
2020-09-27Fixes meson test timeout on windowsYonggang Luo
``` 2020-09-23T01:25:14.7849070Z 2020-09-23T01:25:14.7849592Z 1/5 Boost linktest TIMEOUT 30.16s 2020-09-23T01:25:14.7849811Z 2020-09-23T01:25:14.7850027Z --- command --- 2020-09-23T01:25:14.7850281Z 01:24:30 D:\a\1\s\b 125f976e40\linkedexe.exe 2020-09-23T01:25:14.7850561Z ------- 2020-09-23T01:25:14.7850693Z 2020-09-23T01:25:14.7850947Z 2/5 Boost UTF test TIMEOUT 31.15s 2020-09-23T01:25:14.7851141Z 2020-09-23T01:25:14.7851347Z --- command --- 2020-09-23T01:25:14.7851580Z 01:24:30 D:\a\1\s\b 125f976e40\utf.exe 2020-09-23T01:25:14.7851862Z --- stdout --- 2020-09-23T01:25:14.7852065Z Running 1 test case... 2020-09-23T01:25:14.7852441Z ``` Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
2020-09-25tests/hdf5: work around some problemsDylan Baker
There are two cases that won't work (these are taken from fortran/9 cpp), using gfortran with a non-gcc compiler on windows, or using gfortran with apple clang. The latter is due to default search paths, which we can fix, but is out of scope for this MR.
2020-09-25dependencies/hdf5: Convert to a dependency_factoryDylan Baker
Instead of a mega dependency that does everything, use a dependency factory for config-tool and pkg-config
2020-08-27test: Add 'dir' support for installed files in test.jsonDaniel Mensinger
This is useful for automatically generated docs (doxygen, hotdoc) with a lot of generated files that may differ with different versions of the generator.
2020-08-04tests: Disable Boost extralib test on macOSSimon McVittie
Since upgrading Boost to version 1.73, this test segfaults on macOS when dynamically linked. Disable it to keep the rest of the CI reliable. Mitigates: #7535 Signed-off-by: Simon McVittie <smcv@debian.org>
2020-07-21Add boost_root support to properties files (#7210)cmcneish
* Add boost_root support to properties files This commit implements `boost_root`, `boost_includedir`, and `boost_librarydir` variable support to native and cross properties files. The search order is currently environment variables, then these variables, and finally a platform-dependent search. * Add preliminary boost_root / boost_includedir tests Each test contains a fake "version.hpp", as that's how boost detection is currently being done. We look for this file relative to the root directory, which probably shouldn't be allowed (it previously was for BOOST_LIBRARYDIR but not for BOOST_ROOT). It also cannot help with breakage detection in libraries, however it looks like this wasn't getting tested beforehand. I've given the two unique version numbers that shouldn't be present in any stock version of boost (001 and 002). * Add return type to detect_split_root * Return empty list when nothing found in BOOST_ROOT, rather than None * Update boost_root tests * Create nativefile.ini based on location of run_project_tests.py * Add fake libraries to ensure boost_librarydir is being used * Require all search paths for boost to be absolute * Redo boost search ordering To better match things like pkg-config, we now look through native/cross files, then environment variables, then system locations for boost installations. Path detection does not fall back from one method to the next for properties or environment variables--if boost_root, boost_librarydir, or boost_includedir is specified, they must be sufficient to find boost. Likewise for BOOST_ROOT and friends. pkg-config detection is still optional falling back to system-wide detection, for Conan. (Also, fix a typo in test 33's nativefile) * Correct return type for detect_roots * Correct boost dependency search order in documentation * Print debug information for boost library finding, to resolve CI issues * Handle native/cross file templates in a more consistent way All tests can now create a `nativefile.ini.in` if they need to use some parameter that the testing framework knows about but they can't. * Pass str--rather than PosixPath--to os.path.exists, for Python35 * Look for boost minor versions, rather than boost patch versions in test cases * Drop fake dylib versions of boost_regex * Prefer get_env_var to use of os.environ * Correct error reporting for relative BOOST_ROOT paths * Bump version this appears in. Also, change "properties file" to "machine file" as that appears to be the more common language.
2020-06-29test: fix enum generation for GNOMEMike Gorse
Fixes: #7252
2020-05-14gnome.generate_gir: Fix missing include directoriesXavier Claessens
This revert a part of #7020 because it was using gir_inc_dirs before it is set. Properly fix typelib_includes instead that was working only when g-i is a pkgconfig dependency.
2020-05-11ConfigToolDependency: Don't fallback to system tool when cross compilingXavier Claessens
The system tool is always the wrong thing to use and cause hard to debug issues when trying to link system libraries with cross built binaries. The ExternalDependency base class already had a method to deal with this, used by PkgConfigDependency and QtBaseDependency, so it should make things more consistent.
2020-05-06Merge pull request #7064 from dcbaker/gtest-protocolJussi Pakkanen
Add support for Gtest as a test protocol
2020-05-04Add native support for gtest testsDylan Baker
Gtest can output junit results with a command line switch. We can parse this to get more detailed results than the returncode, and put those in our own Junit output. We basically just throw away the top level 'testsuites' object, then fixup the names of the tests, and shove that into our junit.
2020-05-01boost: Only use usage-requirements defines (fixes #7046)Daniel Mensinger
2020-04-28tests: Skip hotdoc test if hotdoc is not installedDaniel Mensinger
2020-04-17tests: Convert sdl2 to use a matrix optionDylan Baker
2020-04-17tests: use a json matrix for MPIDylan Baker
This is a nice way to ensure that all of the methods continue to work
2020-04-02boost: make python2 optionalDaniel Mensinger
2020-04-01boost: Fix boost_python detection on bionic (fixes #6886 #4788)Daniel Mensinger
2020-03-28boost: Better python module detectionDaniel Mensinger
2020-03-19tests/mpi: Add a method optionDylan Baker
So we can force the use of pkg-config or config-tool
2020-03-08qt5: Add has_tools() methodXavier Claessens
2020-02-25test: merge installed_files.txt into test.jsonDaniel Mensinger
2020-02-25test: merge test_matrix.json and setup_env.json into test.jsonDaniel Mensinger