Add ASAN and MSAN instrumentation for arena and mjData stack.
PiperOrigin-RevId: 535635490 Change-Id: Ia1e58771bae25bf72c861f57452fb8faa2b918fb
This commit is contained in:
committed by
Copybara-Service
parent
1d79657512
commit
f887c1e928
@@ -422,6 +422,7 @@ BENCHMARK(BM_MatVecSparse_1);
|
||||
|
||||
static void BM_combineSparse(benchmark::State& state, CombineFuncPtr func) {
|
||||
static mjModel* m = LoadModelFromPath("humanoid/humanoid.xml");
|
||||
m->opt.jacobian = mjJAC_SPARSE;
|
||||
|
||||
mjData* d = mj_makeData(m);
|
||||
|
||||
|
||||
@@ -25,10 +25,15 @@ test_model() {
|
||||
local model="$1"
|
||||
echo "Testing $model" >&2
|
||||
|
||||
local iterations=10
|
||||
if [[ "$model" == */composite/particle.xml && ${TESTSPEED_ASAN:-0} != 0 ]]; then
|
||||
iterations=2
|
||||
fi
|
||||
|
||||
# run testspeed, writing its output to stderr.
|
||||
# die if testspeed returns a failure code, or if it doesn't have the string
|
||||
# "Simulation time" in the output.
|
||||
("$TARGET_BINARY" "$model" 10 || die "testspeed failed") \
|
||||
("$TARGET_BINARY" "$model" "$iterations" || die "testspeed failed") \
|
||||
| tee >(cat 1>&2) | grep -q "$EXPECTED_STR"
|
||||
|
||||
if [ "$?" != 0 ]; then
|
||||
|
||||
@@ -43,12 +43,12 @@ TEST_F(XMLReaderTest, MemorySize) {
|
||||
{
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<size memory="128"/>
|
||||
<size memory="256"/>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull());
|
||||
EXPECT_EQ(model->nstack, 128 / sizeof(mjtNum));
|
||||
ASSERT_THAT(model, NotNull()) << error.data();
|
||||
EXPECT_EQ(model->nstack, 256 / sizeof(mjtNum));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
{
|
||||
@@ -58,7 +58,7 @@ TEST_F(XMLReaderTest, MemorySize) {
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull());
|
||||
ASSERT_THAT(model, NotNull()) << error.data();
|
||||
EXPECT_EQ(model->nstack, 1024 / sizeof(mjtNum));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
@@ -69,7 +69,7 @@ TEST_F(XMLReaderTest, MemorySize) {
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull());
|
||||
ASSERT_THAT(model, NotNull()) << error.data();
|
||||
EXPECT_EQ(model->nstack, 10240 / sizeof(mjtNum));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
@@ -80,7 +80,7 @@ TEST_F(XMLReaderTest, MemorySize) {
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull());
|
||||
ASSERT_THAT(model, NotNull()) << error.data();
|
||||
EXPECT_EQ(model->nstack, 4*1024*1024 / sizeof(mjtNum));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
@@ -91,7 +91,7 @@ TEST_F(XMLReaderTest, MemorySize) {
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull());
|
||||
ASSERT_THAT(model, NotNull()) << error.data();
|
||||
EXPECT_EQ(model->nstack, 1024*1024*1024 / sizeof(mjtNum));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
@@ -102,7 +102,7 @@ TEST_F(XMLReaderTest, MemorySize) {
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, NotNull());
|
||||
ASSERT_THAT(model, NotNull()) << error.data();
|
||||
EXPECT_EQ(model->nstack, 1024*1024*1024 / sizeof(mjtNum));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user