From d12087da1600934f61c9c6c356c33e85b1f68b58 Mon Sep 17 00:00:00 2001 From: si-gui Date: Mon, 12 Jul 2021 12:04:16 +0800 Subject: [PATCH] del some testcases who need network but cannot connect smoothly --- ...-network-but-cannot-connect-smoothly.patch | 291 ++++++++++++++++++ icedtea-web.spec | 6 +- 2 files changed, 296 insertions(+), 1 deletion(-) create mode 100644 del-some-testcases-who-need-network-but-cannot-connect-smoothly.patch diff --git a/del-some-testcases-who-need-network-but-cannot-connect-smoothly.patch b/del-some-testcases-who-need-network-but-cannot-connect-smoothly.patch new file mode 100644 index 0000000..1309b1b --- /dev/null +++ b/del-some-testcases-who-need-network-but-cannot-connect-smoothly.patch @@ -0,0 +1,291 @@ +From 3949759c4cc4de5bedeea533a7ea0bf0d2f005ac Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Mon, 12 Jul 2021 11:15:16 +0800 +Subject: [PATCH] del some testcases who need network but cannot connect + smoothly + +--- + .../jnlp/runtime/CodeBaseClassLoaderTest.java | 271 ------------------ + 1 file changed, 271 deletions(-) + delete mode 100644 tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java + +diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java b/tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java +deleted file mode 100644 +index 138517c..0000000 +--- a/tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java ++++ /dev/null +@@ -1,271 +0,0 @@ +-/* CodeBaseClassLoaderTest.java +- Copyright (C) 2012 Red Hat, Inc. +- +- This file is part of IcedTea. +- +- IcedTea is free software; you can redistribute it and/or +- modify it under the terms of the GNU General Public License as published by +- the Free Software Foundation, version 2. +- +- IcedTea 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 +- General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with IcedTea; see the file COPYING. If not, write to +- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +- 02110-1301 USA. +- +- Linking this library statically or dynamically with other modules is +- making a combined work based on this library. Thus, the terms and +- conditions of the GNU General Public License cover the whole +- combination. +- +- As a special exception, the copyright holders of this library give you +- permission to link this library with independent modules to produce an +- executable, regardless of the license terms of these independent +- modules, and to copy and distribute the resulting executable under +- terms of your choice, provided that you also meet, for each linked +- independent module, the terms and conditions of the license of that +- module. An independent module is a module which is not derived from +- or based on this library. If you modify this library, you may extend +- this exception to your version of the library, but you are not +- obligated to do so. If you do not wish to do so, delete this +- exception statement from your version. +- */ +-package net.sourceforge.jnlp.runtime; +- +-import net.sourceforge.jnlp.mock.DummyJNLPFile; +-import static org.junit.Assert.assertFalse; +-import static org.junit.Assert.assertTrue; +- +-import java.lang.reflect.Field; +-import java.net.URL; +- +-import net.sourceforge.jnlp.JNLPFile; +-import net.sourceforge.jnlp.NullJnlpFileException; +-import net.sourceforge.jnlp.SecurityDesc; +-import net.sourceforge.jnlp.ServerAccess; +-import net.sourceforge.jnlp.runtime.JNLPClassLoader.CodeBaseClassLoader; +-import net.sourceforge.jnlp.annotations.Bug; +-import net.sourceforge.jnlp.annotations.Remote; +-import net.sourceforge.jnlp.config.DeploymentConfiguration; +-import net.sourceforge.jnlp.security.appletextendedsecurity.AppletSecurityLevel; +-import net.sourceforge.jnlp.security.appletextendedsecurity.AppletStartupSecuritySettings; +-import net.sourceforge.jnlp.util.logging.NoStdOutErrTest; +-import org.junit.AfterClass; +-import org.junit.Assert; +-import org.junit.BeforeClass; +- +-import org.junit.Test; +- +-public class CodeBaseClassLoaderTest extends NoStdOutErrTest { +- +- private static AppletSecurityLevel level; +- private static String macStatus; +- +- @BeforeClass +- public static void setPermissions() { +- level = AppletStartupSecuritySettings.getInstance().getSecurityLevel(); +- macStatus = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); +- JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_LEVEL, AppletSecurityLevel.ALLOW_UNSIGNED.toChars()); +- JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, ManifestAttributesChecker.MANIFEST_ATTRIBUTES_CHECK.NONE.toString()); +- +- } +- +- @AfterClass +- public static void resetPermissions() { +- JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_LEVEL, level.toChars()); +- JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, macStatus); +- } +- +- private static final String isWSA = "isWebstartApplication"; +- +- static void setStaticField(Field field, Object newValue) throws Exception { +- field.setAccessible(true); +- field.set(null, newValue); +- } +- +- private void setWSA() throws Exception { +- setStaticField(JNLPRuntime.class.getDeclaredField(isWSA), true); +- } +- +- private void setApplet() throws Exception { +- setStaticField(JNLPRuntime.class.getDeclaredField(isWSA), false); +- } +- +- @AfterClass +- public static void tearDown() throws Exception { +- setStaticField(JNLPRuntime.class.getDeclaredField(isWSA), false); +- +- +- } +- +- @Bug(id = {"PR895", +- "http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017626.html", +- "http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017667.html"}) +- @Test +- @Remote +- public void testClassResourceLoadSuccessCachingApplication() throws Exception { +- setWSA(); +- //we are testing new resource not in cache +- testResourceCaching("net/sourceforge/jnlp/about/Main.class"); +- } +- +- @Test +- @Remote +- public void testClassResourceLoadSuccessCachingApplet() throws Exception { +- setApplet(); +- //so new resource again not in cache +- testResourceCaching("net/sourceforge/jnlp/about/Main.class"); +- } +- +- @Test +- @Remote +- public void testResourceLoadSuccessCachingApplication() throws Exception { +- setWSA(); +- //we are testing new resource not in cache +- testResourceCaching("net/sourceforge/jnlp/about/resources/about.html"); +- } +- +- @Test +- @Remote +- public void testResourceLoadSuccessCachingApplet() throws Exception { +- setApplet(); +- //so new resource again not in cache +- testResourceCaching("net/sourceforge/jnlp/about/resources/about.html"); +- } +- +- public void testResourceCaching(String r) throws Exception { +- testResourceCaching(r, true); +- } +- +- public void testResourceCaching(String r, boolean shouldExists) throws Exception { +- JNLPFile dummyJnlpFile = new DummyJNLPFile(); +- +- JNLPClassLoader parent = new JNLPClassLoader(dummyJnlpFile, null); +- CodeBaseClassLoader classLoader = new CodeBaseClassLoader(new URL[]{DummyJNLPFile.JAR_URL, DummyJNLPFile.CODEBASE_URL}, parent); +- +- int level = 10; +- if (shouldExists) { +- //for found the "caching" is by internal logic.Always faster, but who knows how... +- //to keep the test stabile keep the difference minimal +- level = 1; +- } +- long startTime, stopTime; +- +- startTime = System.nanoTime(); +- URL u1 = classLoader.findResource(r); +- if (shouldExists) { +- Assert.assertNotNull(u1); +- } else { +- Assert.assertNull(u1); +- } +- stopTime = System.nanoTime(); +- long timeOnFirstTry = stopTime - startTime; +- ServerAccess.logErrorReprint("" + timeOnFirstTry); +- +- startTime = System.nanoTime(); +- URL u2 = classLoader.findResource(r); +- if (shouldExists) { +- Assert.assertNotNull(u1); +- } else { +- Assert.assertNull(u2); +- } +- stopTime = System.nanoTime(); +- long timeOnSecondTry = stopTime - startTime; +- ServerAccess.logErrorReprint("" + timeOnSecondTry); +- +- assertTrue(timeOnSecondTry < (timeOnFirstTry / level)); +- } +- +- @Bug(id = {"PR895", +- "http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017626.html", +- "http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-March/017667.html"}) +- @Test +- @Remote +- public void testResourceLoadFailureCachingApplication() throws Exception { +- setWSA(); +- testResourceCaching("net/sourceforge/jnlp/about/Main_FOO_.class", false); +- } +- +- @Test +- public void testResourceLoadFailureCachingApplet() throws Exception { +- setApplet(); +- testResourceCaching("net/sourceforge/jnlp/about/Main_FOO_.class", false); +- } +- +- @Test +- @Remote +- public void testParentClassLoaderIsAskedForClassesApplication() throws Exception { +- setWSA(); +- testParentClassLoaderIsAskedForClasses(); +- } +- +- @Test +- @Remote +- public void testParentClassLoaderIsAskedForClassesApplet() throws Exception { +- setApplet(); +- testParentClassLoaderIsAskedForClasses(); +- } +- +- public void testParentClassLoaderIsAskedForClasses() throws Exception { +- JNLPFile dummyJnlpFile = new DummyJNLPFile(); +- +- final boolean[] parentWasInvoked = new boolean[1]; +- +- JNLPClassLoader parent = new JNLPClassLoader(dummyJnlpFile, null) { +- @Override +- protected Class findClass(String name) throws ClassNotFoundException { +- parentWasInvoked[0] = true; +- throw new ClassNotFoundException(name); +- } +- }; +- CodeBaseClassLoader classLoader = new CodeBaseClassLoader(new URL[]{DummyJNLPFile.JAR_URL, DummyJNLPFile.CODEBASE_URL}, parent); +- try { +- classLoader.findClass("foo"); +- assertFalse("should not happen", true); +- } catch (ClassNotFoundException cnfe) { /* ignore */ } +- +- assertTrue(parentWasInvoked[0]); +- } +- +- @Test +- public void testNullFileSecurityDescApplication() throws Exception { +- setWSA(); +- Exception ex = null; +- try { +- testNullFileSecurityDesc(); +- } catch (Exception exx) { +- ex = exx; +- } +- Assert.assertTrue("was expected exception", ex != null); +- Assert.assertTrue("was expected " + NullJnlpFileException.class.getName(), ex instanceof NullJnlpFileException); +- } +- +- @Test +- @Remote +- public void testNullFileSecurityDescApplet() throws Exception { +- setApplet(); +- Exception ex = null; +- try { +- testNullFileSecurityDesc(); +- } catch (Exception exx) { +- ex = exx; +- } +- Assert.assertTrue("was expected exception", ex != null); +- Assert.assertTrue("was expected " + NullJnlpFileException.class.getName(), ex instanceof NullJnlpFileException); +- } +- +- public void testNullFileSecurityDesc() throws Exception { +- JNLPFile dummyJnlpFile = new DummyJNLPFile() { +- @Override +- public SecurityDesc getSecurity() { +- return new SecurityDesc(null, SecurityDesc.SANDBOX_PERMISSIONS, null); +- } +- }; +- JNLPClassLoader parent = new JNLPClassLoader(dummyJnlpFile, null); +- +- } +-} +-- +2.30.0 + diff --git a/icedtea-web.spec b/icedtea-web.spec index 3234ea0..94e9d62 100644 --- a/icedtea-web.spec +++ b/icedtea-web.spec @@ -10,7 +10,7 @@ %global debug_package %{nil} Name: icedtea-web Version: 1.8.4 -Release: 6 +Release: 7 Summary: Additional Java components for OpenJDK - Java Web Start implementation License: LGPLv2+ and GPLv2 with exceptions URL: http://icedtea.classpath.org/wiki/IcedTea-Web @@ -18,6 +18,7 @@ Source0: http://github.com/AdoptOpenJDK/IcedTea-Web/archive/%{name}- Patch0006: fix-for-cargo-test-sometimes-fails-when-make-runs-with-several-simultaneous-jobs.patch Patch0007: add-dunce-lib.patch +Patch0008: del-some-testcases-who-need-network-but-cannot-connect-smoothly.patch BuildRequires: javapackages-tools javapackages-local %{preffered_java}-devel BuildRequires: desktop-file-utils glib2-devel autoconf automake cargo junit hamcrest @@ -166,6 +167,9 @@ exit 0 %{_datadir}/man/man1/* %changelog +* Mon 12 Jul 2021 sunguoshuai - 1.8.4-7 +- del some testcases who need network but cannot connect smoothly + * Mon Jun 07 2021 wulei - 1.8.4-6 - fixes failed: linker 'cc' not found -- Gitee