From: David Mulder Date: Tue, 13 Aug 2024 21:06:42 +0000 (-0600) Subject: Improve cargo test output X-Git-Tag: tdb-1.4.13~891 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8298cf437669a986cc16fb5079e72ff3c9000153;p=thirdparty%2Fsamba.git Improve cargo test output Signed-off-by: David Mulder Reviewed-by: Alexander Bokovoy --- diff --git a/python/samba/tests/rust.py b/python/samba/tests/rust.py index e5624bbbeac..d453b333027 100644 --- a/python/samba/tests/rust.py +++ b/python/samba/tests/rust.py @@ -20,11 +20,12 @@ """Cargo tests for Rust sources""" -from samba.tests import BlackboxTestCase +from samba.tests import TestCase, BlackboxProcessError import os +from subprocess import Popen, PIPE -class RustCargoTests(BlackboxTestCase): +class RustCargoTests(TestCase): def setUp(self): super().setUp() @@ -52,7 +53,16 @@ class RustCargoTests(BlackboxTestCase): def check_cargo_test(self, crate_toml): # Execute the cargo test command cmd = 'cargo test --target-dir=%s --manifest-path=%s' % (self.target_dir, crate_toml) - return self.check_run(cmd, 'cargo test failed') + p = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=True) + stdoutdata, stderrdata = p.communicate() + retcode = p.returncode + if retcode != 0: + msg = "cargo test failed; return code %s" % retcode + raise BlackboxProcessError(retcode, + cmd, + stdoutdata.decode('utf-8'), + stderrdata.decode('utf-8'), + msg) def test_rust(self): crates = []