Add error reporting to model loading in engine tests, where missing
PiperOrigin-RevId: 795844607 Change-Id: I4163c53c05796c2e3036af28a98f58c15bb1c99c
This commit is contained in:
committed by
Copybara-Service
parent
bbb70d98a4
commit
5a24eb2d34
@@ -83,7 +83,9 @@ TEST_P(ParametrizedForwardTest, ActLimited) {
|
||||
</mujoco>
|
||||
)";
|
||||
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
model->opt.integrator = GetParam().integrator;
|
||||
@@ -144,7 +146,9 @@ TEST_F(ForwardTest, DamperDampens) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
// move the joint
|
||||
@@ -230,7 +234,9 @@ TEST_F(ImplicitIntegratorTest, EulerDampDisable) {
|
||||
</mujoco>
|
||||
)";
|
||||
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
// step once, call mj_forward, save qvel and qacc
|
||||
@@ -250,7 +256,7 @@ TEST_F(ImplicitIntegratorTest, EulerDampDisable) {
|
||||
// expect finite-differenced qacc to match to high precision
|
||||
EXPECT_THAT(qacc_fd, Pointwise(DoubleNear(1e-14), qacc));
|
||||
|
||||
// reach the the same initial state
|
||||
// reach the same initial state
|
||||
mj_resetData(model, data);
|
||||
mj_step(model, data);
|
||||
|
||||
@@ -287,7 +293,9 @@ TEST_F(ImplicitIntegratorTest, EulerDampLimit) {
|
||||
</mujoco>
|
||||
)";
|
||||
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
mjtNum diff_norm_prev = -1;
|
||||
@@ -343,7 +351,9 @@ TEST_F(ImplicitIntegratorTest, EulerImplicitEqivalent) {
|
||||
</mujoco>
|
||||
)";
|
||||
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
// step 10 times with Euler, save copy of qpos as vector
|
||||
@@ -461,7 +471,9 @@ TEST_F(ForwardTest, ControlClamping) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
// for the unclamped actuator, ctrl={1, 2} produce different accelerations
|
||||
@@ -534,7 +546,9 @@ TEST_F(ForwardTest, MjcbControlDisabled) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
// install global control callback
|
||||
@@ -579,8 +593,9 @@ TEST_F(ForwardTest, gravcomp) {
|
||||
</worldbody>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
|
||||
mjData* data = mj_makeData(model);
|
||||
while (data->time < 1) { mj_step(model, data); }
|
||||
@@ -615,8 +630,9 @@ TEST_F(ForwardTest, eq_active) {
|
||||
</equality>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
@@ -674,8 +690,9 @@ TEST_F(ForwardTest, NormalizeQuats) {
|
||||
</sensor>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
|
||||
mjData* data_u = mj_makeData(model);
|
||||
|
||||
@@ -764,8 +781,9 @@ TEST_F(ForwardTest, MocapQuats) {
|
||||
</sensor>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
|
||||
mjData* data = mj_makeData(model);
|
||||
mj_forward(model, data);
|
||||
@@ -828,7 +846,9 @@ TEST_F(ForwardTest, MjcbActDynSecondOrderExpectsActnum) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
// install global dynamics callback
|
||||
@@ -885,7 +905,9 @@ TEST_F(ActuatorTest, ExpectedAdhesionForce) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
// iterate over cone type
|
||||
@@ -1122,8 +1144,9 @@ TEST_F(FilterExactTest, ApproximatesContinuousTime) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
const mjtNum kSimulationTime = 1.0;
|
||||
|
||||
@@ -1182,8 +1205,9 @@ TEST_F(FilterExactTest, TimestepIndependent) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
const mjtNum kSimulationTime = 1.0;
|
||||
|
||||
@@ -1231,8 +1255,9 @@ TEST_F(FilterExactTest, ActEqualsCtrlWhenTauIsZero) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
ASSERT_THAT(model, NotNull());
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
data->ctrl[0] = 0.5;
|
||||
data->act[0] = 0.0;
|
||||
@@ -1337,7 +1362,9 @@ TEST_F(ActuatorTest, DisableActuator) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
data->ctrl[0] = 1.0;
|
||||
@@ -1375,7 +1402,9 @@ TEST_F(ActuatorTest, DisableActuatorOutOfRange) {
|
||||
</actuator>
|
||||
</mujoco>
|
||||
)";
|
||||
mjModel* model = LoadModelFromString(xml);
|
||||
char error[1024];
|
||||
mjModel* model = LoadModelFromString(xml, error, sizeof(error));
|
||||
ASSERT_THAT(model, NotNull()) << error;
|
||||
mjData* data = mj_makeData(model);
|
||||
|
||||
data->ctrl[0] = 1.0;
|
||||
|
||||
Reference in New Issue
Block a user