diff --git a/core/tests/coretests/src/android/os/BinderTest.java b/core/tests/coretests/src/android/os/BinderTest.java index 6c8b69fc9c5c87417620ba4c339844f390b54712..9767d677807de0ad09d93706925ee934b283a5b7 100644 --- a/core/tests/coretests/src/android/os/BinderTest.java +++ b/core/tests/coretests/src/android/os/BinderTest.java @@ -20,6 +20,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyInt; import static org.testng.Assert.assertThrows; import android.platform.test.annotations.IgnoreUnderRavenwood; @@ -27,6 +29,9 @@ import android.platform.test.ravenwood.RavenwoodRule; import androidx.test.filters.SmallTest; +import com.android.internal.os.BinderInternal; + + import org.junit.Rule; import org.junit.Test; @@ -81,4 +86,27 @@ public class BinderTest { binder.setExtension(null); assertNull(binder.getExtension()); } + + @SmallTest + @Test(expected = java.lang.SecurityException.class) + public void testServiceManagerNativeSecurityException() throws RemoteException { + // Find the service manager + IServiceManager sServiceManager = ServiceManagerNative + .asInterface(Binder.allowBlocking(BinderInternal.getContextObject())); + + Binder binder = new Binder(); + sServiceManager.addService("ValidName", binder, + anyBoolean(), anyInt()); + } + + @SmallTest + @Test(expected = java.lang.NullPointerException.class) + public void testServiceManagerNativeNullptrException() throws RemoteException { + // Find the service manager + IServiceManager sServiceManager = ServiceManagerNative + .asInterface(Binder.allowBlocking(BinderInternal.getContextObject())); + + sServiceManager.addService("ValidName", null, + anyBoolean(), anyInt()); + } }