Sensors of type user no longer require objtype and objname. If unspecified, the objtype will be mjOBJ_UNKNOWN. Also, `user sensors datatype default is now "real"`.
PiperOrigin-RevId: 489652972 Change-Id: I0a8f21ee1a2f5292e6bbcfe3785536cfd1498b85
This commit is contained in:
committed by
Copybara-Service
parent
6f2092bef2
commit
221c63d744
@@ -935,6 +935,38 @@ TEST_F(ActuatorParseTest, ActdimDefaultsPropagate) {
|
||||
mj_deleteModel(model);
|
||||
}
|
||||
|
||||
// ------------- test sensor parsing -------------------------------------------
|
||||
|
||||
using SensorParseTest = MujocoTest;
|
||||
|
||||
TEST_F(SensorParseTest, UserObjTypeNoName) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<sensor>
|
||||
<user dim="1" needstage="vel" objtype="site"/>
|
||||
</sensor>
|
||||
</mujoco>
|
||||
)";
|
||||
std::array<char, 1024> error;
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, IsNull());
|
||||
EXPECT_THAT(error.data(), HasSubstr("objtype 'site' given but"));
|
||||
}
|
||||
|
||||
TEST_F(SensorParseTest, UserObjNameNoType) {
|
||||
static constexpr char xml[] = R"(
|
||||
<mujoco>
|
||||
<sensor>
|
||||
<user dim="1" needstage="vel" objname="kevin"/>
|
||||
</sensor>
|
||||
</mujoco>
|
||||
)";
|
||||
std::array<char, 1024> error;
|
||||
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
|
||||
ASSERT_THAT(model, IsNull());
|
||||
EXPECT_THAT(error.data(), HasSubstr("objname 'kevin' given but"));
|
||||
}
|
||||
|
||||
// ------------- test general parsing ------------------------------------------
|
||||
|
||||
TEST_F(XMLReaderTest, ZnearZeroNotAllowed) {
|
||||
|
||||
Reference in New Issue
Block a user