Commit Graph

387 Commits

Author SHA1 Message Date
Jussi Pakkanen fad408a521 Increase OpenMPI timeout to see if it fixes macOS CI test hangs. 2021-02-18 10:43:23 +02:00
Jussi Pakkanen add502c648 Disable failing Cygwin GIR test. 2021-02-18 02:14:07 +02:00
Luca Weiss 398df56298 Add Qt6 module 2021-02-07 22:43:00 +02:00
Philip Withnall 42ba8efaf2 gnome: Drop use of volatile in GLib type functions
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-17 17:45:25 +02:00
Sam Thursfield 21897a10ca gnome: Handle libraries that are not in the current build dir
The generate_gir() function previously assumed all library
inputs were in the current build dir. This would fail if they
weren't.
2020-11-13 17:39:47 +02:00
Dylan Baker 40258cd29e tests/frameeworks 8/flex: fix undefined functions
Some compilers don't have explicit errors for undefined functions
enabled by default. Apple clang seems to.
2020-11-11 07:42:40 -08:00
Dylan Baker e8399c8c6e
depenencies/llvm: Handle llvm-config --shared-mode failing (#7379)
* 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-10-22 17:21:14 +03:00
Dylan Baker 19f2b3d583 tests/curses: Extend to test versions
This is mostly important for the system dependency where we need to roll
the version check ourselves.
2020-09-29 14:58:32 -07:00
Dylan Baker 5aee8567b8 dependencies/curses: Add a system dependency
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-29 14:58:32 -07:00
Dylan Baker 7d11d7cf68 dependencies/curses: Add support for using the ncurses config tools
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-29 14:58:32 -07:00
Dylan Baker 137c3124e2
Merge pull request #7758 from dcbaker/submit/hdf5-factory
dependencies/hdf5: Convert to a dependency_factory
2020-09-29 14:55:38 -07:00
Yonggang Luo 75433bee74 Fixes meson test timeout on windows
```
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-27 22:32:52 +03:00
Dylan Baker bffd981246 tests/hdf5: work around some problems
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-25 11:11:46 -07:00
Dylan Baker b7cb30e175 dependencies/hdf5: Convert to a dependency_factory
Instead of a mega dependency that does everything, use a dependency
factory for config-tool and pkg-config
2020-09-25 11:11:46 -07:00
Daniel Mensinger 17439fa3e8 test: Add 'dir' support for installed files in test.json
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-27 00:08:57 +00:00
Simon McVittie 2d218c289a tests: Disable Boost extralib test on macOS
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-08-04 13:30:37 +00:00
cmcneish a7a6a4833f
Add boost_root support to properties files (#7210)
* 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-07-21 16:40:29 +02:00
Mike Gorse eb3b35ae02 test: fix enum generation for GNOME
Fixes: #7252
2020-06-29 20:23:17 +03:00
Xavier Claessens 93dc9cfcc3 gnome.generate_gir: Fix missing include directories
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-14 17:59:17 +00:00
Xavier Claessens 245d659522 ConfigToolDependency: Don't fallback to system tool when cross compiling
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-11 18:02:37 -04:00
Jussi Pakkanen 4ea7c6ee12
Merge pull request #7064 from dcbaker/gtest-protocol
Add support for Gtest as a test protocol
2020-05-06 23:57:44 +03:00
Dylan Baker 083c5f6357 Add native support for gtest tests
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-04 11:33:19 -07:00
Daniel Mensinger 59db1f18ea boost: Only use usage-requirements defines (fixes #7046) 2020-05-01 22:08:59 +03:00
Daniel Mensinger 2a586f00b7
tests: Skip hotdoc test if hotdoc is not installed 2020-04-28 17:54:02 +02:00
Dylan Baker eb45ce6189 tests: Convert sdl2 to use a matrix option 2020-04-17 10:49:09 -07:00
Dylan Baker ea34c666ac tests: use a json matrix for MPI
This is a nice way to ensure that all of the methods continue to work
2020-04-17 10:49:09 -07:00
Daniel Mensinger 26a475d1b5
boost: make python2 optional 2020-04-02 10:58:27 +02:00
Daniel Mensinger 9f2f27a49d boost: Fix boost_python detection on bionic (fixes #6886 #4788) 2020-04-01 20:39:46 +03:00
Daniel Mensinger 4e52a0f7fd boost: Better python module detection 2020-03-28 00:56:58 +02:00
Dylan Baker 9f358ab54a tests/mpi: Add a method option
So we can force the use of pkg-config or config-tool
2020-03-19 14:45:08 -07:00
Xavier Claessens ecb076ba00 qt5: Add has_tools() method 2020-03-08 13:48:27 +02:00
Daniel Mensinger 8e60b8c146
test: merge installed_files.txt into test.json 2020-02-25 21:47:42 +01:00
Daniel Mensinger efd4e2a15b
test: merge test_matrix.json and setup_env.json into test.json 2020-02-25 21:47:37 +01:00
Daniel Mensinger 96f5d4e455
boost: Updated tests 2020-02-20 13:38:45 +01:00
Daniel Mensinger fbf5c8677b tests: Make the cups test more robust 2020-02-11 19:02:25 +02:00
Dylan Baker 4cc890e70a dependencies: Use DependencyFactory for cups 2020-01-29 09:11:24 -08:00
Daniel Mensinger a78f90c3f8 ci: Fix boost test on xenial 2020-01-24 02:53:34 +05:30
Nirbheek Chauhan 2c8e676e2b tests: Fix some test failures on Ubuntun 16.04 CI
* 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-24 02:53:34 +05:30
Dylan Baker 04c4bbccb7
Merge pull request #6481 from jon-turney/osx-qt-dep-crash
Fix dependency('qt') crash with old Qt on OSX
2020-01-21 09:09:14 -08:00
Jon Turney d2e5a82fb5
Fix 'qt4test' test executable when only Qt4 is present
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-18 17:29:55 +00:00
Jon Turney c272c8de38
Make the 'framework/4 qt' test more flexible
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-18 17:29:47 +00:00
Michael Hirsch, Ph.D c7cc734132 dependency: add curses
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.
2020-01-14 13:33:52 -05:00
Michael Hirsch, Ph.D ccbb20e881
ci: improve robustness
* netcf
* hdf5
* scalapack
* coarray
2019-12-19 11:59:47 -05:00
Daniel Mensinger 06821755d2 CI: Skip NetCDF Fortran test on OSX 2019-12-19 11:13:30 -05:00
Daniel Mensinger ca34d01dcc CI: Skip git tests if g-ir-scanner does not exist 2019-12-19 11:13:30 -05:00
Daniel Mensinger 792a84199b CI: Fix C++11 related error on osx for protocol buffer 2019-12-19 11:13:30 -05:00
Daniel Mensinger c4649704c8 python: add embed to the python dependency function 2019-12-18 01:19:16 +02:00
Michael Hirsch, Ph.D 98fd4e5557 cmake: add project language to cmakelists.txt
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-12-09 11:15:58 -05:00
Michael Hirsch, Ph.D 44ab23dff8
scalapack: test that find methods work 2019-11-30 22:24:42 -05:00
Michael Hirsch, Ph.D e209dd2607
scalapack: allow specifying find method 2019-11-30 22:16:40 -05:00