From 79e2c52a15e896e46ff3cfa3ec16fbf3f132ee01 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 26 Oct 2020 08:41:45 -0400 Subject: mtest: only build what is needed for the tests It is a usual workflow to fix something and retest to see if it is fixed using a particular test. When tests start to become numerous, it becomes time consuming for "meson test" to relink all of them (and in fact rebuild the whole project) where the user has already specified the tests they want to run, as well as the tests' dependencies. Teach meson to be smart and only build what is needed for the test (or suite) that were specified. Fixes: #7473 Related: #7830 --- docs/markdown/snippets/meson_test_depends.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 docs/markdown/snippets/meson_test_depends.md (limited to 'docs/markdown/snippets') diff --git a/docs/markdown/snippets/meson_test_depends.md b/docs/markdown/snippets/meson_test_depends.md new file mode 100644 index 0000000..09d78f1 --- /dev/null +++ b/docs/markdown/snippets/meson_test_depends.md @@ -0,0 +1,17 @@ +## `meson test` only rebuilds test dependencies + +Until now, `meson test` rebuilt the whole project independent of the +requested tests and their dependencies. With this release, `meson test` +will only rebuild what is needed for the tests or suites that will be run. +This feature can be used, for example, to speed up bisecting regressions +using commands like the following: + + git bisect start + git bisect run meson test + +This would find the broken commit automatically while at each step +rebuilding only those pieces of code needed to run the test. + +However, this change could cause failures if dependencies are not +specified correctly in `meson.build`. + -- cgit v1.1