aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-10-26 08:41:45 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-12-14 10:53:36 +0100
commit79e2c52a15e896e46ff3cfa3ec16fbf3f132ee01 (patch)
treeba439b9d3acd46fbd576f63295f1b3e0517cd251 /docs
parent879e9d19f5d0db2450de2dfd6fdc9a31043f64ab (diff)
downloadmeson-79e2c52a15e896e46ff3cfa3ec16fbf3f132ee01.zip
meson-79e2c52a15e896e46ff3cfa3ec16fbf3f132ee01.tar.gz
meson-79e2c52a15e896e46ff3cfa3ec16fbf3f132ee01.tar.bz2
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
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/snippets/meson_test_depends.md17
1 files changed, 17 insertions, 0 deletions
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 <broken commit> <working commit>
+ git bisect run meson test <failing test name>
+
+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`.
+