summaryrefslogtreecommitdiff
path: root/unittests/allplatformstests.py
Commit message (Collapse)AuthorAgeFilesLines
* make sure files arguments to compiler.compiles and friends, performs rebuildEli Schwartz2021-11-281-0/+7
| | | | | | | | | | | If the compiler check is updated as a string in meson.build, we force rebuild, which is a good thing since the outcome of that check changes the configuration context and can enable or disable parts of the build. If the compiler check came from a files() object then we didn't add a regen rule on those files. Fixes #1656
* shared_module: Add soname when used as a link targetNirbheek Chauhan2021-11-241-2/+4
| | | | | | | | | | | | | | Emit a detailed deprecation warning that explains what to do instead. Also add a unittest. ``` DEPRECATION: target prog links against shared module mymod, which is incorrect. This will be an error in the future, so please use shared_library() for mymod instead. If shared_module() was used for mymod because it has references to undefined symbols, use shared_libary() with `override_options: ['b_lundef=false']` instead. ``` Fixes https://github.com/mesonbuild/meson/issues/9492
* unit tests: Extend prebuilt test to test intermediateDylan Baker2021-11-241-0/+23
| | | | | This provides coverage for the bug: https://github.com/mesonbuild/meson/issues/9542
* unittests: use UnitTest.addCleanup a bitDylan Baker2021-11-241-11/+14
|
* interpreter: extract_objects provides a valid sourcePaolo Bonzini2021-11-231-0/+6
| | | | | | | This ensures that there is no warnings when running meson on test cases/common/22 object extraction. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Feature kwargs decorator: automatically report the nodes which trigger an issueEli Schwartz2021-11-201-2/+2
|
* Fix add_install_script() ignoring install_tagXavier Claessens2021-10-271-10/+12
| | | | Fixes: #9454
* test_clang_format: Do not assume meson source is in gitXavier Claessens2021-10-271-0/+8
| | | | Fixes: #9437
* unittests: use better assert methodsEli Schwartz2021-10-261-16/+16
| | | | | | | assertTrue and assertFalse are recommended against, if you can get a more specific assertion. And sometimes it is considerably shorter, for example we have a custom assertPathExists which we can take advantage of.
* do not save unused variableEli Schwartz2021-10-261-1/+1
| | | | | Constructing a PackageDefinition is enough to assert that it raises an error.
* remove unused variableEli Schwartz2021-10-261-1/+1
| | | | | | | | It never made sense here to save self.init() which returns a string containing a log or stdout or something, and which was never actually used. Also we then overwrote the variable with a pathname...
* remove dead code that is immediately overriddenEli Schwartz2021-10-261-4/+0
| | | | | | In commit d932cd9fb48e8fecb167641c3d6bee8a68831c6e, we migrated to meson's own static linker definition, and the old code that hardcoded two of the possible exelists should have been removed in the process.
* do not save variable when all we want is the side effect of popping itEli Schwartz2021-10-261-1/+1
| | | | | It's redefined on every loop iteration, and as the comment says, we just want to make sure the next loop skips a value.
* introspect: include choices for array optionsPaolo Bonzini2021-10-141-2/+5
| | | | There was even a test covering this, but it did not fail due to a typo.
* Fix typos discovered by codespellChristian Clauss2021-10-101-1/+1
|
* clangformat: Only format files tracked by git by defaultXavier Claessens2021-10-101-0/+14
|
* ar linker: generate thin archives for uninstalled static librariesEli Schwartz2021-10-101-1/+1
| | | | | | | | | | | | | | Since they will never be used outside of the build directory, they do not need to literally contain the .o files, and references will be sufficient. This covers a major use of object libraries, which is that the static library would potentially take up a lot of space by including another copy of every .o file. Fixes #9292 Fixes #8057 Fixes #2129
* various python neatness cleanupsEli Schwartz2021-10-041-2/+2
| | | | | | | | | | | | | | | | 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.
* rust: dependencies need to cause a rebuild/relink not just reorderDylan Baker2021-10-011-0/+32
| | | | Otherwise changes to a dependency don't propogate
* Make custom_target() name argument optionalXavier Claessens2021-09-301-0/+8
|
* Merge pull request #9014 from bonzini/mixed-language-linkJussi Pakkanen2021-09-281-0/+14
|\ | | | | Use appropriate compiler for the source file for "links" tests with file argument
| * add test case for mixed language link testsPaolo Bonzini2021-09-071-0/+14
| |
* | fix test case instances where undefined message(true) occurredEli Schwartz2021-09-271-2/+2
| |
* | compilers/rust: Add support for clippyDylan Baker2021-09-241-0/+13
| | | | | | | | | | | | | | | | | | | | | | 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
* | coredata: 0.59.1 -> 0.59.99 is a major version differenceXavier Claessens2021-09-211-25/+3
| | | | | | | | | | | | | | | | | | | | | | | | Remove test_minor_version_does_not_reconfigure_wipe() because when run during dev cycle that test reconfigure with .99 -> .100 which is considered a major version change now. It is covered by a more efficient internal test now anyway. While at it, remove no-op `with Path(self.builddir):` statement, the intention was clearly to set workdir. Fixes: #9260
* | Fix ignored install_tag kwarg in install_subdir()Xavier Claessens2021-09-161-0/+2
| | | | | | | | Fixes: #9263
* | backends/vs: Do not emit dummy command for alias_command().Andres Freund2021-09-141-3/+0
| | | | | | | | | | | | | | | | | | Alias commands did not work with the vs backend, due to trying to access target.command[0] with an empty command. Fix this by just not emitting a CustomBuild node for alias targets - the project references are enough to trigger the necessary actions. Fixes: #9247
* | unittests: test external dependency in summaryPaolo Bonzini2021-09-071-3/+8
|/ | | | | | | 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>
* mintro: add installed_planFilipe Laíns2021-09-061-3/+179
| | | | Signed-off-by: Filipe Laíns <lains@riseup.net>
* tests: when generating git repositories, make sure that pgpsign is offEli Schwartz2021-09-031-1/+1
| | | | | | | | | | | | | | | I have a local configuration tag.forcesignannotated=true commit.gpgsign=true This causes the tests to fail with e.g. error: gpg failed to sign the data fatal: failed to write commit object Since this is a unittest, it is never wrong to tell git "just ignore prior configuration, and disable all PGP signing".
* interpreter: Add summary of all user defined optionsXavier Claessens2021-09-021-1/+7
| | | | | | | | | 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.
* run_target: do not yield broken names with subdirsEli Schwartz2021-09-011-0/+2
| | | | | | | A run_target object created in a subdir/meson.build always has a ninja rule name of "name", not "subdir/name". Fixes #9175
* pylint: turn on superflous-parensDylan Baker2021-08-311-1/+1
| | | | | | | | 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.
* decorators: Make unknown kwarg fatalXavier Claessens2021-08-301-3/+3
|
* interpreter: Fix dependency(..., static: true) fallbackXavier Claessens2021-08-231-0/+5
| | | | | | | It should build the fallback subprject with default_library=static and override the dependency for both static=True and static kwarg not given. Fixes: #8050.
* Add install tagsXavier Claessens2021-08-171-9/+116
| | | | Fixes: #7007.
* interpreter/compiler: Add type checking for the Compiler objectDylan Baker2021-08-161-7/+2
| | | | | This adds a full set of `typed_pos_args` and `typed_kwarg` decorations, as well as fixing all of the typing errors reported by mypy.
* editorconfig: add setting to trim trailing whitespaceEli Schwartz2021-08-151-2/+0
| | | | | | | and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
* run_unittests: fix unused variable warningsEli Schwartz2021-08-151-2/+2
| | | | | | | | We don't actually want to do anything with the open()ed file, just immediately close it. The CalledProcessError doesn't have its return returncode checked here, even though other code with the same type of context manager does.
* interpreter: Fix missing subsubproject summary when subproject failsXavier Claessens2021-08-091-0/+5
| | | | | | In the case main->subp->subsubp, if subsubp succeed to configure but subp subsequentially fails, subsubp is still being built but its summary was missing.
* Fix --force-fallack-for with --wrap-mode=nofallbackXavier Claessens2021-08-071-0/+6
| | | | Fixes: #9065
* Escape path in exclude filter passed to gcovrAlois Wohlschlager2021-08-041-0/+20
| | | | | | Gcovr interprets exclude filters, as passed to the -e option, as regexes. Since we want to exclude a raw path, the argument must be escaped.
* destdir: Allow relative to build directoryXavier Claessens2021-08-041-0/+6
| | | | | | Meson already works like that, except in do_copydir() that requires absolute destdir. Better explicitly support that instead of leaving it undefined and unconsistent.
* Split run_unittests.py fileXavier Claessens2021-07-261-0/+3728