Re-enable ignored SecurityManager-related test
Prior to this change, CallbacksSecurityTests#testContainerPrivileges was @Ignored because it caused the build to fail under Gradle. After some analysis, the root cause was determined to be the fact that (a) a restrictive SecurityManager is active during the running of this test, and (b), Gradle intercepts System.out and routes it through its internal LogBack-based logging system. LogBack requires a call to Class#getClassLoader when handling logging statements, and the SecurityManager disallows this call, thus raising the error that fails the build. This commit solves the problem by eliminating the System.out.println call in question and removing the @Ignore annotation from the test. The console output was diagnostic in nature anyway, and not required for the successful execution of the test's assertions. Issue: SPR-10074
This commit is contained in:
parent
3a192a0701
commit
58ab8b691c
|
@ -16,12 +16,6 @@
|
|||
|
||||
package org.springframework.beans.factory.support.security;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.URL;
|
||||
import java.security.AccessControlContext;
|
||||
|
@ -39,8 +33,8 @@ import javax.security.auth.AuthPermission;
|
|||
import javax.security.auth.Subject;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.BeanClassLoaderAware;
|
||||
import org.springframework.beans.factory.BeanCreationException;
|
||||
|
@ -60,6 +54,8 @@ import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
|
|||
import org.springframework.core.io.DefaultResourceLoader;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Security test case. Checks whether the container uses its privileges for its
|
||||
* internal work but does not leak them when touching/calling user code.
|
||||
|
@ -456,9 +452,6 @@ public class CallbacksSecurityTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Ignore("passes under Eclipse, but fails under Gradle with https://gist.github.com/1664133")
|
||||
// TODO [SPR-10074] passes under Eclipse, but fails under Gradle with
|
||||
// https://gist.github.com/1664133
|
||||
public void testContainerPrivileges() throws Exception {
|
||||
AccessControlContext acc = provider.getAccessControlContext();
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -13,6 +13,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.beans.factory.support.security.support;
|
||||
|
||||
/**
|
||||
|
@ -25,6 +26,5 @@ public class ConstructorBean {
|
|||
}
|
||||
|
||||
public ConstructorBean(Object obj) {
|
||||
System.out.println("Received object " + obj);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue