summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorDiego Perez <diegoperez@google.com>2022-03-21 14:36:56 +0000
committerTreeHugger Robot <treehugger-gerrit@google.com>2022-03-21 16:11:08 +0000
commit764b842156fccb1c285b02565a5efb67d8de1e7a (patch)
tree929fb55bb9829506c8912b74ccc7e348da7c21ff /android
parent90622b755e5901b6d1ba3915f12ef48147dce6a4 (diff)
downloadidea-764b842156fccb1c285b02565a5efb67d8de1e7a.tar.gz
RenderSecurityManagerTest warnings clean-up
Bug: N/A Test: RenderSecurityManagerTest Change-Id: I6cc98ef9cf9b3d2fa66b7e634dc325a38bf81604
Diffstat (limited to 'android')
-rw-r--r--android/testSrc/com/android/tools/idea/rendering/RenderSecurityManagerTest.java256
1 files changed, 118 insertions, 138 deletions
diff --git a/android/testSrc/com/android/tools/idea/rendering/RenderSecurityManagerTest.java b/android/testSrc/com/android/tools/idea/rendering/RenderSecurityManagerTest.java
index b03d306f2a9..649f7f3503a 100644
--- a/android/testSrc/com/android/tools/idea/rendering/RenderSecurityManagerTest.java
+++ b/android/testSrc/com/android/tools/idea/rendering/RenderSecurityManagerTest.java
@@ -16,9 +16,12 @@
package com.android.tools.idea.rendering;
import com.android.ide.common.resources.RecordingLogger;
+import com.android.tools.idea.testing.AndroidProjectRule;
import com.android.utils.SdkUtils;
import com.google.common.io.Files;
+import java.io.IOException;
import org.jetbrains.android.AndroidTestBase;
+import org.junit.Rule;
import org.junit.Test;
import javax.imageio.ImageIO;
@@ -43,10 +46,12 @@ import static java.io.File.separator;
import static org.junit.Assert.*;
public class RenderSecurityManagerTest {
- private Object myCredential = new Object();
+ @Rule
+ public AndroidProjectRule myProjectRule = AndroidProjectRule.inMemory();
+ private final Object myCredential = new Object();
@Test
- public void testExec() throws Exception {
+ public void testExec() throws IOException {
assertNull(RenderSecurityManager.getCurrent());
RenderSecurityManager manager = new RenderSecurityManager(null, null);
RecordingLogger logger = new RecordingLogger();
@@ -64,7 +69,6 @@ public class RenderSecurityManagerTest {
fail("Should have thrown security exception");
}
catch (SecurityException exception) {
- //noinspection ConstantConditions
assertEquals(RenderSecurityManager.RESTRICT_READS
? "Read access not allowed during rendering (/bin/ls)"
: "Exec access not allowed during rendering (/bin/ls)", exception.toString());
@@ -79,7 +83,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testSetSecurityManager() throws Exception {
+ public void testSetSecurityManager() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -96,7 +100,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testReadWrite() throws Exception {
+ public void testReadWrite() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -113,7 +117,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testExecute() throws Exception {
+ public void testExecute() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -130,7 +134,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testDelete() throws Exception {
+ public void testDelete() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -147,7 +151,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testLoadLibrary() throws Exception {
+ public void testLoadLibrary() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -168,7 +172,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testAllowedLoadLibrary() throws Exception {
+ public void testAllowedLoadLibrary() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -185,7 +189,7 @@ public class RenderSecurityManagerTest {
@SuppressWarnings("CheckReturnValue")
@Test
- public void testInvalidRead() throws Exception {
+ public void testInvalidRead() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -221,7 +225,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testInvalidPropertyWrite() throws Exception {
+ public void testInvalidPropertyWrite() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -243,7 +247,7 @@ public class RenderSecurityManagerTest {
@SuppressWarnings("CheckReturnValue")
@Test
- public void testReadOk() throws Exception {
+ public void testReadOk() throws IOException {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -254,7 +258,7 @@ public class RenderSecurityManagerTest {
if (files != null) {
for (File file : files) {
if (file.isFile()) {
- //noinspection ResultOfMethodCallIgnored
+ // noinspection UnstableApiUsage
Files.toByteArray(file);
}
}
@@ -266,11 +270,12 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testProperties() throws Exception {
+ public void testProperties() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
fail("Should have thrown security exception");
@@ -285,7 +290,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testExit() throws Exception {
+ public void testExit() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -304,13 +309,14 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testThread() throws Exception {
+ public void testThread() throws InterruptedException {
final AtomicBoolean failedUnexpectedly = new AtomicBoolean(false);
Thread otherThread = new Thread("other") {
@Override
public void run() {
try {
assertNull(RenderSecurityManager.getCurrent());
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
}
catch (SecurityException e) {
@@ -328,6 +334,7 @@ public class RenderSecurityManagerTest {
@Override
public void run() {
try {
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
}
catch (SecurityException e) {
@@ -348,12 +355,13 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testActive() throws Exception {
+ public void testActive() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
try {
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
fail("Should have thrown security exception");
}
@@ -364,6 +372,7 @@ public class RenderSecurityManagerTest {
manager.setActive(false, myCredential);
try {
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
}
catch (SecurityException exception) {
@@ -373,6 +382,7 @@ public class RenderSecurityManagerTest {
manager.setActive(true, myCredential);
try {
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
fail("Should have thrown security exception");
}
@@ -386,8 +396,8 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testThread2() throws Exception {
- final List<Thread> threads = Collections.synchronizedList(new ArrayList<Thread>());
+ public void testThread2() throws InterruptedException {
+ final List<Thread> threads = Collections.synchronizedList(new ArrayList<>());
// Check that when a new thread is created simultaneously from an unrelated
// thread during rendering, that new thread does not pick up the security manager.
//
@@ -420,38 +430,34 @@ public class RenderSecurityManagerTest {
barrier2.await();
- Thread thread4 = new Thread() {
- @Override
- public void run() {
+ Thread thread4 = new Thread(() -> {
+ try {
+ barrier3.await();
+
try {
- barrier3.await();
-
- try {
- System.getProperties();
- fail("Should have thrown security exception");
- }
- catch (SecurityException e) {
- // pass
- }
-
- barrier4.await();
- barrier5.await();
- assertNull(RenderSecurityManager.getCurrent());
- assertNull(System.getSecurityManager());
- barrier6.await();
+ //noinspection ResultOfMethodCallIgnored
+ System.getProperties();
+ fail("Should have thrown security exception");
}
- catch (InterruptedException e) {
- fail(e.toString());
- }
- catch (BrokenBarrierException e) {
- fail(e.toString());
+ catch (SecurityException e) {
+ // pass
}
+
+ barrier4.await();
+ barrier5.await();
+ assertNull(RenderSecurityManager.getCurrent());
+ assertNull(System.getSecurityManager());
+ barrier6.await();
}
- };
+ catch (InterruptedException | BrokenBarrierException e) {
+ fail(e.toString());
+ }
+ });
thread4.start();
threads.add(thread4);
try {
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
fail("Should have thrown security exception");
}
@@ -470,13 +476,9 @@ public class RenderSecurityManagerTest {
barrier6.await();
}
- catch (InterruptedException e) {
- fail(e.toString());
- }
- catch (BrokenBarrierException e) {
+ catch (InterruptedException | BrokenBarrierException e) {
fail(e.toString());
}
-
}
};
@@ -491,40 +493,36 @@ public class RenderSecurityManagerTest {
assertNotNull(System.getSecurityManager());
try {
+ //noinspection ResultOfMethodCallIgnored
System.getProperties();
}
catch (SecurityException e) {
fail("Should not have been affected by security manager");
}
- Thread thread3 = new Thread() {
- @Override
- public void run() {
- try {
- barrier3.await();
-
- try {
- System.getProperties();
- }
- catch (SecurityException e) {
- fail("Should not have been affected by security manager");
- }
-
- barrier4.await();
- barrier5.await();
- assertNull(RenderSecurityManager.getCurrent());
- assertNull(System.getSecurityManager());
- barrier6.await();
+ Thread thread3 = new Thread(() -> {
+ try {
+ barrier3.await();
+ try {
+ //noinspection ResultOfMethodCallIgnored
+ System.getProperties();
}
- catch (InterruptedException e) {
- fail(e.toString());
- }
- catch (BrokenBarrierException e) {
- fail(e.toString());
+ catch (SecurityException e) {
+ fail("Should not have been affected by security manager");
}
+
+ barrier4.await();
+ barrier5.await();
+ assertNull(RenderSecurityManager.getCurrent());
+ assertNull(System.getSecurityManager());
+ barrier6.await();
+
}
- };
+ catch (InterruptedException | BrokenBarrierException e) {
+ fail(e.toString());
+ }
+ });
thread3.start();
threads.add(thread3);
@@ -536,13 +534,9 @@ public class RenderSecurityManagerTest {
barrier6.await();
}
- catch (InterruptedException e) {
- fail(e.toString());
- }
- catch (BrokenBarrierException e) {
+ catch (InterruptedException | BrokenBarrierException e) {
fail(e.toString());
}
-
}
};
@@ -556,7 +550,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testDisabled() throws Exception {
+ public void testDisabled() {
assertNull(RenderSecurityManager.getCurrent());
RenderSecurityManager manager = new RenderSecurityManager(null, null);
@@ -572,7 +566,7 @@ public class RenderSecurityManagerTest {
manager.checkExec("/bin/ls");
}
}
- catch (SecurityException exception) {
+ catch (SecurityException | IOException exception) {
fail("Should have been disabled");
}
finally {
@@ -584,44 +578,38 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testLogger() throws Exception {
+ public void testLogger() throws InterruptedException {
assertNull(RenderSecurityManager.getCurrent());
final CyclicBarrier barrier1 = new CyclicBarrier(2);
final CyclicBarrier barrier2 = new CyclicBarrier(2);
final CyclicBarrier barrier3 = new CyclicBarrier(2);
- Thread thread = new Thread() {
- @Override
- public void run() {
- try {
- barrier1.await();
- barrier2.await();
+ Thread thread = new Thread(() -> {
+ try {
+ barrier1.await();
+ barrier2.await();
- System.setSecurityManager(new SecurityManager() {
- @Override
- public String toString() {
- return "MyTestSecurityManager";
- }
+ System.setSecurityManager(new SecurityManager() {
+ @Override
+ public String toString() {
+ return "MyTestSecurityManager";
+ }
- @Override
- public void checkPermission(Permission permission) {
- }
- });
+ @Override
+ public void checkPermission(Permission permission) {
+ }
+ });
- barrier3.await();
- assertNull(RenderSecurityManager.getCurrent());
- assertNotNull(System.getSecurityManager());
- assertEquals("MyTestSecurityManager", System.getSecurityManager().toString());
- }
- catch (InterruptedException e) {
- fail(e.toString());
- }
- catch (BrokenBarrierException e) {
- fail(e.toString());
- }
+ barrier3.await();
+ assertNull(RenderSecurityManager.getCurrent());
+ assertNotNull(System.getSecurityManager());
+ assertEquals("MyTestSecurityManager", System.getSecurityManager().toString());
}
- };
+ catch (InterruptedException | BrokenBarrierException e) {
+ fail(e.toString());
+ }
+ });
thread.start();
RenderSecurityManager manager = new RenderSecurityManager(null, null);
@@ -641,10 +629,7 @@ public class RenderSecurityManagerTest {
assertEquals(Collections.singletonList("RenderSecurityManager being replaced by another thread"), logger.getWarningMsgs());
}
- catch (InterruptedException e) {
- fail(e.toString());
- }
- catch (BrokenBarrierException e) {
+ catch (InterruptedException | BrokenBarrierException e) {
fail(e.toString());
}
finally {
@@ -715,6 +700,7 @@ public class RenderSecurityManagerTest {
// Try looking up the secret
try {
+ //noinspection JavaReflectionMemberAccess
Field field = RenderSecurityManager.class.getField("sCredential");
field.setAccessible(true);
Object secret = field.get(null);
@@ -740,9 +726,7 @@ public class RenderSecurityManagerTest {
// Correct call with the right credential
try {
- RenderSecurityManager.runInSafeRegion(credential, () -> {
- manager.checkPermission(new FilePermission("/foo", "execute"));
- });
+ RenderSecurityManager.runInSafeRegion(credential, () -> manager.checkPermission(new FilePermission("/foo", "execute")));
assertEquals(123L, (long)RenderSecurityManager.runInSafeRegion(credential, () -> {
manager.checkPermission(new FilePermission("/foo", "execute"));
return 123L;
@@ -755,9 +739,7 @@ public class RenderSecurityManagerTest {
// Wrong credential
Object wrongCredential = new Object();
try {
- RenderSecurityManager.runInSafeRegion(wrongCredential, () -> {
- manager.checkPermission(new FilePermission("/foo", "execute"));
- });
+ RenderSecurityManager.runInSafeRegion(wrongCredential, () -> manager.checkPermission(new FilePermission("/foo", "execute")));
fail("Should have thrown exception");
}
catch (SecurityException e) {
@@ -780,8 +762,9 @@ public class RenderSecurityManagerTest {
}
}
+ @SuppressWarnings("UnstableApiUsage")
@Test
- public void testImageIo() throws Exception {
+ public void testImageIo() throws IOException, InterruptedException {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -800,24 +783,21 @@ public class RenderSecurityManagerTest {
assertNull(ImageIO.getCacheDirectory());
// Also run in non AWT thread to test ImageIO thread locals cache dir behavior
- Thread thread = new Thread() {
- @Override
- public void run() {
- try {
- assertFalse(SwingUtilities.isEventDispatchThread());
- final byte[] buf = Files.toByteArray(icon);
- InputStream stream = new ByteArrayInputStream(buf);
- assertNotNull(stream);
- BufferedImage image = ImageIO.read(stream);
- assertNotNull(image);
- assertNull(ImageIO.getCacheDirectory());
- }
- catch (Throwable t) {
- t.printStackTrace();
- fail(t.toString());
- }
+ Thread thread = new Thread(() -> {
+ try {
+ assertFalse(SwingUtilities.isEventDispatchThread());
+ final byte[] buf1 = Files.toByteArray(icon);
+ InputStream stream1 = new ByteArrayInputStream(buf1);
+ assertNotNull(stream1);
+ BufferedImage image1 = ImageIO.read(stream1);
+ assertNotNull(image1);
+ assertNull(ImageIO.getCacheDirectory());
}
- };
+ catch (Throwable t) {
+ t.printStackTrace();
+ fail(t.toString());
+ }
+ });
thread.start();
thread.join();
@@ -828,7 +808,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testTempDir() throws Exception {
+ public void testTempDir() throws IOException {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);
@@ -849,7 +829,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testAppTempDir() throws Exception {
+ public void testAppTempDir() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setAppTempDir("/random/path/");
@@ -862,7 +842,7 @@ public class RenderSecurityManagerTest {
}
@Test
- public void testSetTimeZone() throws Exception {
+ public void testSetTimeZone() {
RenderSecurityManager manager = new RenderSecurityManager(null, null);
try {
manager.setActive(true, myCredential);