Trim trailing default values in saved xmls.
For attributes which accept variable-length inputs. Currently used for `gainprm, biasprm, friction, solref, solimp` Example: - Saved before: `biasprm="0 -3 -4 0 0 0 0 0 0 0"`. - Saved after: `biasprm="0 -3 -4"`. PiperOrigin-RevId: 607609550 Change-Id: I0501348280663867693175236872e2aabc703601
This commit is contained in:
committed by
Copybara-Service
parent
6a346c42e8
commit
f9f7827a64
@@ -722,7 +722,7 @@ TEST_F(XMLWriterTest, WritesActuatorDefaults) {
|
||||
std::string saved_xml = SaveAndReadXml(model);
|
||||
EXPECT_THAT(saved_xml, Not(HasSubstr("mass")));
|
||||
EXPECT_THAT(saved_xml, HasSubstr(
|
||||
"<general biastype=\"affine\" gainprm=\"3 0 0 0 0 0 0 0 0 0\""));
|
||||
"<general biastype=\"affine\" gainprm=\"3\""));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
@@ -999,6 +999,32 @@ TEST_F(XMLWriterTest, ActdimDefaults) {
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
TEST_F(XMLWriterTest, TrimsDefaults) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<worldbody>
|
||||
<body>
|
||||
<geom size="1" friction="0.9" solref="0.1" solimp="0.1 0.2"/>
|
||||
<joint name="jnt" type="slide" axis="1 0 0" range="0 2"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
<actuator>
|
||||
<position joint="jnt" kp="3" kv="4"/>
|
||||
<damper joint="jnt" kv="10" ctrlrange="0 1"/>
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
std::string saved_xml = SaveAndReadXml(model);
|
||||
EXPECT_THAT(saved_xml, HasSubstr("friction=\"0.9\""));
|
||||
EXPECT_THAT(saved_xml, HasSubstr("solref=\"0.1\""));
|
||||
EXPECT_THAT(saved_xml, HasSubstr("solimp=\"0.1 0.2\""));
|
||||
EXPECT_THAT(saved_xml, HasSubstr("gainprm=\"3\" biasprm=\"0 -3 -4\""));
|
||||
EXPECT_THAT(saved_xml, HasSubstr("gainprm=\"0 0 -10\""));
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
// check that no precision is lost when saving XMLs with FullFloatPrecision
|
||||
TEST_F(XMLWriterTest, SetPrecision) {
|
||||
static constexpr char xml[] = R"(
|
||||
|
||||
Reference in New Issue
Block a user