diff options
author | Christoph Weiss <weiss@wsoptics.de> | 2019-07-12 10:01:36 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-07-12 21:51:17 +0300 |
commit | 185238fdb479e2f7007ccda47e59b65557b7ee4b (patch) | |
tree | 322cef6459eba3105eb9fd647309ebb30cb7a7dd | |
parent | 264533cb67261bcf424f8f84e3a32b43d1704a02 (diff) | |
download | meson-185238fdb479e2f7007ccda47e59b65557b7ee4b.zip meson-185238fdb479e2f7007ccda47e59b65557b7ee4b.tar.gz meson-185238fdb479e2f7007ccda47e59b65557b7ee4b.tar.bz2 |
Change meson test's build failure exit code to 125
-rw-r--r-- | man/meson.1 | 16 | ||||
-rw-r--r-- | mesonbuild/mtest.py | 5 |
2 files changed, 20 insertions, 1 deletions
diff --git a/man/meson.1 b/man/meson.1 index e7c1ecb..5b0dc30 100644 --- a/man/meson.1 +++ b/man/meson.1 @@ -124,6 +124,18 @@ The default way of running tests is to invoke the default build command: .B meson test provides a richer set of tools for invoking tests. +.B meson test +automatically rebuilds the necessary targets to run tests when used with the Ninja backend. +Upon build failure, +.B meson test +will return an exit code of 125. +This return code tells +.B git bisect run +to skip the current commit. +Thus bisecting using git can be done conveniently like this. + +.B git bisect run meson test -C build_dir + .SS "options:" .TP \fB\-\-repeat\fR @@ -214,6 +226,10 @@ Usage error, or an error parsing or executing meson.build. .B 2 Internal error. .TP +.B 125 +.B meson test +could not rebuild the required targets. +.TP .SH SEE ALSO diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py index 1dca075..253f4ab 100644 --- a/mesonbuild/mtest.py +++ b/mesonbuild/mtest.py @@ -1021,7 +1021,10 @@ def run(options: argparse.Namespace) -> int: if not options.list and not options.no_rebuild: if not rebuild_all(options.wd): - return 1 + # We return 125 here in case the build failed. + # The reason is that exit code 125 tells `git bisect run` that the current commit should be skipped. + # Thus users can directly use `meson test` to bisect without needing to handle the does-not-build case separately in a wrapper script. + return 125 with TestHarness(options) as th: try: |