diff --git a/test/engine/testdata/collision_convex/perf/boxmesh.xml b/test/engine/testdata/collision_convex/perf/boxmesh.xml
new file mode 100644
index 00000000..6bebb4c1
--- /dev/null
+++ b/test/engine/testdata/collision_convex/perf/boxmesh.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/engine/testdata/collision_convex/perf/ellipsoid.xml b/test/engine/testdata/collision_convex/perf/ellipsoid.xml
new file mode 100644
index 00000000..d283bdac
--- /dev/null
+++ b/test/engine/testdata/collision_convex/perf/ellipsoid.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/engine/testdata/collision_convex/perf/spheremesh.xml b/test/engine/testdata/collision_convex/perf/spheremesh.xml
new file mode 100644
index 00000000..058bdfad
--- /dev/null
+++ b/test/engine/testdata/collision_convex/perf/spheremesh.xml
@@ -0,0 +1,687 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/fixture.cc b/test/fixture.cc
index 3be64128..c3c1df28 100644
--- a/test/fixture.cc
+++ b/test/fixture.cc
@@ -18,7 +18,7 @@
#include
#include
#include
-#include
+#include // NOLINT
#include
#include
#include
@@ -31,7 +31,9 @@
#include
#include
+#include
#include
+#include
#include
#include
#include
@@ -72,11 +74,11 @@ MujocoErrorTestGuard::~MujocoErrorTestGuard() {
}
}
-const std::string GetTestDataFilePath(std::string_view path) {
+const std::string GetTestDataFilePath(std::string_view path) { // NOLINT
return std::string(path);
}
-const std::string GetModelPath(std::string_view path) {
+const std::string GetModelPath(std::string_view path) { // NOLINT
return absl::StrCat("../model/", path);
}
@@ -214,7 +216,7 @@ mjtNum CompareModel(const mjModel* m1, const mjModel* m2,
// compare arrays
#define X(type, name, nr, nc) \
- for (int r = 0; r < m1->nr; r++) \
+ for (int r = 0; r < m1->nr; r++) { \
for (int c = 0; c < nc; c++) { \
dif = Compare(m1->name[r * nc + c], m2->name[r * nc + c]); \
if (dif > maxdif) { \
@@ -223,7 +225,8 @@ mjtNum CompareModel(const mjModel* m1, const mjModel* m2,
field += " row: " + std::to_string(r); \
field += " col: " + std::to_string(c); \
} \
- } // NOLINT
+ } \
+ } // NOLINT
MJMODEL_POINTERS
#undef X
diff --git a/test/sample/testspeed_test.sh b/test/sample/testspeed_test.sh
index f458a8e7..fdfd9d95 100755
--- a/test/sample/testspeed_test.sh
+++ b/test/sample/testspeed_test.sh
@@ -31,7 +31,8 @@ test_model() {
if [[ "$model" == */composite/particle.xml ||
"$model" == */replicate/bunnies.xml ||
"$model" == */replicate/leaves.xml ||
- "$model" == */replicate/particle.xml
+ "$model" == */replicate/particle.xml ||
+ "$model" == */engine/testdata/collision_convex/perf/*
]]; then
# these tests can take several minutes under ASAN
return 0
diff --git a/test/xml/xml_native_writer_test.cc b/test/xml/xml_native_writer_test.cc
index 2c62ff81..bcb8c68b 100644
--- a/test/xml/xml_native_writer_test.cc
+++ b/test/xml/xml_native_writer_test.cc
@@ -1277,7 +1277,8 @@ TEST_F(XMLWriterTest, WriteReadCompare) {
absl::StrContains(p.path().string(), "touch_grid") ||
absl::StrContains(p.path().string(), "gmsh_") ||
absl::StrContains(p.path().string(), "shark_") ||
- absl::StrContains(p.path().string(), "cow")) {
+ absl::StrContains(p.path().string(), "cow") ||
+ absl::StrContains(p.path().string(), "spheremesh")) {
continue;
}