diff options
author | Diego Perez <diegoperez@google.com> | 2022-03-21 14:36:56 +0000 |
---|---|---|
committer | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-03-21 16:11:08 +0000 |
commit | 764b842156fccb1c285b02565a5efb67d8de1e7a (patch) | |
tree | 929fb55bb9829506c8912b74ccc7e348da7c21ff /android | |
parent | 90622b755e5901b6d1ba3915f12ef48147dce6a4 (diff) | |
download | idea-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.java | 256 |
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); |