Skip to content

Commit fe1ede8

Browse files
committed
Fix resource leaks in JUnit test suite
1 parent 864f676 commit fe1ede8

File tree

3 files changed

+30
-16
lines changed

3 files changed

+30
-16
lines changed

tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_ImageTransfer.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,13 @@ public void test_Validate() throws Exception {
9696
assertEquals(0, imageDataComparator().compare(imageData, getContents()));
9797

9898
assertThrows(IllegalArgumentException.class, () -> setContents(""));
99-
assertThrows(IllegalArgumentException.class, () -> setContents(new Image(display, imageData)));
99+
Image image = new Image(display, imageData);
100+
try {
101+
// verify that ImageTransfer rejects actual images, as ImageData is required
102+
assertThrows(IllegalArgumentException.class, () -> setContents(image));
103+
} finally {
104+
image.dispose();
105+
}
100106
assertThrows(IllegalArgumentException.class, () -> setContents(new Object()));
101107
}
102108

tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_GC.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,16 +1024,20 @@ public void test_bug1288_createGCFromImageFromNonDisplayThread() throws Interrup
10241024
public void test_noMemoryLeakAfterDispose() {
10251025
GC testGC = new GC(display);
10261026
Image image = new Image(display, 1, 1);
1027-
testGC.setFont(display.getSystemFont());
1028-
testGC.setClipping(new Rectangle(0, 0, 2, 2));
1029-
testGC.drawImage(image, 0, 0);
1030-
testGC.drawText("Test", 0, 0);
1031-
testGC.drawLine(0, 0, 5, 5);
1032-
WeakReference<GC> testGCReference = new WeakReference<>(testGC);
1033-
testGC.dispose();
1034-
testGC = null;
1035-
System.gc();
1036-
assertNull(testGCReference.get());
1027+
try {
1028+
testGC.setFont(display.getSystemFont());
1029+
testGC.setClipping(new Rectangle(0, 0, 2, 2));
1030+
testGC.drawImage(image, 0, 0);
1031+
testGC.drawText("Test", 0, 0);
1032+
testGC.drawLine(0, 0, 5, 5);
1033+
WeakReference<GC> testGCReference = new WeakReference<>(testGC);
1034+
testGC.dispose();
1035+
testGC = null;
1036+
System.gc();
1037+
assertNull(testGCReference.get());
1038+
} finally {
1039+
image.dispose();
1040+
}
10371041
}
10381042

10391043
/* custom */

tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Image.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,11 +1072,15 @@ public void test_imageDataIsCached() {
10721072
return imagePath;
10731073
};
10741074
Image fileNameProviderImage = new Image(display, imageFileNameProvider);
1075-
callCount.set(0);
1076-
fileNameProviderImage.getImageData(100);
1077-
fileNameProviderImage.getImageData(100);
1078-
fileNameProviderImage.getImageData(100);
1079-
assertEquals(0, callCount.get());
1075+
try {
1076+
callCount.set(0);
1077+
fileNameProviderImage.getImageData(100);
1078+
fileNameProviderImage.getImageData(100);
1079+
fileNameProviderImage.getImageData(100);
1080+
assertEquals(0, callCount.get());
1081+
} finally {
1082+
fileNameProviderImage.dispose();
1083+
}
10801084
}
10811085

10821086
@Test

0 commit comments

Comments
 (0)