summaryrefslogtreecommitdiff
path: root/test cases/frameworks/15 llvm
AgeCommit message (Collapse)Author
2025-05-20CI: always install llvm for MSYS2Christoph Reiter
Due to some recent package splits llvm is no longer installed when clang is installed and the meson test suite was depending on the transitive dependency. Instead explicitly install llvm in all cases.
2024-03-28tests: don't expect msys2 llvm cmake tests to skip with llvm 18Christoph Reiter
They were skipped with llvm 17 based on the version, and they are now no longer skipped with v18 and also pass now. This depends on #12964 for llvm 18 support in meson.
2024-03-17tests: rename skip_on_jobname to expect_skip_on_jobname and skip_on_os to ↵Christoph Reiter
expect_skip_on_os The test.json format currently has three keys related to skipping tests: * `skip_on_jobname` * `skip_on_os` * `skip_on_env` While `skip_on_env` marks the test itself as skipped, i.e. they don't get run when the conditions are met, the other two skip options are just marking the test as "expected to be skipped" if the conditions apply, i.e. they want to see `MESON_SKIP_TEST` in the output and things will fail if that doesn't happen. They don't actually skip the tests as the names imply. To make this clearer rename the keys: * `skip_on_jobname` -> `expect_skip_on_jobname` * `skip_on_os` -> `expect_skip_on_os` `skip_on_env` stays the same, since that actually skips. The docs were also confused about this, so adjust that too.
2024-02-09Suppress LLVM static test on ArchEli Schwartz
It is properly detected as unavailable, ever since commit d1b783fc6923efa1a891d6d3a717e4e5ad15de21
2024-02-09ci: add GentooSam James
We may want to consider our own binpkg cache for future to speed things up, in addition to the ones provided by Gentoo's own binhost. Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
2023-11-06tests: skip llvm modules test more thoroughlyEli Schwartz
The bug that is referenced in the SKIP message was merged in time for the most recent llvm 16.x release. However, due to the graciousness of the LLVM developers, a very reasonable response was taken: LLVM will not merge ("the average"?) bugfixes during the final point release of a release series, as judged by their willingness to continue maintaining a major release of LLVM (????????) because merging a bugfix could theoretically cause a new bug instead and that Simply Is Not Done™. It could result in truly tragic outcomes, like having to release another bugfix. This innovative approach to bug solving has advanced the science of computing forward by decades. Sadly, it comes at a downside: software doesn't work. At this point it becomes obvious that llvm 16 in general will simply not work with Meson, and this is "expected", so bump the version checking for our SKIP to match reality.
2023-10-19test cases/15 llvm: Skip cmake when llvm == 17.0Nirbheek Chauhan
There's a bug in the zstd find_package module: https://github.com/llvm/llvm-project/commit/e7fc7540daa9333f0be4f380fc9c619236d17f57#r130257253
2023-06-07tests: remove unnecessary non-meson syntax from meson.buildEli Schwartz
We don't use parentheses for the if function, because it's not a function.
2023-06-07tests: update llvm version exclusions for hopefully the last timeEli Schwartz
This is now fixed upstream and expected to be backported to the next point release.
2023-06-07tests: be DRY in llvm framework testEli Schwartz
It's a lot more readable to not repeat big arrays.
2023-06-07tests: avoid hard to debug error when llvm is found with only one methodEli Schwartz
In commit 89146e84c9eab649d3847af101d61047cac45765 we added some complicated code to verify the llvm framework's "combination" matrix lookup. It expects to find llvm with both cmake and config-tool, with the same version. But the sanity check is wonky -- it checks that both have the same found status, instead, so if both are not found then we proceed to try to convert the string "unknown" to a mapping of semver integers, and this is guaranteed to fail. This can happen for example if the system llvm exists in the general case, but actual modules cannot be found because the system llvm does not distribute static modules. For example, this is the case on Gentoo. Abort more obviously by just insisting that both be found. If they aren't both found, then investigative efforts know to look at why they weren't found.
2023-05-23llvm: Bump broken micro version for CINirbheek Chauhan
16.0.4 didn't fix the LLVM breakage.
2023-04-24ci: Don't search for llvm modules with LLVM 16.0.xNirbheek Chauhan
See: https://github.com/mesonbuild/meson/issues/11642
2023-01-28tests/llvm: require cmake 3.11Konstantin
This is a weird but working way to skip this test from running on bionic (where it should not run).
2023-01-28cmake: allow dynamic linking with LLVMKonstantin
llvm-config is unsuitable for standard cross-compile, because we need to build llvm especially for it, which is not done is almost any distros, so, for example, standard bootstrap chroot will be unsuitable. This patch is trying to acheive feature parity between config-tool searching of LLVM and CMake-based one, which is arch-agnostic. Signed-off-by: Konstantin <ria.freelander@gmail.com>
2021-11-20Update expected skip condition for llvm framework test on msys2Jon Turney
On msys2, we will now find static llvm using cmake
2021-08-15editorconfig: add setting to trim trailing whitespaceEli Schwartz
and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
2021-07-13Add expected skip annotations for non-linux CI runs to framework testsJon Turney
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.)
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
2019-07-02tests/llvm: Test both cmake and llvm-config methodsDylan Baker
2019-05-03cmake: LLVM better modules handlingDaniel Mensinger
2019-05-02tests: Extend tests that use Threads internally to set methodDylan Baker
It turns out there's a bug in creating a sub dependency out of threads in that we pass all of the kwargs from the parent to the ThreadDependency instance. This demonstrates the bug.
2018-10-27tests/llvm: Allow test to run with static-only llvmDylan Baker
Like on windows, where shared llvm isn't support.
2018-08-26Tests for version constraints on custom lookup dependenciesJon Turney
2018-02-21Make test cases/frameworks/15 llvm tolerate no libtinfoJon Turney
libtinfo only exists if ncurses is configured --with-termlib
2018-02-21Skip test cases/frameworks/15 llvm if llvm not foundJon Turney
2018-01-06tests: don't try to build llvm test if dep is unfoundDylan Baker
dragonfly BSD doesn't ship dynamic modules for LLVM so static linking is required.
2017-11-09llvm: fix static linkingDylan Baker
I left a hack patch in a pull request for LLVM, and the result is that LLVM doesn't link with static builds. The real problem was that some distros have pkg-config for tinfo, other's don't, so the correct solution is to use cpp_compiler.find_library if dependency() fails.
2017-10-25llvm: Add support for linking staticallyDylan Baker
This adds support for the static kwarg to the llvm dependency.
2017-10-25llvm: Add optional modulesDylan Baker
These will become more relevant later in the series.
2017-10-25llvm test: Replace tinfo with something elseDylan Baker
Archlinux doesn't package tinfo, and the non-distro maintained package (in the AUR), doesn't provide a pkgconfig, it just symlinks libncurses. So just pick something else. glib-2.0 is used elsewhere in meson's test suite, so that should be safe.
2017-10-08Add system dependencies for LLVM test.Jussi Pakkanen
2017-09-26deps: demote LLVM config to instance variableDylan Baker
Which fixes trying to use multiple versions of LLVM, and allows simplifying the class somewhat.
2017-06-09tests: Improve llvm dependency test coverageNirbheek Chauhan
2017-05-03Add dependency for LLVM. Fixes #1611Dylan Baker
This adds a depdendncy wrapper for llvm-config based on the wxwidgets dependency. IT handles libs, version, include dir, and the llvm unique concept of components. These components are individual pieces of the LLVM library that may or may not be available depending on the platform.