aboutsummaryrefslogtreecommitdiff
path: root/test cases
AgeCommit message (Collapse)AuthorFilesLines
2024-06-04Extract native file parser to machinefile source file.Jussi Pakkanen1-0/+1
2024-05-30cuda: avoid test failure without GPU availableDavid Seifert1-2/+6
Fixes #13269
2024-05-29cuda: add test for late `add_languages('cuda')`David Seifert1-1/+4
2024-05-24Revert "rust: recursively pull proc-macro dependencies as well"Sam James4-27/+0
This reverts commit aee941559c4b88a062e88186819a820c69c200ae. The commit being reverted breaks compilation of a major Meson consumer (Mesa). As a result, various distros are either pinning to <1.4.0 (before the commit) or performing this same revert downstream. Fixing a regression takes priority, so let's revert. Fixes: https://github.com/mesonbuild/meson/issues/12973
2024-05-23Refactor option classes to their own file.Jussi Pakkanen1-1/+2
2024-05-22cuda: add test for negative `find_library()` resultDavid Seifert1-0/+4
2024-05-19Fix handling of C standard support for Emscripten.Ralf Gommers1-1/+6
Emscripten version numbers are unrelated to Clang version numbers, so it is necessary to change the version checks for `c_std=c17` & co. Without that, no project that defaults to C17 or newer will build with Emscripten. See https://github.com/pyodide/pyodide/discussions/4762 for more context. Also note that this bug caused defaulting to C17 in scikit-learn to be reverted (scikit-learn#29015), and it may be a problem for SciPy 1.14.0 too since that release will upgrade from C99 to C17. Co-authored-by: Loic Esteve <loic.esteve@ymail.com>
2024-05-07cuda: add test for device linkingDavid Seifert4-0/+73
2024-05-07cuda: add test for C++ linking of dependency('cuda')David Seifert1-1/+1
2024-05-07Add support for GCC's null_terminated_string_arg function attributeTristan Partin1-0/+6
This is new as of 14.1.
2024-05-07Use correct subdir when generating processed file pathTristan Partin2-0/+28
We need the subdir of where the output file will actually be created, not the current subdir of the interpreter. Fixes: #13168
2024-05-01Add required kwarg to compiler.{compiles,links,run}Tristan Partin4-0/+54
This is a similar commit to the one that added required to all the compiler.has* functions.
2024-04-30Fix dependencies for vala.links #13158Ben Corby1-0/+64
Using the keyword argument dependencies with compiler.links() for vala doesn't work as the library being linked to needs to be prefixed with --pkg= before being passed to valac.
2024-04-28Explicitly set OBJC=cc OBJCXX=c++ for bitcode testJonathan Schleifer1-0/+6
OBJC=clang / OBJCXX=clang++ can pick up a newer Clang that no longer supports bitcode.
2024-04-28Add support for depending on ObjFWJonathan Schleifer6-0/+72
This uses objfw-config to get to the flags, however, there's still several todos that can only be addressed once dependencies can have per-language flags.
2024-04-28Prefer Clang over GCC for Objective-C(++)Jonathan Schleifer1-1/+4
GCC only has very limited support for Objective-C and doesn't support any of the modern features, so whenever Clang is available, it should be used instead. Essentially, the only reason to ever use GCC for Objective-C is that Clang simply does not support the target system.
2024-04-25tests/d/10: Fix condition with clang++ and gdcDylan Baker1-1/+2
Which just checked for clang++ and aborted, instead of for the combination it claimed.
2024-04-25tests: bump C++ requirement of has_header_symbolDylan Baker1-1/+4
Boost now requires C++ 14, as of 1.82
2024-04-23Use dl instead of zlib for checking an external dependencyTristan Partin1-1/+1
Fedora has switched to zlib-ng, which has a version of `1.3.0.zlib-ng`, causing AllPlatformTests.test_summary to fail. dl is much less likely to change format.
2024-04-23Fix compile.links for valaBen Corby1-0/+24
Fixes issue #12959 compiler.links command for vala crashes
2024-04-15tests: fix missing dependency causing flaky build failureEli Schwartz1-2/+2
We have two copies of other.h, one of which is generated. If we don't include the include/ directory then building fails unless the custom_target which copies it over, happens to run early enough. On parallel builds this may fall on its face.
2024-04-14Clarify mutable objects usageXavier Claessens5-20/+40
Only Environment and ConfigurationData are mutable. However, only ConfigurationData becomes immutable after first use which is inconsistent. This deprecates modification after first use of Environment object and clarify documentation.
2024-04-14Merge pull request #11737 from ↵Jussi Pakkanen6-12/+52
amyspark/amyspark/add-nasm-building-rules-to-xcode backends: Add Nasm build rules to Xcode
2024-04-10Document a probable cause for test failures.Jussi Pakkanen1-1/+1
2024-04-09nasm test: Add a test for validating the Xcode backendL. E. Segovia3-0/+36
2024-04-09nasm test: Set the correct supported OSes for the testsL. E. Segovia3-12/+16
2024-04-08gnome: Actually run all mkenums_simple tests and fix numberingMatthijs Velsink1-3/+7
Some tests for `gnome.mkenums_simple` were only compiled, but not run. Most bugs will be caught by compilation alone, but it's better to run the generated binary too in case there are runtime issues in the generated code. The naming of all enum tests is now unified as well.
2024-04-08meson format commandCharles Brunet28-0/+914
2024-04-05compilers: Add test for detecting libraries with externally supplied linker ↵L. E. Segovia4-0/+47
flags
2024-04-05depends keyword argument: accept CustomTargetIndexGerion Entrup2-0/+10
That holds for all of these meson function: run_target, generator and custom_target and additionally to the Windows and Gnome module.
2024-04-05Merge pull request #12144 from amyspark/fix-msvc-clangcl-linker-flag-detectionJussi Pakkanen1-0/+20
linkers: Fix detection of link arguments to Clang(-cl) + MSVC
2024-03-28tests: don't expect msys2 llvm cmake tests to skip with llvm 18Christoph Reiter1-2/+2
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 Reiter33-44/+44
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-03-15Improve error messages for invalid option valuesCharles Brunet2-2/+2
By adding the option name to UserOption object, it is now possible to display the name of the affected option when the given option value is not valid. Fixes #12635
2024-03-15interpreter: when overriding a dependency make its name matchDylan Baker1-1/+17
Otherwise internal dependencies have auto-generated names that are not human readable. Instead, use the name that the dependency overrides. For example: ```meson meson.override_dependency('zlib', declare_dependency()) dep_zlib = dependency('zlib') assert(dep_zlib.name() == 'zlib') ``` Fixes: #12967
2024-03-15compilers: Every compiler can run codeXavier Claessens1-0/+3
Compiling and linking code is part of the Compiler base class, there is no reason it cannot also run executables.
2024-03-15cargo: Add API version into dependency nameXavier Claessens11-2/+2
2024-03-10Fix detection of unknown base options in subprojCharles Brunet2-0/+7
cc4cfbcad92945a1629c80664e1eb755c68905dd added detection for unknown base options, but it was not working for subproject base options. This should fix it.
2024-03-05rust: Link with rlib external dependenciesXavier Claessens3-0/+23
When linking with a Rust rlib, we should also link with its external system dependencies. This was currently done only for C ABI crates, do it for both rlib and staticlib now.
2024-03-04test cases/common/103 has header symbol: fix for musl 1.2.5Alyssa Ross1-4/+2
musl 1.2.5 exposes this symbol in the default profile, and in future will expose it unconditionally, as it is on track to becoming part of POSIX. So rather than maintaining a list of systems to run this on, let's just skip testing the feature test macro if we find ppoll in the default profile.
2024-03-03Condense test dirs for rc2.Jussi Pakkanen272-85/+85
2024-03-02Merge pull request #12804 from joukewitteveen/dist-rewriterJussi Pakkanen3-1/+17
Support `meson dist` when getting project versions from VCS
2024-03-01Fix base and compiler options not reconfigurable.Charles Brunet1-0/+5
Fixes #12920.
2024-02-29rust: recursively pull proc-macro dependencies as wellXavier Claessens4-0/+27
When the proc-macro rlib is in a different subdir, it would miss the needed -L argument and rustc would not find it. Meson was assuming that proc-macros are only needed when building libraries that uses it, but it turns out that was wrong, as show by the unit test.
2024-02-27cargo: support lib.path in Cargo.tomlAlyssa Ross2-0/+1
Cargo implements this configuration option to override the entry point of the library. To get test coverage, I've modified one of the two Cargo subprojects in the test to use a non-default library entrypoint. The other still uses the default.
2024-02-26Merge pull request #11867 from xclaesse/cargo-featuresJussi Pakkanen11-36/+55
Cargo features
2024-02-26Condense directory names for RC1.Jussi Pakkanen25-0/+0
2024-02-26cargo: Call into meson subdir if it existsXavier Claessens2-0/+2
This allows projects to manually add extra rust args and deps. This is intended to replace build.rs logic.
2024-02-26cargo: Expose features as Meson boolean optionsXavier Claessens6-2/+53
2024-02-26interpreter: Dependency variables can be empty stringXavier Claessens4-34/+0
There is no reason to forbid empty variables, PkgConfigCLI.variable() even has code specifically for handling that case.