From 493ae95d6937af7684a4ede7c2831efa7048c580 Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Thu, 12 Oct 2023 10:52:40 -0700 Subject: [PATCH] Add stack leak test to `WriteReadCompare` PiperOrigin-RevId: 572953669 Change-Id: Id6cad3fc86777d68f218119f67c9dc473bdcfcc8 --- test/user/testdata/auto_limits.xml | 1 + test/xml/xml_native_writer_test.cc | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/test/user/testdata/auto_limits.xml b/test/user/testdata/auto_limits.xml index 65308bd0..211cb4cc 100644 --- a/test/user/testdata/auto_limits.xml +++ b/test/user/testdata/auto_limits.xml @@ -1,6 +1,7 @@ + diff --git a/test/xml/xml_native_writer_test.cc b/test/xml/xml_native_writer_test.cc index 664cafb5..51d61f8e 100644 --- a/test/xml/xml_native_writer_test.cc +++ b/test/xml/xml_native_writer_test.cc @@ -1049,8 +1049,10 @@ mjtNum CompareModel(const mjModel* m1, const mjModel* m2, } TEST_F(PluginTest, WriteReadCompare) { + // full precision float printing FullFloatPrecision increase_precision; - // Loop over all xml files in data + + // loop over all xml files in data std::vector paths = {GetTestDataFilePath("."), GetModelPath(".")}; std::string ext(".xml"); @@ -1101,6 +1103,11 @@ TEST_F(PluginTest, WriteReadCompare) { mj_deleteModel(mtemp); } + // check for stack memory leak + mj_step(m, d); + EXPECT_EQ(d->pstack, 0) << "mjData stack memory leak detected in " << + p.path().string() << '\n'; + // delete original structures mj_deleteData(d); mj_deleteModel(m);