org.jboss.as.test.shared.SecurityManagerFailure Maven / Gradle / Ivy
/*
* JBoss, Home of Professional Open Source.
* Copyright 2016, Red Hat, Inc., and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.as.test.shared;
import org.junit.Assume;
/**
* Utility class to disable tests failing when Security Manager is enabled.
*
* Important note: this should be used only in cases when tests are failing due to a thirdparty issues which are
* unlikely to get fixed, e.g. WFLY-6192.
*
* @author Ivo Studensky
*/
public final class SecurityManagerFailure {
/**
* This method can be used to disable tests that are failing when being run under Security Manager.
*
* The purpose to calling this method (as opposed to providing additional permissions which might hide the
* actual problem permanently) is to be able to enable or disable the test based on the presence
* of the {@code jboss.test.enableTestsFailingUnderSM} system property.
*
* To run tests disabled by this method, you must add {@code -Djboss.test.enableTestsFailingUnderSM} argument
* to the JVM running the tests.
*
* @param message an optional description about disabling this test (e.g. it can contain a WFLY issue).
*/
public static void thisTestIsFailingUnderSM(String message) {
final SecurityManager sm = System.getSecurityManager();
final boolean securityManagerEnabled = System.getProperty("security.manager") != null;
// either System.getSecurityManager is not null or system property 'security.manager' is set (in cases of RunAsClient)
if (sm != null || securityManagerEnabled) {
final boolean enableTest = System.getProperty("jboss.test.enableTestsFailingUnderSM") != null;
Assume.assumeTrue(message, enableTest);
}
}
/**
* @see #thisTestIsFailingUnderSM(String)
*/
public static void thisTestIsFailingUnderSM() {
thisTestIsFailingUnderSM("");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy