diff --git a/src/test/java/testjoltjni/TestUtils.java b/src/test/java/testjoltjni/TestUtils.java
index 150ad9d5..1383489d 100644
--- a/src/test/java/testjoltjni/TestUtils.java
+++ b/src/test/java/testjoltjni/TestUtils.java
@@ -298,6 +298,42 @@ public static boolean loadNativeLibrary(
return success;
}
+ /**
+ * Load some flavor of native library, preferably a Release build.
+ *
+ * The search order is:
+ *
+ * - ReleaseSp
+ * - ReleaseDp
+ * - DebugSp
+ * - DebugDp
+ *
+ */
+ public static void loadNativeLibraryRelease() {
+ File directory = new File("build/libs/joltjni/shared");
+
+ boolean success = loadNativeLibrary(directory, "Release", "Sp");
+ if (success) {
+ Assert.assertFalse(Jolt.isDoublePrecision());
+ } else {
+ success = loadNativeLibrary(directory, "Release", "Dp");
+ if (success) {
+ Assert.assertTrue(Jolt.isDoublePrecision());
+ } else {
+ success = loadNativeLibrary(directory, "Debug", "Sp");
+ if (success) {
+ Assert.assertFalse(Jolt.isDoublePrecision());
+ } else {
+ success = loadNativeLibrary(directory, "Debug", "Dp");
+ if (success) {
+ Assert.assertTrue(Jolt.isDoublePrecision());
+ }
+ }
+ }
+ }
+ Assert.assertTrue(success);
+ }
+
/**
* Allocate and initialize a {@code PhysicsSystem} in the customary
* configuration.
diff --git a/src/test/java/testjoltjni/app/performancetest/PerformanceTest.java b/src/test/java/testjoltjni/app/performancetest/PerformanceTest.java
index c806d256..07e36daf 100644
--- a/src/test/java/testjoltjni/app/performancetest/PerformanceTest.java
+++ b/src/test/java/testjoltjni/app/performancetest/PerformanceTest.java
@@ -56,7 +56,7 @@ private static void Trace(String format, Object... args)
// Program entry point
public static void main(String[] argv) throws IOException
{
- TestUtils.loadNativeLibrary();
+ TestUtils.loadNativeLibraryRelease();
// Install callbacks
Jolt.installDefaultTraceCallback();