changeset 1252:ad35d90a0ee9

Cache reproducer adapted to newest state * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html: used correct query,a s test rely on it * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp: same * tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java: (testCaching) adapted to query in cache and correclty made depndent on testAbsolutePathAndQueryStringWebstart
author Jiri Vanek <jvanek@redhat.com>
date Fri, 19 Jun 2015 16:00:59 +0200
parents a5561b460631
children 6f6aa0416960
files ChangeLog tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java
diffstat 4 files changed, 68 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jun 19 14:21:55 2015 +0200
+++ b/ChangeLog	Fri Jun 19 16:00:59 2015 +0200
@@ -1,3 +1,15 @@
+2015-06-19  Jiri Vanek  <jvanek@redhat.com>
+
+	Cache reproducer adapted to newest state
+	* tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html:
+	used correct query,a s test rely on it
+	* tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp:
+	same
+	* tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java:
+	(testCaching) adapted to query in cache and correclty made depndent on
+	testAbsolutePathAndQueryStringWebstart
+
+
 2015-06-19  Jiri Vanek  <jvanek@redhat.com>
 
 	Added experimental usage of headless dialogues to reproducers suite
--- a/tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html	Fri Jun 19 14:21:55 2015 +0200
+++ b/tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html	Fri Jun 19 16:00:59 2015 +0200
@@ -39,7 +39,7 @@
   <head></head>
   <body>
     <embed code="StripHttpPathParams"
-            archive="/StripHttpPathParams.jar?i=1234abcd"
+            archive="/StripHttpPathParams.jar?i=abcd"
             type="application/x-java-applet;version=1.6"
             width="800"
             height="600">
--- a/tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp	Fri Jun 19 14:21:55 2015 +0200
+++ b/tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp	Fri Jun 19 16:00:59 2015 +0200
@@ -46,7 +46,8 @@
   </information>
   <resources>
     <j2se version="1.4+"/>
-    <jar href="/StripHttpPathParams.jar?i=1234abcd"/>
+    <jar href="/StripHttpPathParams.jar?i=abcd"/>
+    <jar href="/StripHttpPathParams.jar?"/>
   </resources>
   <application-desc main-class="StripHttpPathParams">
   </application-desc>
--- a/tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java	Fri Jun 19 14:21:55 2015 +0200
+++ b/tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java	Fri Jun 19 16:00:59 2015 +0200
@@ -1,38 +1,38 @@
 /* AbsolutePathsAndQueryStrings.java
-Copyright (C) 2013 Red Hat, Inc.
+ Copyright (C) 2013 Red Hat, Inc.
 
-This file is part of IcedTea.
+ 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 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.
+ 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.
+ 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.
+ 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.
+ 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.
  */
 
 import java.io.File;
@@ -40,36 +40,33 @@
 import net.sourceforge.jnlp.ProcessResult;
 import net.sourceforge.jnlp.ServerAccess.AutoClose;
 import net.sourceforge.jnlp.annotations.Bug;
-import net.sourceforge.jnlp.annotations.KnownToFail;
 import net.sourceforge.jnlp.annotations.NeedsDisplay;
 import net.sourceforge.jnlp.annotations.TestInBrowsers;
 import net.sourceforge.jnlp.browsertesting.BrowserTest;
 import net.sourceforge.jnlp.browsertesting.Browsers;
 import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener;
-import net.sourceforge.jnlp.ServerAccess;
 import net.sourceforge.jnlp.cache.CacheUtil;
 import net.sourceforge.jnlp.runtime.JNLPRuntime;
 import net.sourceforge.jnlp.config.DeploymentConfiguration;
 
 import org.junit.Assert;
 import org.junit.Test;
-import org.junit.AfterClass;
 
 public class AbsolutePathsAndQueryStrings extends BrowserTest {
 
     private static final String appletCloseString = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING;
 
-    @Bug(id="PR1204")
+    @Bug(id = "PR1204")
     @NeedsDisplay
     @Test
-    @TestInBrowsers(testIn={Browsers.one})
+    @TestInBrowsers(testIn = {Browsers.one})
     public void testAbsolutePathAndQueryStringBrowser() throws Exception {
         /* HTML specifies absolute path and path params, ensure that this is able to launch correctly */
         ProcessResult pr = server.executeBrowser("/AbsolutePathsAndQueryStrings.html", AutoClose.CLOSE_ON_BOTH);
         Assert.assertTrue("stdout should contain " + appletCloseString + " but did not", pr.stdout.contains(appletCloseString));
     }
 
-    @Bug(id="PR1204")
+    @Bug(id = "PR1204")
     @NeedsDisplay
     @Test
     public void testAbsolutePathAndQueryStringWebstart() throws Exception {
@@ -78,9 +75,11 @@
         Assert.assertTrue("stdout should contain \"running\"but did not", pr.stdout.contains("running"));
     }
 
-    @Bug(id="PR1204")
+    @Bug(id = "PR1204")
     @Test
     public void testCaching() throws Exception {
+        //prepare cached files
+        testAbsolutePathAndQueryStringWebstart();
         /* Test that caching ignores path parameters and double-slash issue from absolute codebase paths
          */
         URL plainLocation = new URL("http://localhost:1234/StripHttpPathParams.jar");
@@ -94,23 +93,32 @@
         File cacheDir = new File(cacheLocation);
         Assert.assertTrue(cacheDir.isDirectory());
 
-        boolean hasCachedCopy = false;
+        int hasCachedCopy = 0;
         for (File cache : cacheDir.listFiles()) {
-            File[] cacheFiles = new File[] {
+            File[] cacheFiles1 = new File[]{
                 CacheUtil.urlToPath(plainLocation, cache.getPath()),
+                CacheUtil.urlToPath(absoluteLocation, cache.getPath()),};
+            File[] cacheFiles2 = new File[]{
                 CacheUtil.urlToPath(paramLocation, cache.getPath()),
-                CacheUtil.urlToPath(absoluteLocation, cache.getPath()),
-                CacheUtil.urlToPath(absoluteParamLocation, cache.getPath()),
-            };
-            for (File f : cacheFiles) {
-                if (f.isFile())
-                    hasCachedCopy = true;
-                for (File g : cacheFiles) {
+                CacheUtil.urlToPath(absoluteParamLocation, cache.getPath()),};
+            for (File f : cacheFiles1) {
+                if (f.isFile()) {
+                    hasCachedCopy ++;
+                }
+                for (File g : cacheFiles1) {
+                    Assert.assertEquals(f.getPath(), g.getPath());
+                }
+            }
+            for (File f : cacheFiles2) {
+                if (f.isFile()) {
+                    hasCachedCopy ++;
+                }
+                for (File g : cacheFiles2) {
                     Assert.assertEquals(f.getPath(), g.getPath());
                 }
             }
         }
-        Assert.assertTrue(hasCachedCopy);
+        Assert.assertTrue(hasCachedCopy>=4);
     }
 
 }