aboutsummaryrefslogtreecommitdiff
path: root/test cases
AgeCommit message (Collapse)AuthorFilesLines
2021-10-10Fix typos discovered by codespellChristian Clauss11-11/+11
2021-10-10Revert "interpreter: Add FeatureNew check"Eli Schwartz2-8/+1
This reverts commit c0efa7ab22f8900f6fa1dadf0d306ec375569c8d. This was a nice idea, or a beautiful hack depending on your perspective. Unfortunately, it turns out to be a lot harder than we originally thought. By operating on bare nodes, we end up triggering a FeatureNew on anything that isn't a string literal, rather than anything that isn't a string. Since no one else has come up with a better idea for implementing a FeatureNew, let's just revert it. Better to not have a warning, than have it trigger way too often.
2021-10-10Be more strict about target names with slashes.Jussi Pakkanen1-1/+1
2021-10-09optinterpreter: Add deprecated kwargXavier Claessens3-0/+59
It can be either: - boolean: the option is completely deprecated. - list: some choices are deprecated. - dict: some choices are deprecated and replaced by another. Fixes: #7444
2021-10-09optinterpreter: Refactor to use typed_pos_args() and typed_kwargs()Xavier Claessens1-1/+1
2021-10-08python: Add platlibdir and purelibdir optionsXavier Claessens3-0/+16
2021-10-08add install_emptydir functionEli Schwartz2-0/+11
This replaces the absolute hack of using ``` install_subdir('nonexisting', install_dir: 'share') ``` which requires you to make sure you don't accidentally or deliberately have a completely different directory with the same name in your source tree that is full of files you don't want installed. It also avoids splitting the name in two and listing them in the wrong order. You can also set the install mode of each directory component by listing them one at a time in order, and in fact create nested structures at all. Fixes #1604 Properly fixes #2904
2021-10-06interpreter: Holderify arrays and dictsDaniel Mensinger4-4/+4
This is the final refactoring for extracting the bultin object logic out of Interpreterbase. I decided to do both arrays and dicts in one go since splitting it would have been a lot more confusing.
2021-10-06cmake: Implement support for interpreting link "keywords"Daniel Mensinger2-1/+5
CMakes `target_link_libraries()` supports certain keywords to only enable specific libraries for specific CMake configurations. We now try our best to replicate this for Meson dependencies. Fixes #9197
2021-10-06cmake: Warn if we could use IMPORTED CMake targetsDaniel Mensinger2-1/+11
2021-10-04backend/vs: Generate dependencies for CustomTargetIndex for a CustomTarget.Andres Freund6-0/+76
Test & fix.
2021-10-04backend/vs: process link dependencies.Andres Freund3-15/+0
Partially-Fixes: #1799
2021-10-04various python neatness cleanupsEli Schwartz2-3/+3
All changes were created by running "pyupgrade --py3-only" and committing the results. Although this has been performed in the past, newer versions of pyupgrade can automatically catch more opportunities, notably list comprehensions can use generators instead, in the following cases: - unpacking into function arguments as function(*generator) - unpacking into assignments of the form x, y = generator - as the argument to some builtin functions such as min/max/sorted Also catch a few creeping cases of new code added using older styles.
2021-10-01rust: dependencies need to cause a rebuild/relink not just reorderDylan Baker3-0/+32
Otherwise changes to a dependency don't propogate
2021-09-30dependency: Allow searching for multiple namesXavier Claessens2-0/+13
2021-09-30Make custom_target() name argument optionalXavier Claessens3-0/+23
2021-09-29unittests: Make qt test work if multiple versions of qt installedmakise-homura1-1/+1
2021-09-29tests/rust: add libm to fix build with rust 1.55Dominique Leuenberger1-0/+1
Fixes #9309
2021-09-29tests: take into account Debian Python pathsFilipe Laíns2-4/+4
Signed-off-by: Filipe Laíns <lains@riseup.net>
2021-09-28Merge pull request #9014 from bonzini/mixed-language-linkJussi Pakkanen2-0/+12
Use appropriate compiler for the source file for "links" tests with file argument
2021-09-27fix test case instances where undefined message(true) occurredEli Schwartz1-1/+1
2021-09-25Merge pull request #8773 from dcbaker/submit/rustc-enhancements-clippyJussi Pakkanen2-1/+3
More enhancements for Rust + clippy support
2021-09-25interpreter: Add FeatureNew checkDaniel Mensinger2-1/+8
2021-09-25Remove helpers.check_stringlist()Daniel Mensinger1-0/+3
2021-09-25interpreter: Introduce StringHolderDaniel Mensinger3-3/+3
Another commit in my quest to rid InterpreterBase from all higher level object processing logic. Additionally, there is a a logic change here, since `str.join` now uses varargs and can now accept more than one argument (and supports list flattening).
2021-09-24compilers/rust: Add support for clippyDylan Baker2-1/+3
Clippy is a compiler wrapper for rust that provides an extra layer of linting. It's quite popular, but unfortunately doesn't provide the output of the compiler that it's wrapping in it's output, so we don't detect that clippy is rustc. This small patch adds a new compiler class (that is the Rustc class with a different id) and the necessary logic to detect that clippy is in fact rustc) Fixes: #8767
2021-09-25compilers: Add default search path stdlib_only_link_flagsDylan Baker1-4/+0
This should be done in all cases of language_stdlib_only_link_flags, but I don't have access to all of the compilers to test it. This is required in cases where object files created by gfortran are linked using another compiler with a differen default search path, such as gfortran and clang together.
2021-09-24Add option to to transpile Cython to C++Dylan Baker2-0/+18
This patch adds a new meson built-in option for cython, allowing it to target C++ instead of C as the intermediate language. This can, of course, be done on a per-target basis using the `override_options` keyword argument, or for the entire project in the project function. There are some things in this patch that are less than ideal. One of them is that we have to add compilers in the build layer, but there isn't a better place to do it because of per target override_options. There's also some design differences between Meson and setuptools, in that Meson only allows options on a per-target rather than a per-file granularity. Fixes #9015
2021-09-22Merge pull request #9274 from anarazel/fix-vs-static-generatedJussi Pakkanen6-0/+54
backends/vs: Set ObjectFileName for generated sources.
2021-09-21Add platform agnostic testsXavier Claessens3-0/+8
This adds a new category of tests that does not need to run on all platforms during CI. For now only run them on Linux runners because they are not the bottleneck.
2021-09-20Add test for https://github.com/mesonbuild/meson/issues/9235Jesse Natalie6-0/+54
2021-09-20dependencyfallbacks: Use default_options for implicit fallbacksXavier Claessens3-1/+4
This removes the warning when using default_options without fallback kwarg completely because a subproject does not know if the main project has an implicit fallback or not, so it could set default_options even if not fallback is available at all. Fixes: #9278
2021-09-20tests: Fix fortran testsRohit Goswami18-8/+24
2021-09-20backend/ninja: add generated sources to depscan order depsDylan Baker2-3/+15
Since we changed to using a json file to avoid over long command lines we created a situation where the generated files may not be ready when the depscan happens. To avoid that, we need to add all of the generated sources as order deps. Fixes: #9258
2021-09-20tests/fortran/7 generated: don't try to find a configure_file by pathDylan Baker1-4/+2
Use the value returned by configure file instead. The issue that caused this to be required is no longer present.
2021-09-16Fix ignored install_tag kwarg in install_subdir()Xavier Claessens2-0/+5
Fixes: #9263
2021-09-10add test case for qrc translationsEli Schwartz6-0/+51
2021-09-10Made submodule child code valid Fortran.Mat Cross1-2/+2
2021-09-07unittests: test external dependency in summaryPaolo Bonzini1-0/+1
This requires a bit of extra code because the version might change, but otherwise it fits in the existing AllPlatformTests.test_summary testcase Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-09-07add test case for mixed language link testsPaolo Bonzini2-0/+12
2021-09-06mintro: add installed_planFilipe Laíns16-0/+42
Signed-off-by: Filipe Laíns <lains@riseup.net>
2021-09-02interpreter: Add summary of all user defined optionsXavier Claessens1-1/+1
It is a commonly needed information to help debugging build issues. We already were printing options with non-default value at the end of the configure but outside of the summary. Keeping the list of user defined options in the interpreter will also in the future be useful to use new default value on reconfigure.
2021-09-01run_target: do not yield broken names with subdirsEli Schwartz2-0/+8
A run_target object created in a subdir/meson.build always has a ninja rule name of "name", not "subdir/name". Fixes #9175
2021-09-01dependency: fallback and allow_fallback are mutually exclusiveXavier Claessens2-0/+11
That used to abort in previous Meson versions but 0.59 stopped forbidding that by mistake.
2021-09-01msvc: Assume UTF8 source by defaultXavier Claessens4-0/+30
Currently every project that uses UTF8 for its source files must add '/utf-8' argument otherwise they don't work non-English locale MSVC. Since meson.build itself is assumed to be UTF8 by default, seems better to assume it for source files by default too. For example: - https://gitlab.freedesktop.org/gstreamer/gst-build/-/blob/master/meson.build#L62 - https://gitlab.gnome.org/GNOME/glib/-/blob/main/meson.build#L29
2021-08-31interpreter: Add IntegerHolderDaniel Mensinger1-1/+2
2021-08-31interpreter: Make comparisons of different types a hard errorDaniel Mensinger1-11/+0
2021-08-31pylint: turn on superflous-parensDylan Baker11-17/+17
We have a lot of these. Some of them are harmless, if unidiomatic, such as `if (condition)`, others are potentially dangerous `assert(...)`, as `assert(condtion)` works as expected, but `assert(condition, message)` will result in an assertion that never triggers, as what you're actually asserting is `bool(tuple[2])`, which will always be true.
2021-08-30decorators: Make unknown kwarg fatalXavier Claessens3-6/+1
2021-08-27interpreter: fix name of typed_kwargs for `test()`Dylan Baker1-1/+1
There was a copy-n-paste error here, and it was benchmark instead.