aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-02-15Fix VS C++ module support.vsmodfixJussi Pakkanen1-1/+2
2021-02-14docs: Fix typo in release notes [skip ci]Sam Thursfield1-1/+1
Mismatched \` symbol was messing up the formatting.
2021-02-14Add a release note entry for C++ modules which was missing. [skip ci]Jussi Pakkanen1-1/+8
2021-02-14Bump version for new development.Jussi Pakkanen1-1/+1
2021-02-14Set up release 0.57.0.57.0Jussi Pakkanen34-316/+355
2021-02-14aix: avoid -bsvr4 flagPeter Harris1-9/+22
The svr4 linker flag causes issues, especially when compiling c++. Replace '-z' options with the equivalent non-svr4 flags. When using -blibpath, we must be careful to include the default system library path, or the resulting executables will not be able to find libc. This patch was suggested by @andreaskem in #7581.
2021-02-14Add custom entyr to cuda buildtype dict. Closes #8336.Jussi Pakkanen1-0/+1
2021-02-11Merge pull request #8322 from bonzini/mtest-fixesJussi Pakkanen2-44/+75
mtest fixes for 0.57
2021-02-10mtest: include classname in <testcase> JUnit elementPaolo Bonzini1-2/+4
It looks like GitLab ignores the suite name and actually uses the classname. Adjust the output accordingly. Fixes: #8316 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-10mtest: cancel stdout/stderr tasks on timeoutPaolo Bonzini1-18/+35
Avoid that the tasks linger and SingleTestRunner.run() never terminates. In order to do this, we need read_decode() and read_decode_lines() to be cancellable, and to handle the CancelledError gracefully while returning the output they have collected so far. For read_decode(), this means always operating on a line-by-line basis, even if console_mode is not ConsoleUser.STDOUT. For read_decode_lines(), instead, we cannot return an iterator. Rather, read_decode_lines() returns the output directly (similar to read_decode) and communication with the parser is mediated by an asyncio.Queue. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-10mtest: clean up conditions on whether tests are run in parallelPaolo Bonzini1-10/+13
This makes non-parallel tests emit their output on the fly, similar to ninja console jobs. It also cleans up the code a bit, avoiding the repetition of "self.options.num_processes" tests. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-10mtest: fix nits in printing test stdoutPaolo Bonzini1-4/+5
- Ensure the output is terminated with a \n even if the test does not include one. - Ensure that stdout is flushed for each reported result Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09mtest: TestSetup can have [] as an exe_wrapperPaolo Bonzini2-2/+4
Fix "meson test --wrapper foo --setup bar", it should work just fine if the setup does not define a wrapper. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09mtest: run the test output parser as a taskPaolo Bonzini1-5/+6
Start the parsing of the output early; this avoids a deadlock if the test writes to stdout but no one reads from it. It also reports TAP or Rust subtest results as they happen, which was the intention all along. While at it, use a consistent naming conventions for coroutines vs tasks. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09mtest: hide infinite timeout from the progress reportPaolo Bonzini1-3/+8
Avoid printing something like "30/-1s" when tests are run without a timeout or with --timeout-multiplier 0. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09backends: Fix custom_target() with configure_file() exeXavier Claessens2-1/+7
2021-02-09backends: Always use the command returned by as_meson_exe_cmdline()Xavier Claessens2-15/+12
Even if the command is not wrapped by meson, it could have been modified to add java/mono interpreters. This fix potential inconsistency between wrapped and unwrapped commands.
2021-02-09Bump version numbers for rc1.0.57.0.rc1Jussi Pakkanen2-3/+3
2021-02-09Add packaging dir to release tarball.Jussi Pakkanen1-0/+1
2021-02-09Condense test directory names in preparation for rc1.Jussi Pakkanen22-3/+3
2021-02-08Fix exe wrapper detection for run targets.Jussi Pakkanen5-7/+21
2021-02-07Add Qt6 moduleLuca Weiss8-5/+74
2021-02-07Merge pull request #8162 from dcbaker/wip/2021-01/rust-module-bindgenJussi Pakkanen18-21/+351
Add a wrapper to the rust module for bindgen
2021-02-07Make installing non-existing subdirs a supported featurePeter Hutterer4-1/+16
install_subdir() with a non-existing subdir creates the directory in the target directory. This seems like an implementation detail but is quite useful to create new directories for e.g. configuration or plugins in the installed locations. git bisect says this started with 8fe816101467e66792251b4f57e0ddddb537764a. Let's add a test for it and document it to make this behavior official. Limitation: it can only create at the install_dir location, trying to create nested subdirectories does not work and indeed creates the wrong directory structure. That is a bug that should be fixed separately: install_subdir('blah', install_dir: get_option('prefix')) install_subdir('sub/foobar', install_dir: get_option('prefix')) install_subdir('foo/baz', install_dir: get_option('prefix')) $ tree ../_inst ../_inst β”œβ”€β”€ baz β”œβ”€β”€ blah └── foobar Fixes #2904
2021-02-07Merge pull request #8288 from bonzini/test-setup-exclude-suitesJussi Pakkanen6-68/+94
introduce add_test_setup(exclude suites: ...) keyword argument
2021-02-07Merge pull request #8305 from xclaesse/run-target-envJussi Pakkanen14-241/+131
run_target: Add env kwarg
2021-02-06mesonlib: Add better errormessage to typelistifyDylan Baker2-3/+3
2021-02-06ci: Add bindgen to CI imagesDylan Baker3-1/+6
2021-02-06rust: Add a module wrapper for bindgenDylan Baker11-5/+319
This has a couple of advantages over rolling it by hand: 1. it correctly handles include_directories objects, which is always handy 2. it correctly generates a depfile for you, which makes it more reliable 3. it requires less typing
2021-02-06interpreter: Add annotations for CustomTargetHolderDylan Baker1-1/+1
needed in the rust module
2021-02-06build: Add type annotations for CustomTarget constructorDylan Baker1-2/+3
which are needed in the rust module for bindgen support.
2021-02-06Add a method to IncludeDirs to convert to string listDylan Baker2-3/+8
I'm going to use this in the rust module as well, so having a single source of truth is useful.
2021-02-06backends/ninja: Implement linking a C ABI target into a rust targetDylan Baker1-7/+12
2021-02-06clarify some things in typed_pos_argsDylan Baker1-27/+30
This uses some variables to simplify some logic, and updates the docstring to be more useful.
2021-02-06modules/rust: use typed_pos_argsDylan Baker1-10/+5
2021-02-06interpreterbase: Add support for optional arguments to typed_pos_argsDylan Baker2-2/+98
This allows representing functions like assert(), which take optional positional arguments, which are not variadic. More importnatly you can represent a function like (* means optional, but possitional): ```txt func(str, *int, *str) ``` typed_pos_args will check that all of your types are correct, and if not provide None, which allow simplifying a number of implementation details
2021-02-06interpreterbase: Add support for variadic arguments to typed_pos_argsDylan Baker2-7/+131
This allows functions like `files()` to be decorated.
2021-02-06interpreterbase: Add a helper method for typing positional argumentsDylan Baker2-0/+89
We don't do a very good job of type checking in the interpreter, sometimes we leave it to the mid layers of backends to do that (layering violations) and sometimes we just don't check them at all. When we do check them it's a ton of boilerplate and complicates the code. This should help quite a bit.
2021-02-06interpreter: use noPosArgs and noKwargs instead of opencodingDylan Baker1-8/+6
2021-02-06add loongarch supportXiaotian Wu3-1/+4
2021-02-05run_unittests: fix misc lint errors due to whitespace or unused imports/argsEli Schwartz1-5/+3
2021-02-05run_unittests: fix undefined variable in error messageEli Schwartz1-1/+1
In commit fe973d9fc45581f20fefc41fc0b8eb0066c0129d, some uses of p got rewritten to compiler.language, but not all. We'd still raise an error message, but for the wrong thing. o_O
2021-02-05run_unittests: remove double definition of the same test caseEli Schwartz1-16/+0
In commit 591e6e94b9fccfc49ee7093cb21735a27fd64005 we somehow ended up with an identical extra copy.
2021-02-05tests/cmake: disable some tests that don't work correctly when cross compilingDylan Baker3-0/+12
2021-02-05unittests: fix error message stringDylan Baker1-3/+13
2021-02-05vala: Disable unity buildsDylan Baker3-14/+20
Our approach to unity builds with vala is broken, you cannot unify the generated C files, as they contain duplicate symbols. We would need to instead combine the files while they are still in their vala form, then convert that to C and compile the unified C file. This does not fix the linked issue, as this removed the ability to do vala unity builds, but it does allow running vala with `--unity=on`. Related: #5280
2021-02-05ninjabackend: add a few annotationsDylan Baker1-5/+7
2021-02-05ci: fix yaml syntax errorDylan Baker1-0/+1
2021-02-05ninjabackend: Remove useless call to replace_paths()Xavier Claessens2-5/+4
Replacements are already done by eval_custom_target_command() and must be done BEFORE calling as_meson_exe_cmdline() anyway. replace_paths() is still used by generators. Make eval_custom_target_command() more readable by handling error in the final else case instead of in the middle of elif.
2021-02-05backend: Do not check for exe wrapper twiceXavier Claessens3-17/+4
It is already checked by as_meson_exe_cmdline().