Enable StrictMode for closable objects in RsTest
Bug: 28053769
Removed most CloseGuard warnings by adding destroy() calls.
Other warnings are addressed in the runtime in other CLs.
Left out changes to UT_reduce and UT_reduce_backward since dgross is
addressing them in separate CLs.
Change-Id: Ie8ccfa205e3dedd8b1f121ff024d83edfaa9b46c
diff --git a/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_ref_count.java b/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_ref_count.java
index fe32528..f11b9c8 100644
--- a/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_ref_count.java
+++ b/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_ref_count.java
@@ -37,6 +37,7 @@
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_script.java b/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_script.java
index 17385c9..6e13b2a 100644
--- a/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_script.java
+++ b/tests/java_api/RSTest_CompatLib/src/com/android/rs/test/UT_single_source_script.java
@@ -53,6 +53,11 @@
pRS.finish();
waitForMessage();
+ s.destroy();
+ testAllocation1.getType().destroy();
+ testAllocation1.destroy();
+ testAllocation2.getType().destroy();
+ testAllocation2.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/RSTest.java b/tests/java_api/RsTest/src/com/android/rs/test/RSTest.java
index 2c2d6a2..9eb35ad 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/RSTest.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/RSTest.java
@@ -19,6 +19,11 @@
import android.app.ListActivity;
import android.os.Bundle;
import android.renderscript.RenderScript;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.StrictMode;
+import android.provider.Settings.System;
import android.util.Log;
public class RSTest extends ListActivity {
@@ -33,6 +38,12 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+
+ StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
+ .detectLeakedClosableObjects()
+ .penaltyLog()
+ .build());
+
mRS = RenderScript.create(this);
RSTC = new RSTestCore(this);
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_alloc.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_alloc.java
index 179d3c2..47157ed 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_alloc.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_alloc.java
@@ -23,6 +23,13 @@
import android.renderscript.Type;
public class UT_alloc extends UnitTest {
+ private Type T;
+ private Type mTFaces;
+ private Type mTLOD;
+ private Type mTFacesLOD;
+ private Allocation mAFaces;
+ private Allocation mALOD;
+ private Allocation mAFacesLOD;
protected UT_alloc(RSTestCore rstc, Context ctx) {
super(rstc, "Alloc", ctx);
@@ -37,20 +44,24 @@
s.set_dimY(Y);
s.set_dimZ(Z);
typeBuilder.setX(X); // Only build a 1-D version of this
- Allocation A = Allocation.createTyped(RS, typeBuilder.create());
+ T = typeBuilder.create();
+ Allocation A = Allocation.createTyped(RS, T);
s.bind_a(A);
s.set_aRaw(A);
typeBuilder = new Type.Builder(RS, Element.I32(RS));
typeBuilder.setX(X).setY(Y).setFaces(true);
- Allocation AFaces = Allocation.createTyped(RS, typeBuilder.create());
- s.set_aFaces(AFaces);
+ mTFaces = typeBuilder.create();
+ mAFaces = Allocation.createTyped(RS, mTFaces);
+ s.set_aFaces(mAFaces);
typeBuilder.setFaces(false).setMipmaps(true);
- Allocation ALOD = Allocation.createTyped(RS, typeBuilder.create());
- s.set_aLOD(ALOD);
+ mTLOD = typeBuilder.create();
+ mALOD = Allocation.createTyped(RS, mTLOD);
+ s.set_aLOD(mALOD);
typeBuilder.setFaces(true).setMipmaps(true);
- Allocation AFacesLOD = Allocation.createTyped(RS, typeBuilder.create());
- s.set_aFacesLOD(AFacesLOD);
+ mTFacesLOD = typeBuilder.create();
+ mAFacesLOD = Allocation.createTyped(RS, mTFacesLOD);
+ s.set_aFacesLOD(mAFacesLOD);
return;
}
@@ -64,6 +75,15 @@
s.invoke_alloc_test();
pRS.finish();
waitForMessage();
+ T.destroy();
+ s.get_a().destroy();
+ mAFaces.destroy();
+ mALOD.destroy();
+ mAFacesLOD.destroy();
+ mTFaces.destroy();
+ mTLOD.destroy();
+ mTFacesLOD.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_array_alloc.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_array_alloc.java
index b08abed..8d2d0e4 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_array_alloc.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_array_alloc.java
@@ -46,6 +46,11 @@
s.invoke_array_alloc_test();
pRS.finish();
waitForMessage();
+ for (int i = 0; i < dimX; i++) {
+ Arr[i].destroy();
+ }
+ T.destroy();
+ s.destroy();
pRS.destroy();
passTest();
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_array_init.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_array_init.java
index 401019f..ab61765 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_array_init.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_array_init.java
@@ -86,6 +86,7 @@
s.invoke_array_init_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
passTest();
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_atomic.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_atomic.java
index fdde258..131781a 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_atomic.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_atomic.java
@@ -32,6 +32,7 @@
s.invoke_atomic_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_bug_char.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_bug_char.java
index 9eb76eb..0158b80 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_bug_char.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_bug_char.java
@@ -83,6 +83,7 @@
s.invoke_bug_char_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_check_dims.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_check_dims.java
index cd4b3be..7fbc28a 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_check_dims.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_check_dims.java
@@ -25,6 +25,7 @@
public class UT_check_dims extends UnitTest {
byte mFailedArr[];
int mData[];
+ Allocation mAFailed;
Allocation mA;
static final int Pattern = 0xA5A5A5A5;
@@ -35,12 +36,12 @@
private void initializeGlobals(RenderScript RS, ScriptC_check_dims s) {
Type.Builder typeBuilder = new Type.Builder(RS, Element.U8(RS));
typeBuilder.setX(1);
- Allocation AFailed = Allocation.createTyped(RS, typeBuilder.create());
- s.set_aFailed(AFailed);
+ mAFailed = Allocation.createTyped(RS, typeBuilder.create());
+ s.set_aFailed(mAFailed);
mFailedArr = new byte[1];
mFailedArr[0] = 0;
- AFailed.copyFrom(mFailedArr);
+ mAFailed.copyFrom(mFailedArr);
typeBuilder = new Type.Builder(RS, Element.I32(RS));
int X = 5;
@@ -67,6 +68,9 @@
s.invoke_check_dims_test();
pRS.finish();
waitForMessage();
+ mAFailed.destroy();
+ mA.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp.java
index 5e5878e..489f54e 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp.java
@@ -32,6 +32,7 @@
s.invoke_clamp_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp_relaxed.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp_relaxed.java
index a53b2a5..2ef97b6 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp_relaxed.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_clamp_relaxed.java
@@ -33,6 +33,7 @@
s.invoke_clamp_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_convert.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_convert.java
index b241d27..6e2b0f1 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_convert.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_convert.java
@@ -32,6 +32,7 @@
s.invoke_convert_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_convert_relaxed.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_convert_relaxed.java
index 4956c6f..2514271 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_convert_relaxed.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_convert_relaxed.java
@@ -33,6 +33,7 @@
s.invoke_convert_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_copy_test.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_copy_test.java
index e7e6ff3..da760cf 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_copy_test.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_copy_test.java
@@ -113,6 +113,7 @@
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_ctxt_default.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_ctxt_default.java
index f6f9f80..fe6a526 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_ctxt_default.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_ctxt_default.java
@@ -23,6 +23,7 @@
import android.renderscript.Type;
public class UT_ctxt_default extends UnitTest {
+ private Type T;
private Allocation A;
private Allocation B;
@@ -36,9 +37,10 @@
s.set_gDimX(X);
typeBuilder.setX(X);
- A = Allocation.createTyped(RS, typeBuilder.create());
+ T = typeBuilder.create();
+ A = Allocation.createTyped(RS, T);
s.set_A(A);
- B = Allocation.createTyped(RS, typeBuilder.create());
+ B = Allocation.createTyped(RS, T);
s.set_B(B);
return;
}
@@ -54,6 +56,10 @@
s.invoke_kernel_test();
pRS.finish();
waitForMessage();
+ T.destroy();
+ A.destroy();
+ B.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_element.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_element.java
index 7ed1965..03d62b4 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_element.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_element.java
@@ -86,6 +86,9 @@
s.invoke_element_test();
pRS.finish();
waitForMessage();
+ s.get_complexStruct().getAllocation().destroy();
+ s.get_complexStruct().getElement().destroy();
+ s.destroy();
}
private void testJavaSide(RenderScript RS) {
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach.java
index 1afed53..82efdcd 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach.java
@@ -54,6 +54,9 @@
s.invoke_foreach_test();
pRS.finish();
waitForMessage();
+ A.getType().destroy();
+ A.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_bounds.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_bounds.java
index 48e5cdd..6d1b77d 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_bounds.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_bounds.java
@@ -68,6 +68,9 @@
s.invoke_foreach_bounds_test();
pRS.finish();
waitForMessage();
+ A.getType().destroy();
+ A.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_multi.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_multi.java
index cf9be09..b23cde6 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_multi.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_foreach_multi.java
@@ -104,6 +104,7 @@
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16.java
index 96863a8..9dae23e 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16.java
@@ -26,6 +26,7 @@
private int dimX = 7;
private int dimY = 5;
private int dimZ = 3;
+ private Type type;
private Allocation alloc;
protected UT_fp16(RSTestCore rstc, Context ctx) {
@@ -45,7 +46,8 @@
typeBuilder.setX(dimX).setY(dimY).setZ(dimZ);
break;
}
- alloc = Allocation.createTyped(RS, typeBuilder.create());
+ type = typeBuilder.create();
+ alloc = Allocation.createTyped(RS, type);
s.set_gDimX(dimX);
s.set_gDimY(nDims > 1 ? dimY : 0);
@@ -60,10 +62,18 @@
s.forEach_set_kernel_half(alloc);
s.invoke_verify_half();
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
+
initializeGlobals(RS, s, Element.F16(RS), nDims);
// rsSetElementAt in invoke and verify in kernel
s.invoke_set_half();
s.forEach_verify_kernel_half(alloc);
+
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
}
private void TestHalf2(RenderScript RS, ScriptC_fp16 s, int nDims) {
@@ -73,10 +83,18 @@
s.forEach_set_kernel_half2(alloc);
s.invoke_verify_half2();
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
+
initializeGlobals(RS, s, Element.F16_2(RS), nDims);
// rsSetElementAt in invoke and verify in kernel
s.invoke_set_half2();
s.forEach_verify_kernel_half2(alloc);
+
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
}
private void TestHalf3(RenderScript RS, ScriptC_fp16 s, int nDims) {
@@ -86,10 +104,18 @@
s.forEach_set_kernel_half3(alloc);
s.invoke_verify_half3();
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
+
initializeGlobals(RS, s, Element.F16_3(RS), nDims);
// rsSetElementAt in invoke and verify in kernel
s.invoke_set_half3();
s.forEach_verify_kernel_half3(alloc);
+
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
}
private void TestHalf4(RenderScript RS, ScriptC_fp16 s, int nDims) {
@@ -99,10 +125,18 @@
s.forEach_set_kernel_half4(alloc);
s.invoke_verify_half4();
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
+
initializeGlobals(RS, s, Element.F16_4(RS), nDims);
// rsSetElementAt in invoke and verify in kernel
s.invoke_set_half4();
s.forEach_verify_kernel_half4(alloc);
+
+ RS.finish();
+ alloc.destroy();
+ type.destroy();
}
public void run() {
@@ -121,6 +155,7 @@
s.invoke_fp16_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16_globals.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16_globals.java
index 5a2fd5c..c08f2b3 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16_globals.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_fp16_globals.java
@@ -54,6 +54,7 @@
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_fp_mad.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_fp_mad.java
index 88a1c83..f6c486c 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_fp_mad.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_fp_mad.java
@@ -32,6 +32,7 @@
s.invoke_fp_mad_test(0, 0);
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_int4.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_int4.java
index e003cdb..103c111 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_int4.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_int4.java
@@ -32,6 +32,7 @@
s.invoke_int4_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel.java
index b4196de..47ad14a 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel.java
@@ -23,6 +23,8 @@
import android.renderscript.Type;
public class UT_kernel extends UnitTest {
+ private Type TA;
+ private Type TB;
private Allocation A;
private Allocation B;
@@ -35,9 +37,11 @@
int X = 5;
s.set_dimX(X);
typeBuilder.setX(X);
- A = Allocation.createTyped(RS, typeBuilder.create());
+ TA = typeBuilder.create();
+ A = Allocation.createTyped(RS, TA);
s.bind_ain(A);
- B = Allocation.createTyped(RS, typeBuilder.create());
+ TB = typeBuilder.create();
+ B = Allocation.createTyped(RS, TB);
s.bind_aout(B);
return;
@@ -54,6 +58,11 @@
s.invoke_kernel_test();
pRS.finish();
waitForMessage();
+ A.destroy();
+ B.destroy();
+ TA.destroy();
+ TB.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d.java
index 89e1424..e82c754 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d.java
@@ -23,6 +23,7 @@
import android.renderscript.Type;
public class UT_kernel2d extends UnitTest {
+ private Type T;
private Allocation A;
private Allocation B;
@@ -39,9 +40,10 @@
s.set_gDimY(Y);
typeBuilder.setY(Y);
- A = Allocation.createTyped(RS, typeBuilder.create());
+ T = typeBuilder.create();
+ A = Allocation.createTyped(RS, T);
s.set_A(A);
- B = Allocation.createTyped(RS, typeBuilder.create());
+ B = Allocation.createTyped(RS, T);
s.set_B(B);
return;
}
@@ -57,6 +59,10 @@
s.invoke_kernel_test();
pRS.finish();
waitForMessage();
+ T.destroy();
+ A.destroy();
+ B.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d_oldstyle.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d_oldstyle.java
index 285d810..a1efc29 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d_oldstyle.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel2d_oldstyle.java
@@ -23,6 +23,7 @@
import android.renderscript.Type;
public class UT_kernel2d_oldstyle extends UnitTest {
+ private Type T;
private Allocation A;
private Allocation B;
@@ -39,9 +40,10 @@
s.set_gDimY(Y);
typeBuilder.setY(Y);
- A = Allocation.createTyped(RS, typeBuilder.create());
+ T = typeBuilder.create();
+ A = Allocation.createTyped(RS, T);
s.set_A(A);
- B = Allocation.createTyped(RS, typeBuilder.create());
+ B = Allocation.createTyped(RS, T);
s.set_B(B);
return;
}
@@ -57,6 +59,10 @@
s.invoke_kernel_test();
pRS.finish();
waitForMessage();
+ T.destroy();
+ A.destroy();
+ B.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel3d.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel3d.java
index effd9f9..ab63526 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel3d.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel3d.java
@@ -23,6 +23,7 @@
import android.renderscript.Type;
public class UT_kernel3d extends UnitTest {
+ private Type T;
private Allocation A;
private Allocation B;
@@ -42,9 +43,10 @@
s.set_gDimZ(Z);
typeBuilder.setZ(Z);
- A = Allocation.createTyped(RS, typeBuilder.create());
+ T = typeBuilder.create();
+ A = Allocation.createTyped(RS, T);
s.set_A(A);
- B = Allocation.createTyped(RS, typeBuilder.create());
+ B = Allocation.createTyped(RS, T);
s.set_B(B);
return;
}
@@ -60,6 +62,10 @@
s.invoke_kernel_test();
pRS.finish();
waitForMessage();
+ T.destroy();
+ A.destroy();
+ B.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel_struct.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel_struct.java
index 7fcec26..4573678 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel_struct.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_kernel_struct.java
@@ -53,6 +53,11 @@
s.invoke_kernel_struct_test();
pRS.finish();
waitForMessage();
+ A.destroy();
+ B.destroy();
+ s.get_ain().getElement().destroy();
+ s.get_aout().getElement().destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_math.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_math.java
index 7d89e3e..9ece867 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_math.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_math.java
@@ -32,6 +32,7 @@
s.invoke_math_test(0, 0);
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_math_agree.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_math_agree.java
index d5089ea..1e06d17 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_math_agree.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_math_agree.java
@@ -576,6 +576,7 @@
s.invoke_math_agree_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_math_conformance.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_math_conformance.java
index a94069c..cbf4521 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_math_conformance.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_math_conformance.java
@@ -33,6 +33,7 @@
s.invoke_math_conformance_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
passTest();
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_math_fp16.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_math_fp16.java
index f76f994..f589a71 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_math_fp16.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_math_fp16.java
@@ -37,6 +37,7 @@
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_min.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_min.java
index ef008c7..951c46a 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_min.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_min.java
@@ -32,6 +32,7 @@
s.invoke_min_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_noroot.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_noroot.java
index 744684d..9846109 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_noroot.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_noroot.java
@@ -52,6 +52,9 @@
s.invoke_noroot_test();
pRS.finish();
waitForMessage();
+ A.getType().destroy();
+ A.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_primitives.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_primitives.java
index 71f3782..eb69c3a 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_primitives.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_primitives.java
@@ -95,6 +95,7 @@
pRS.finish();
waitForMessage();
}
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_reduce.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_reduce.java
index 3e1e286..02ca8ab 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_reduce.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_reduce.java
@@ -848,6 +848,7 @@
inputAllocation.destroy();
outputAllocation.destroy();
+ scriptHsg.destroy();
return outputArray;
}
@@ -1487,6 +1488,7 @@
// pass &= runPerformanceQuick(pRS, s);
pRS.finish();
+ s.destroy();
pRS.destroy();
Log.i(TAG, pass ? "PASSED" : "FAILED");
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_refcount.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_refcount.java
index 432a8fb..8c19a1d 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_refcount.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_refcount.java
@@ -23,6 +23,8 @@
import android.renderscript.Type;
public class UT_refcount extends UnitTest {
+ private Type mT;
+ private Allocation mA;
protected UT_refcount(RSTestCore rstc, Context ctx) {
super(rstc, "Refcount", ctx);
@@ -33,8 +35,9 @@
int X = 500;
int Y = 700;
typeBuilder.setX(X).setY(Y);
- Allocation A = Allocation.createTyped(RS, typeBuilder.create());
- s.set_globalA(A);
+ mT = typeBuilder.create();
+ mA = Allocation.createTyped(RS, mT);
+ s.set_globalA(mA);
}
public void run() {
@@ -45,6 +48,9 @@
s.invoke_refcount_test();
pRS.finish();
waitForMessage();
+ mA.destroy();
+ mT.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_rsdebug.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_rsdebug.java
index 639dc97..86b0577 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_rsdebug.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_rsdebug.java
@@ -32,6 +32,7 @@
s.invoke_test_rsdebug(0, 0);
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_rstime.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_rstime.java
index 23d2a65..6c5e711 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_rstime.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_rstime.java
@@ -33,6 +33,7 @@
s.invoke_test_rstime(0, 0);
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_rstypes.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_rstypes.java
index 39b11be..c0b56aa 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_rstypes.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_rstypes.java
@@ -32,6 +32,7 @@
s.invoke_test_rstypes(0, 0);
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_sampler.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_sampler.java
index 5361677..bba3bc4 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_sampler.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_sampler.java
@@ -76,6 +76,7 @@
s.invoke_sampler_test();
pRS.finish();
waitForMessage();
+ s.destroy();
}
private void testJavaSide(RenderScript RS) {
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_float.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_float.java
index 7f34822..20f3be3 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_float.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_float.java
@@ -53,22 +53,22 @@
final float floatVal = 3.14f;
final double doubleVal = 1.23456789;
final long longVal = 0x100000000L;
+ final Type T = Type.createX(pRS, Element.F64(pRS), ARRAY_SIZE);
ScriptGroup.Closure c0 =
builder.addKernel(s_float.getKernelID_foo(),
- Type.createX(pRS, Element.F64(pRS), ARRAY_SIZE),
- unbound,
- new ScriptGroup.Binding(s_float.getFieldID_floatVal(),
- floatVal),
- new ScriptGroup.Binding(s_float.getFieldID_val(),
- doubleVal));
+ T,
+ unbound,
+ new ScriptGroup.Binding(s_float.getFieldID_floatVal(),
+ floatVal),
+ new ScriptGroup.Binding(s_float.getFieldID_val(),
+ doubleVal));
ScriptGroup.Closure c1 =
builder.addKernel(s_float.getKernelID_goo(),
- Type.createX(pRS, Element.F64(pRS), ARRAY_SIZE),
- c0.getReturn(),
- new ScriptGroup.Binding(s_float.getFieldID_valLong(),
- longVal));
-
+ T,
+ c0.getReturn(),
+ new ScriptGroup.Binding(s_float.getFieldID_valLong(),
+ longVal));
ScriptGroup group = builder.create("TestFloatAnd64bit", c1.getReturn());
@@ -76,6 +76,10 @@
((Allocation) group.execute(input)[0]).copyTo(a);
pRS.finish();
+ T.destroy();
+ group.destroy();
+ input.destroy();
+ s_float.destroy();
pRS.destroy();
boolean failed = false;
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_gatherscatter.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_gatherscatter.java
index 17c41bd..c99c81a 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_gatherscatter.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_gatherscatter.java
@@ -99,6 +99,10 @@
((Allocation) group.execute(input)[0]).copyTo(a);
pRS.finish();
+
+ group.destroy();
+ input.destroy();
+ s.destroy();
pRS.destroy();
boolean failed = false;
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_nochain.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_nochain.java
index 01906eb..59f23c4 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_nochain.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_nochain.java
@@ -51,21 +51,23 @@
ScriptGroup.Input unbound = builder.addInput();
+ Type T = Type.createX(pRS, Element.I32_4(pRS), ARRAY_SIZE);
+
ScriptGroup.Closure c0 =
builder.addKernel(s_inc.getKernelID_increment(),
- Type.createX(pRS, Element.I32_4(pRS), ARRAY_SIZE),
- unbound);
+ T,
+ unbound);
ScriptGroup.Closure c1 =
builder.addKernel(s_inc2.getKernelID_increment2(),
- Type.createX(pRS, Element.I32_4(pRS), ARRAY_SIZE),
- unbound,
- new ScriptGroup.Binding(s_inc2.getFieldID_a(), unbound));
+ T,
+ unbound,
+ new ScriptGroup.Binding(s_inc2.getFieldID_a(), unbound));
ScriptGroup.Closure c2 =
builder.addKernel(s_double.getKernelID_doubleKernel(),
- Type.createX(pRS, Element.I32_4(pRS), ARRAY_SIZE),
- unbound);
+ T,
+ unbound);
ScriptGroup group = builder.create("AddDouble2", c2.getReturn());
@@ -73,6 +75,12 @@
((Allocation) group.execute(input)[0]).copyTo(a);
pRS.finish();
+ group.destroy();
+ T.destroy();
+ input.destroy();
+ s_inc.destroy();
+ s_inc2.destroy();
+ s_double.destroy();
pRS.destroy();
boolean failed = false;
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_pointwise.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_pointwise.java
index 29d584c..dd029f1 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_pointwise.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_script_group2_pointwise.java
@@ -50,15 +50,17 @@
ScriptGroup.Input unbound = builder.addInput();
+ Type T = Type.createX(pRS, Element.I32_4(pRS), ARRAY_SIZE);
+
ScriptGroup.Closure c0 =
builder.addKernel(s_inc.getKernelID_increment(),
- Type.createX(pRS, Element.I32_4(pRS), ARRAY_SIZE),
- unbound);
+ T,
+ unbound);
ScriptGroup.Closure c1 =
builder.addKernel(s_double.getKernelID_doubleKernel(),
- Type.createX(pRS, Element.I32_4(pRS), ARRAY_SIZE),
- c0.getReturn());
+ T,
+ c0.getReturn());
ScriptGroup group = builder.create("AddDouble", c1.getReturn());
@@ -66,6 +68,11 @@
((Allocation) group.execute(input)[0]).copyTo(a);
pRS.finish();
+ group.destroy();
+ T.destroy();
+ input.destroy();
+ s_double.destroy();
+ s_inc.destroy();
pRS.destroy();
boolean failed = false;
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_alloc.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_alloc.java
index 67a1e33..514b0c1 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_alloc.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_alloc.java
@@ -65,6 +65,7 @@
s.invoke_single_source_alloc_test();
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_ref_count.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_ref_count.java
index c4138cc..a70c9de 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_ref_count.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_ref_count.java
@@ -34,6 +34,7 @@
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_script.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_script.java
index 176fca9..6adf6f3 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_script.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_single_source_script.java
@@ -53,6 +53,7 @@
pRS.finish();
waitForMessage();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_static_globals.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_static_globals.java
index 2ff0485..6138395 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_static_globals.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_static_globals.java
@@ -33,11 +33,15 @@
ScriptC_static_globals s = new ScriptC_static_globals(pRS);
pRS.setMessageHandler(mRsMessage);
Type.Builder typeBuilder = new Type.Builder(pRS, Element.I32(pRS));
- Allocation A = Allocation.createTyped(pRS, typeBuilder.setX(1).create());
+ Type t = typeBuilder.setX(1).create();
+ Allocation A = Allocation.createTyped(pRS, t);
s.forEach_root(A);
s.invoke_static_globals_test();
pRS.finish();
waitForMessage();
+ A.destroy();
+ t.destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_struct.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_struct.java
index b721e23..242929b 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_struct.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_struct.java
@@ -47,6 +47,9 @@
s.invoke_struct_test(val);
pRS.finish();
waitForMessage();
+ p.getAllocation().destroy();
+ p.getElement().destroy();
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_unsigned.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_unsigned.java
index 5e9f0f0..0fe6037 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_unsigned.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_unsigned.java
@@ -52,6 +52,7 @@
pRS.finish();
waitForMessage();
}
+ s.destroy();
pRS.destroy();
}
}
diff --git a/tests/java_api/RsTest/src/com/android/rs/test/UT_vector.java b/tests/java_api/RsTest/src/com/android/rs/test/UT_vector.java
index cb3fdc3..4ed3097 100644
--- a/tests/java_api/RsTest/src/com/android/rs/test/UT_vector.java
+++ b/tests/java_api/RsTest/src/com/android/rs/test/UT_vector.java
@@ -328,6 +328,7 @@
pRS.finish();
waitForMessage();
}
+ s.destroy();
pRS.destroy();
}
}