aboutsummaryrefslogtreecommitdiff
path: root/test cases/frameworks
AgeCommit message (Collapse)AuthorFilesLines
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.
2020-10-22depenencies/llvm: Handle llvm-config --shared-mode failing (#7379)Dylan Baker3-39/+55
* 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 Baker1-1/+5
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 Baker2-2/+3
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 Baker3-1/+17
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 Baker3-7/+40
dependencies/hdf5: Convert to a dependency_factory
2020-09-27Fixes meson test timeout on windowsYonggang Luo1-2/+2
``` 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 Baker1-5/+20
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 Baker3-3/+21
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 Mensinger2-397/+2
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 McVittie1-1/+5
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)cmcneish12-0/+23
* 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 Gorse1-0/+8
Fixes: #7252
2020-05-14gnome.generate_gir: Fix missing include directoriesXavier Claessens6-3/+175
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 Claessens1-1/+1
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 Pakkanen1-2/+2
Add support for Gtest as a test protocol
2020-05-04Add native support for gtest testsDylan Baker1-2/+2
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 Mensinger1-1/+1
2020-04-28tests: Skip hotdoc test if hotdoc is not installedDaniel Mensinger1-1/+4
2020-04-17tests: Convert sdl2 to use a matrix optionDylan Baker3-17/+22
2020-04-17tests: use a json matrix for MPIDylan Baker1-0/+15
This is a nice way to ensure that all of the methods continue to work
2020-04-02boost: make python2 optionalDaniel Mensinger1-2/+2
2020-04-01boost: Fix boost_python detection on bionic (fixes #6886 #4788)Daniel Mensinger1-1/+1
2020-03-28boost: Better python module detectionDaniel Mensinger1-16/+2
2020-03-19tests/mpi: Add a method optionDylan Baker2-4/+12
So we can force the use of pkg-config or config-tool
2020-03-08qt5: Add has_tools() methodXavier Claessens1-0/+1
2020-02-25test: merge installed_files.txt into test.jsonDaniel Mensinger16-522/+554
2020-02-25test: merge test_matrix.json and setup_env.json into test.jsonDaniel Mensinger2-19/+21
2020-02-20boost: Updated testsDaniel Mensinger4-26/+37
2020-02-11tests: Make the cups test more robustDaniel Mensinger1-5/+5
2020-01-29dependencies: Use DependencyFactory for cupsDylan Baker1-0/+1
2020-01-24ci: Fix boost test on xenialDaniel Mensinger1-1/+1
2020-01-24tests: Fix some test failures on Ubuntun 16.04 CINirbheek Chauhan3-12/+14
* xenial doesn't ship many dependencies, so make them all optional since we don't guarantee that everything will work * cmake/{5,6}: needs stdlib.h for EXIT_SUCCESS on GCC 5 * common/222: needs C++11, and GCC 5 doesn't understand `auto` correctly unless we explicitly enable it. * frameworks/1 boost: xenial doesn't ship boost_python3, so make it properly optional * frameworks/6 gettext: gettext can be installed without xgettext, which doesn't cause the project to fail, but the installed files list is different which causes the test to fail. * frameworks/7 gnome: gobject-introspection can't be enabled because the sanitizer unit test detects leaks in glib and fails
2020-01-21Merge pull request #6481 from jon-turney/osx-qt-dep-crashDylan Baker3-7/+15
Fix dependency('qt') crash with old Qt on OSX
2020-01-18Fix 'qt4test' test executable when only Qt4 is presentJon Turney2-1/+2
This always tries to load a 'qt5core_fr' translation file, when it is actually named 'qtNcore_fr'(where N is the qt version).
2020-01-18Make the 'framework/4 qt' test more flexibleJon Turney2-6/+13
Make the 'framework/4 qt' test more flexible about what version of Qt is expected to be present in the CI environment. Currently, this is hard-coded as Qt5. We add an option to specify it so we can run this test under CI with just Qt4 present.
2020-01-14dependency: add cursesMichael Hirsch, Ph.D2-0/+16
fixes #6096. Didn't use CMake because Curses is a real corner-case for CMake that would require Curses-specific enhancements to Meson's CMake interface.
2019-12-19ci: improve robustnessMichael Hirsch, Ph.D3-22/+22
* netcf * hdf5 * scalapack * coarray
2019-12-19CI: Skip NetCDF Fortran test on OSXDaniel Mensinger1-1/+1
2019-12-19CI: Skip git tests if g-ir-scanner does not existDaniel Mensinger2-2/+2
2019-12-19CI: Fix C++11 related error on osx for protocol bufferDaniel Mensinger1-1/+1
2019-12-18python: add embed to the python dependency functionDaniel Mensinger1-2/+2
2019-12-09cmake: add project language to cmakelists.txtMichael Hirsch, Ph.D2-0/+2
cmake: get language from Meson project if not specified as depedency(..., langugage: ...) deps: add threads method:cmake dependency('threads', method: 'cmake') is useful for cmake unit tests or those who just want to find threads using cmake. cmake: project(... Fortran) generally also requires C language
2019-11-30scalapack: test that find methods workMichael Hirsch, Ph.D2-5/+0
2019-11-30scalapack: allow specifying find methodMichael Hirsch, Ph.D2-0/+225
2019-11-30scalapack: run without mpiexecMichael Hirsch, Ph.D2-19/+4
Normally MPI programs would be run with MPI exec, but Travis-CI has errors wanting --allow-run-as-root. To simplify, we don't use mpiexec in this test, since it's a library check, not an MPI stack check.
2019-11-30deps: add scalapackMichael Hirsch, Ph.D3-0/+101
Scalapack uses a library stack that can be challenging to manage. Not least of all since many Scalapacks ship with broken / incomplete pkg-config files and CMake FindScalapack.cmake This resolves those issues for typical Scalapack setups including: * Linux: Intel MKL or OpenMPI + Netlib * MacOS: Intel MKL or OpenMPI + Netlib * Windows: Intel MKL (OpenMPI not available on Windows)
2019-11-28HDF5: make much more robust across platformsMichael Hirsch, Ph.D1-24/+11
This addresses various real-world problems with HDF5 pkg-config, including * hdf*.pc with package versions as part of the filename * malformed hdf*.pc missing the commonly-used HDF5 HL module --- Additionally, this refactors more complicated dependencies such as HDF5 and OpenMPI. This may help us deduplicate internal dependency code in the future. HDF5 selftest: improve platform-agnostic test ci: init demo github action for HDF5 framework ci Actions: hold off on MSYS2 for now [skip ci] hdf5: ensure C libraries always included ci: mac hdf5--use clang+gfortran