On 8/4/2023 3:04 PM, Richard W.M. Jones wrote:
On Fri, Aug 04, 2023 at 11:34:07AM +0000, Tage Johansson wrote:
Make it possible to run Rust tests with Valgrind with
`make check-valgrind` in the rust directory.
---
  rust/Makefile.am     | 3 +++
  rust/run-tests.sh.in | 6 +++++-
  2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/rust/Makefile.am b/rust/Makefile.am
index 1e63724..bb2e6f0 100644
--- a/rust/Makefile.am
+++ b/rust/Makefile.am
@@ -89,6 +89,9 @@ TESTS_ENVIRONMENT = \
  LOG_COMPILER = $(top_builddir)/run
  TESTS = run-tests.sh
+check-valgrind:
+       LIBNBD_VALGRIND=1 $(MAKE) check
+
  clean-local:
        $(CARGO) clean
        $(CARGO) clean --manifest-path cargo_test/Cargo.toml
diff --git a/rust/run-tests.sh.in b/rust/run-tests.sh.in
index d45b1bf..f7db344 100755
--- a/rust/run-tests.sh.in
+++ b/rust/run-tests.sh.in
@@ -23,4 +23,8 @@ set -x
requires nbdkit --version -@CARGO@ test -- --nocapture
+if [ -z "$VG" ]; then
+    @CARGO@ test -- --nocapture
+else
+    @CARGO@ test --config "target.'cfg(all())'.runner = \"$VG\"" -- --nocapture
+fi
So the tests don't actually pass, with unfortunately quite a lot of
errors.  Do they pass for you?


Strange, "make check-valgrind" works without errors for me. Could it be that we have different Valgrind installations? Or else I have no idea what would be the difference.


You may need to add a valgrind/rust.suppressions file.



Does rust require a runtime mode where it is forced to free up
allocations on exit (as not all languages will bother with that, since
it is not necessary ordinarily).


I am quite sure the answer is no.


Best regards,

Tage


Rich.


_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to