Skip to content

Commit 96469ec

Browse files
committed
run mujoco in test
1 parent 1bb636f commit 96469ec

File tree

4 files changed

+27
-18
lines changed

4 files changed

+27
-18
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ build
1414
*jni*.cpp
1515
bin
1616
src/main/resources/*
17-
cppbuild
17+
cppbuild
18+
*hs_err_*.log

model/humanoid/humanoid.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
<visual>
2020
<map force="0.1" zfar="30"/>
2121
<rgba haze="0.15 0.25 0.35 1"/>
22-
<global offwidth="2560" offheight="1440" elevation="-20" azimuth="120"/>
2322
</visual>
2423

2524
<statistic center="0 0 0.7"/>

src/main/java/org/mujoco/MuJoCoModelManager.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.io.InputStream;
77
import java.net.URL;
88

9+
import org.bytedeco.javacpp.BytePointer;
910
import org.mujoco.MuJoCoLib.mjData;
1011
import org.mujoco.MuJoCoLib.mjData_;
1112
import org.mujoco.MuJoCoLib.mjModel;
@@ -33,12 +34,12 @@ public MuJoCoModelManager(String jarpath) throws IOException{
3334
private void loadFromFile(File config) {
3435
if(!config.exists())
3536
throw new RuntimeException("Config File does not exist "+config);
36-
byte[] error = new byte[1000];
37-
int error_sz = 0;
37+
int error_sz = 1000;
38+
BytePointer error = new BytePointer(error_sz);
3839
System.out.println("MuJoCo loading configureation file "+config.getAbsolutePath());
3940
m = MuJoCoLib.mj_loadXML(config.getAbsolutePath(), null, error,error_sz);
4041
if(m==null)
41-
throw new RuntimeException("Model File Failed to load "+new String(error)+" code "+error_sz);
42+
throw new RuntimeException("Model File Failed to load "+error.getString()+" code "+error_sz);
4243
System.out.println("Humanoid model loaded " + m);
4344
d = MuJoCoLib.mj_makeData(m);
4445
setModel(new mjModel_(m));

src/test/java/mujoco/java/MuJoColibTest.java

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
*/
44
package mujoco.java;
55

6+
import static org.junit.Assert.fail;
7+
8+
import java.io.File;
9+
10+
import org.bytedeco.javacpp.BytePointer;
611
import org.junit.Test;
712
import org.mujoco.MuJoCoLib;
813
import org.mujoco.MuJoCoLib.mjData;
@@ -11,15 +16,6 @@
1116
import org.mujoco.MuJoCoLib.mjModel_;
1217
import org.mujoco.MuJoCoLib.mjVFS;
1318

14-
import static org.junit.Assert.*;
15-
16-
import java.util.logging.Level;
17-
import java.util.logging.Logger;
18-
19-
import org.bytedeco.javacpp.Loader;
20-
import org.bytedeco.javacpp.annotation.Cast;
21-
import org.bytedeco.javacpp.annotation.Const;
22-
2319
public class MuJoColibTest {
2420
@Test
2521
public void mujocoJNILoadTest() {
@@ -28,12 +24,24 @@ public void mujocoJNILoadTest() {
2824
MuJoCoLib lib = new MuJoCoLib();
2925

3026
System.out.println("Starting " + MuJoCoLib.mj_versionString().getString());
31-
byte[] error = new byte[100];
32-
int error_sz = 0;
27+
int error_sz = 1000;
28+
BytePointer error = new BytePointer(error_sz);
29+
String filename = "model/humanoid/humanoid.xml";
30+
File file = new File(filename);
31+
if(!file.exists()) {
32+
fail("File is missing from the disk");
33+
}
34+
filename = file.getAbsolutePath();
3335
mjModel m = MuJoCoLib.mj_loadXML(
34-
"/home/hephaestus/git/mujoco-java/src/main/resources/mujoco/java/humanoid/humanoid.xml", null, error,
36+
filename, null, error,
3537
error_sz);
36-
System.out.println("Humanoid model loaded " + m);
38+
39+
if(m==null) {
40+
String message = "Model failed to load from "+filename+"\n"+error.getString();
41+
System.err.println(message);
42+
fail(message);
43+
}
44+
System.out.println("Humanoid model loaded " + filename);
3745
mjData d = MuJoCoLib.mj_makeData(m);
3846
try {
3947
mjModel_ Maccessable = new mjModel_(m);

0 commit comments

Comments
 (0)