summaryrefslogtreecommitdiff
path: root/test cases
AgeCommit message (Collapse)Author
2024-07-10tests: add werror tests for several languagesBenjamin Gilbert
2024-07-10tests: Clean up leftover files from source dirs.Jussi Pakkanen
2024-07-05Revert PR12972 as a regression.Eli Schwartz
Revert "interpreter: when overriding a dependency make its name match" This reverts commit b1340e9bb1f243e4de8f2d89415a45ade476a3dc. Revert "dependency: define equality and hash operators for Dependency" This reverts commit 6d713e40f81512eadb0cc4654408d90cb22ba774. This caused some projects to fail to build, such as libplacebo and libepoxy. Taking libplacebo as the example, the produced build.ninja does not include libvulkan.so as a linker input for src/libplacebo.so.338. We are probably getting dependency hashing wrong somewhere. Unsure where exactly and unsure how to create a test case. We are also deep into rc2. Revert it for now and try to re-land these changes for 1.6. Bug: https://bugs.gentoo.org/935443 Fixes: #13352
2024-07-05configuration_data: add test case for regression when merging a confdataEli Schwartz
Regression test for #13372
2024-07-05Revert "Clarify mutable objects usage"Eli Schwartz
This reverts commit 9f02d0a3e5a5ffc82256391c244b1af38e41ef78. It turns out that this does introduce a behavioral change in existing users of ConfigurationData, which it wasn't supposed to (it was supposed to preserve behavior there, and add a new *warning* for EnvironmentVariables). This breaks projects such as pulseaudio, libvirt, and probably more. Roll back the change and try again after 1.5.0 is released. Fixes: #13372
2024-07-02CI: mark cygwin as skipping frameworks/libgcryptEli Schwartz
They have recently upgraded to libgcrypt 1.11 and it has inherited the gpg suite migration to pkg-config.
2024-06-29linkers: Fix AppleDynamicLinker not returning any rpaths to removePiotr Brzeziński
Fixes regression from commit 78e9009ff9d36925e04f329f9082841002ddd848. The above commit relied on rpath_dirs_to_remove being present and correctly filled, which was never the case for the AppleDynamicLinker. The result was that all the build-dir-only RPATHs were being carried over to the installed files. This commit implements returning the list of RPATHs to remove in AppleDynamicLinker, doing pretty much the same thing as what's in the GnuLikeDynamicLinkerMixin. Thanks to that, depfixer now correctly removes build-time Meson-created RPATHs, as it used to before 1.4.1.
2024-06-26compilers: Add support for OpenMP from homebrew with AppleClangDylan Baker
Which requires injecting some extra paths and the `-Xpreprocess` flag, as well as extra search paths for libomp and the headers. Fixes: #7435
2024-06-26format: fix edge case with empty functionsCharles Brunet
format was adding a new empty line each time when trying to split a long line containing a function with no arguments
2024-06-23Test case for environment prepend/append acting like setNils Werner
2024-06-23Ensure private directory exists for custom targets (#13196)Scott Kyle
* Ensure private directory exists for custom targets Some custom target commands will expect the `@PRIVATE_DIR@` to already exist, such as with `make -C @PRIVATE_DIR@ ...` * Prefer `exist_ok` over catching exception
2024-06-23Recast CMake's IMPORTED_LOCATION into framework flags (#13299)Kai Pastor
* Explicitly look for 'OpenAL' with method: 'cmake' This test was added for testing cmake depenencies, so no other method must be accepted here, and the spelling must match FindOpenAL.cmake. * Resolve frameworks in IMPORTED_LOCATION The IMPORTED_LOCATION property of CMake targets may contain macOS framework paths. These must be processed into flags. By putting the values in the list of targets, they will be processed as if they appeared in INTERFACE_LINK_LIBRARIES.
2024-06-23find_program: add a kwarg to specify custom version argumentDudemanguy
When trying to get the version of a program, meson was previously hardcoded to run the binary with `--version`. This does work with the vast majority of programs, but there are a few outliers (e.g. ffmpeg) which have an unusual argument for printing out the version. Support these programs by introducing a version_argument kwarg in find_program which allows users to override `--version` with whatever the custom argument for printing the version may be for the program.
2024-06-23tests: fix OpenAL test case on case sensitive fs on macOSJade Lovelace
Preface: why are we doing this? For reasons of cross-platform interop, the Lix team is strongly considering switching to build on a case sensitive filesystem in the macOS installation, since otherwise storing case overlapping filenames is busted and requires very very bad hacks: https://git.lix.systems/lix-project/lix/issues/332 What's wrong: Command line: `clang++ '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/testfile.cpp' -o '/nix/temp/meson/b d01bff197e/meson-private/tmpjqid64j1/output.exe' -O0 -fpermissive -Werror=implicit-function-declaration -F/nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks -framework openal` -> 1 stderr: ld: framework not found openal clang-16: error: linker command failed with exit code 1 (use -v to see invocation) Why is that happening: $ ls /nix/store/qa92ravmclyraw7b46cz3q3m834mmbw9-apple-framework-OpenAL/Library/Frameworks OpenAL.framework So the test was relying on case insensitive fs, which is not a reliable assumption on all macOS installations (since weird people like us can set their fs to case sensitive!).
2024-06-23`configure_file`: update \@ escape logicMatt Jolly
When configuring a 'meson' or 'cmake@' style file, add a case for escaped variables using matched pairs of `\@` i.e. `\@foo\@ -> @foo@`. The match for @var@ has been amended with a negative lookbehind to ensure that any occurrances of `\@foo@` are not evaluated to `\bar`. The previous behaviour, matching `\@` and escaping only that character, had undesirable side effects including mangling valid perl when configuring files. Closes: https://github.com/mesonbuild/meson/issues/7165
2024-06-19mformat: fix else token not correctly indentedCharles Brunet
fixes #13316
2024-06-19Fix crash in meson formatCharles Brunet
There was a case where a trailing comma was missing a whitespaces attribute Fixes #13242
2024-06-14cargo: Load Cargo.lockXavier Claessens
Cargo.lock is essentially identical to subprojects/*.wrap files. When a (sub)project has a Cargo.lock file this allows automatic fallback for its cargo dependencies.
2024-06-11Python: add load test to limited API testAndrew McNulty
Based on the example in GH issue #13167, the limited API test has been extended with a test to load the compiled module to ensure it can be loaded correctly.
2024-06-04Extract native file parser to machinefile source file.Jussi Pakkanen
2024-05-30cuda: avoid test failure without GPU availableDavid Seifert
Fixes #13269
2024-05-29cuda: add test for late `add_languages('cuda')`David Seifert
2024-05-24Revert "rust: recursively pull proc-macro dependencies as well"Sam James
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 Pakkanen
2024-05-22cuda: add test for negative `find_library()` resultDavid Seifert
2024-05-19Fix handling of C standard support for Emscripten.Ralf Gommers
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 Seifert
2024-05-07cuda: add test for C++ linking of dependency('cuda')David Seifert
2024-05-07Add support for GCC's null_terminated_string_arg function attributeTristan Partin
This is new as of 14.1.
2024-05-07Use correct subdir when generating processed file pathTristan Partin
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 Partin
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 Corby
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 Schleifer
OBJC=clang / OBJCXX=clang++ can pick up a newer Clang that no longer supports bitcode.
2024-04-28Add support for depending on ObjFWJonathan Schleifer
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 Schleifer
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 Baker
Which just checked for clang++ and aborted, instead of for the combination it claimed.
2024-04-25tests: bump C++ requirement of has_header_symbolDylan Baker
Boost now requires C++ 14, as of 1.82
2024-04-23Use dl instead of zlib for checking an external dependencyTristan Partin
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 Corby
Fixes issue #12959 compiler.links command for vala crashes
2024-04-15tests: fix missing dependency causing flaky build failureEli Schwartz
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 Claessens
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 Pakkanen
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 Pakkanen
2024-04-09nasm test: Add a test for validating the Xcode backendL. E. Segovia
2024-04-09nasm test: Set the correct supported OSes for the testsL. E. Segovia
2024-04-08gnome: Actually run all mkenums_simple tests and fix numberingMatthijs Velsink
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 Brunet
2024-04-05compilers: Add test for detecting libraries with externally supplied linker ↵L. E. Segovia
flags
2024-04-05depends keyword argument: accept CustomTargetIndexGerion Entrup
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 Pakkanen
linkers: Fix detection of link arguments to Clang(-cl) + MSVC