This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch remove-outdated-test in repository https://gitbox.apache.org/repos/asf/velocity-engine.git
commit 49b46992e359acb1e7a4421c1911a377ac45ff03 Author: Michael Osipov <[email protected]> AuthorDate: Tue Feb 13 18:03:09 2024 +0100 Remove obsolete test This test claims that with Java 8 it is obsolete, moreover it fails on newer Java versions due to the setup of a security manager. Since we require Java 8 already, the test is obsolete and can be removed. --- .../velocity/test/issues/VelTools66TestCase.java | 181 --------------------- 1 file changed, 181 deletions(-) diff --git a/velocity-engine-core/src/test/java/org/apache/velocity/test/issues/VelTools66TestCase.java b/velocity-engine-core/src/test/java/org/apache/velocity/test/issues/VelTools66TestCase.java deleted file mode 100644 index 529683ff..00000000 --- a/velocity-engine-core/src/test/java/org/apache/velocity/test/issues/VelTools66TestCase.java +++ /dev/null @@ -1,181 +0,0 @@ -package org.apache.velocity.test.issues; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import junit.framework.Test; -import junit.framework.TestSuite; -import org.apache.velocity.app.Velocity; -import org.apache.velocity.runtime.RuntimeInstance; -import org.apache.velocity.test.BaseTestCase; -import org.apache.velocity.test.misc.TestLogger; -import org.apache.velocity.util.introspection.Introspector; - -import java.lang.reflect.Method; -import java.security.AccessControlException; -import java.security.Permission; - -/** - * Test Case for <a href="https://issues.apache.org/jira/browse/VELTOOLS-66">Velocity Tools Issue 66</a>. - */ -public class VelTools66TestCase - extends BaseTestCase -{ - protected static boolean DEBUG = false; - - public VelTools66TestCase(final String name) - throws Exception - { - super(name); - } - - public static Test suite() - { - return new TestSuite(VelTools66TestCase.class); - } - - @Override - public void setUp() - throws Exception - { - Velocity.setProperty( - Velocity.RUNTIME_LOG_INSTANCE, new TestLogger()); - - Velocity.init(); - System.setSecurityManager(new TestSecurityManager()); - - } - - protected static void log(String out) - { - Velocity.getLog().debug(out); - if (DEBUG) - { - System.out.println(out); - } - } - - @Override - public void tearDown() - { - System.setSecurityManager(null); - } - - public void testVelTools66() - throws Exception - { - /* the testcase is obsolete in JDK 8, as SystemManager.checkMemberAccess is not anymore called - * by Class.getMethods() */ - - String [] javaVersionFields = System.getProperty("java.version").split("\\."); - int javaVersion = Integer.parseInt(javaVersionFields[0]); - if (javaVersion == 1) - { - javaVersion = Integer.parseInt(javaVersionFields[1]); - } - - if (javaVersion >= 8) - { - return; - } - - Method verifyMethod = TestInterface.class.getMethod("getTestValue"); - - RuntimeInstance ri = new RuntimeInstance(); - log = new TestLogger(false, false); - Introspector introspector = new Introspector(log); - - Method testMethod = introspector.getMethod(TestObject.class, "getTestValue", new Object[0]); - assertNotNull(testMethod); - assertEquals("Method object does not match!", verifyMethod, testMethod); - } - - public interface TestInterface - { - String getTestValue(); - - void setTestValue(String testValue); - } - - public static final class TestObject - implements TestInterface - { - String testValue = null; - - public TestObject() - { - } - - @Override - public String getTestValue() - { - return testValue; - } - - @Override - public void setTestValue(final String testValue) - { - this.testValue = testValue; - } - } - - public static final class TestSecurityManager extends SecurityManager - { - private final Class<?> clazz = TestObject.class; - - public TestSecurityManager() - { - super(); - } - - public void checkMemberAccess(final Class<?> c, final int i) - { - log("checkMemberAccess(" + c.getName() + ", " + i + ")"); - - if (c.equals(clazz)) - { - throw new AccessControlException("You are not allowed to access TestObject directly!"); - } - } - - @Override - public void checkRead(final String file) - { - log("checkRead(" + file + ")"); - } - - @Override - public void checkPackageAccess(final String s) - { - log("checkPackageAccess(" + s + ")"); - } - - @Override - public void checkPropertyAccess(final String s) - { - log("checkPropertyAccess(" + s + ")"); - } - - @Override - public void checkPermission(final Permission p) - { - log("checkPermission(" + p + ")"); - } - } -}
