diff --git a/tck-runner/pom.xml b/tck-runner/pom.xml index 70cf44d0a7..c2bdf28170 100644 --- a/tck-runner/pom.xml +++ b/tck-runner/pom.xml @@ -189,8 +189,7 @@ - - LocalSecurityManagerTesting + Local -DincludeJavaFXTests=true -Duser.language=en -Duser.country=US diff --git a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/TckRunner.java b/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/TckRunner.java index 4f91db5ce9..1532c00ee3 100644 --- a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/TckRunner.java +++ b/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/TckRunner.java @@ -28,17 +28,9 @@ * -Djava.security.policy=target/test-classes/test.policy * -Djava.security.debug=access * -DexcludeIntegrationTests=true - * -Darquillian.protocol=LocalSecurityManagerTesting + * -Darquillian.protocol=Local * -Dorg.jboss.testharness.spi.StandaloneContainers=org.hibernate.jsr303.tck.util.StandaloneContainersImpl * - *

- * Add the following option when you want to enable the security manager: - *

- * -Djava.security.manager
- * 
- *

- * You may also need to update your test.policy file to apply the permissions to the right source tree. - * See the comments in the file. * * @author Gunnar Morling */ diff --git a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingContainerMethodExecutor.java b/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingContainerMethodExecutor.java deleted file mode 100644 index 096e085ece..0000000000 --- a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingContainerMethodExecutor.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.validator.tckrunner.securitymanager.arquillian; - -import org.jboss.arquillian.container.test.spi.ContainerMethodExecutor; -import org.jboss.arquillian.core.api.Event; -import org.jboss.arquillian.core.api.Instance; -import org.jboss.arquillian.core.api.annotation.Inject; -import org.jboss.arquillian.test.spi.TestMethodExecutor; -import org.jboss.arquillian.test.spi.TestResult; - -/** - * A custom {@link ContainerMethodExecutor} based on {@link LocalSecurityManagerTestingExecutionEvent}. - * - * @author Gunnar Morling - */ -public class LocalSecurityManagerTestingContainerMethodExecutor implements ContainerMethodExecutor { - - @Inject - private Event event; - - @Inject - private Instance testResult; - - @Override - public TestResult invoke(TestMethodExecutor testMethodExecutor) { - event.fire( new LocalSecurityManagerTestingExecutionEvent( testMethodExecutor ) ); - return testResult.get(); - } -} diff --git a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingExecutionEvent.java b/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingExecutionEvent.java deleted file mode 100644 index 090b99fd8b..0000000000 --- a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingExecutionEvent.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.validator.tckrunner.securitymanager.arquillian; - -import java.lang.reflect.Method; - -import org.hibernate.validator.tckrunner.securitymanager.DelegatingExecutor; -import org.hibernate.validator.tckrunner.securitymanager.Executor; - -import org.jboss.arquillian.container.test.impl.execution.event.LocalExecutionEvent; -import org.jboss.arquillian.test.spi.TestMethodExecutor; - -/** - * A custom {@link LocalExecutionEvent} which channels execution through a specific protection domain. - * - * @author Gunnar Morling - */ -public class LocalSecurityManagerTestingExecutionEvent extends LocalExecutionEvent { - - public LocalSecurityManagerTestingExecutionEvent(TestMethodExecutor executor) { - super( new DelegatingTestMethodExecutor( executor ) ); - } - - /** - * Invokes the given test method via {@link DelegatingExecutor} which lives in its own protection domain. - */ - private static class DelegatingTestMethodExecutor implements TestMethodExecutor { - - private final Executor delegate; - private final Method method; - private final Object instance; - - public DelegatingTestMethodExecutor(TestMethodExecutor delegate) { - this.method = delegate.getMethod(); - this.instance = delegate.getInstance(); - this.delegate = new DelegatingExecutor( new ArquillianExecutor( delegate ) ); - } - - @Override - public Method getMethod() { - return method; - } - - @Override - public String getMethodName() { - return method.getName(); - } - - @Override - public Object getInstance() { - return instance; - } - - @Override - public void invoke(Object... parameters) throws Throwable { - delegate.invoke( parameters ); - } - } - - /** - * Executes a given test via a given Arquillian test executor. - */ - private static class ArquillianExecutor implements Executor { - - private final TestMethodExecutor delegate; - - public ArquillianExecutor(TestMethodExecutor delegate) { - this.delegate = delegate; - } - - @Override - public void invoke(Object... parameters) throws Throwable { - delegate.invoke( parameters ); - } - } -} diff --git a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingExtension.java b/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingExtension.java deleted file mode 100644 index 01c9ee0a11..0000000000 --- a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingExtension.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.validator.tckrunner.securitymanager.arquillian; - -import org.jboss.arquillian.container.test.spi.client.protocol.Protocol; -import org.jboss.arquillian.core.spi.LoadableExtension; - -/** - * An Arquillian extension which contributes a special protocol, {@link LocalSecurityManagerTestingProtocol}. - *

- * This protocol is essentially the same as - * {@link org.jboss.arquillian.container.test.impl.client.protocol.local.LocalProtocol}, only that the execution of - * tests is channeled through a specific protection domain (basically, "target/classes" of this module, or the - * equivalent JAR). Specifying only minimal permissions to this protection domain allows for the identification of code - * in the HV JAR which doesn't use privileged actions as required. - * - * @author Gunnar Morling - */ -public class LocalSecurityManagerTestingExtension implements LoadableExtension { - - @Override - public void register(ExtensionBuilder builder) { - builder.service( Protocol.class, LocalSecurityManagerTestingProtocol.class ); - } -} diff --git a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingProtocol.java b/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingProtocol.java deleted file mode 100644 index 7a6b4a10ee..0000000000 --- a/tck-runner/src/test/java/org/hibernate/validator/tckrunner/securitymanager/arquillian/LocalSecurityManagerTestingProtocol.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.validator.tckrunner.securitymanager.arquillian; - -import org.jboss.arquillian.container.spi.client.protocol.ProtocolDescription; -import org.jboss.arquillian.container.spi.client.protocol.metadata.ProtocolMetaData; -import org.jboss.arquillian.container.test.impl.client.protocol.local.LocalProtocol; -import org.jboss.arquillian.container.test.impl.client.protocol.local.LocalProtocolConfiguration; -import org.jboss.arquillian.container.test.spi.ContainerMethodExecutor; -import org.jboss.arquillian.container.test.spi.command.CommandCallback; -import org.jboss.arquillian.core.api.Injector; -import org.jboss.arquillian.core.api.Instance; -import org.jboss.arquillian.core.api.annotation.Inject; - -/** - * Extension of {@link LocalProtocol} which uses a special executor, - * {@link LocalSecurityManagerTestingContainerMethodExecutor}. - * - * @author Gunnar Morling - */ -public class LocalSecurityManagerTestingProtocol extends LocalProtocol { - - public static final String NAME = "LocalSecurityManagerTesting"; - - @Inject - private Instance injector; - - @Override - public ProtocolDescription getDescription() { - return new ProtocolDescription( NAME ); - } - - @Override - public ContainerMethodExecutor getExecutor(LocalProtocolConfiguration protocolConfiguration, ProtocolMetaData metaData, CommandCallback callback) { - return injector.get().inject( new LocalSecurityManagerTestingContainerMethodExecutor() ); - } -} diff --git a/tck-runner/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension b/tck-runner/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension deleted file mode 100644 index 653e0eed38..0000000000 --- a/tck-runner/src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# Copyright Red Hat Inc. and Hibernate Authors -# -org.hibernate.validator.tckrunner.securitymanager.arquillian.LocalSecurityManagerTestingExtension