JDK5 fix for bad JarFile resource caching during deploy tests

This commit is contained in:
Joakim Erdfelt 2013-06-04 09:57:04 -07:00
parent 0c4a266d60
commit 559069cdd6
2 changed files with 13 additions and 2 deletions

View File

@ -25,10 +25,12 @@ import org.eclipse.jetty.deploy.AppProvider;
import org.eclipse.jetty.deploy.DeploymentManager; import org.eclipse.jetty.deploy.DeploymentManager;
import org.eclipse.jetty.deploy.test.XmlConfiguredJetty; import org.eclipse.jetty.deploy.test.XmlConfiguredJetty;
import org.eclipse.jetty.toolchain.test.OS; import org.eclipse.jetty.toolchain.test.OS;
import org.eclipse.jetty.toolchain.test.TestTracker;
import org.eclipse.jetty.toolchain.test.TestingDir; import org.eclipse.jetty.toolchain.test.TestingDir;
import org.eclipse.jetty.util.Scanner; import org.eclipse.jetty.util.Scanner;
import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.log.Logger;
import org.eclipse.jetty.util.resource.Resource;
import org.junit.After; import org.junit.After;
import org.junit.Assume; import org.junit.Assume;
import org.junit.Before; import org.junit.Before;
@ -43,6 +45,9 @@ public class ScanningAppProviderRuntimeUpdatesTest
{ {
private static final Logger LOG = Log.getLogger(ScanningAppProviderRuntimeUpdatesTest.class); private static final Logger LOG = Log.getLogger(ScanningAppProviderRuntimeUpdatesTest.class);
@Rule
public TestTracker tracker = new TestTracker();
@Rule @Rule
public TestingDir testdir = new TestingDir(); public TestingDir testdir = new TestingDir();
private static XmlConfiguredJetty jetty; private static XmlConfiguredJetty jetty;
@ -52,6 +57,9 @@ public class ScanningAppProviderRuntimeUpdatesTest
@Before @Before
public void setupEnvironment() throws Exception public void setupEnvironment() throws Exception
{ {
testdir.ensureEmpty();
Resource.setDefaultUseCaches(false);
jetty = new XmlConfiguredJetty(testdir); jetty = new XmlConfiguredJetty(testdir);
jetty.addConfiguration("jetty.xml"); jetty.addConfiguration("jetty.xml");
jetty.addConfiguration("jetty-deploymgr-contexts.xml"); jetty.addConfiguration("jetty-deploymgr-contexts.xml");
@ -90,7 +98,7 @@ public class ScanningAppProviderRuntimeUpdatesTest
public void waitForDirectoryScan() public void waitForDirectoryScan()
{ {
int scan=_scans.get()+2*_providers; int scan=_scans.get()+(2*_providers);
do do
{ {
try try
@ -167,8 +175,8 @@ public class ScanningAppProviderRuntimeUpdatesTest
waitForDirectoryScan(); waitForDirectoryScan();
System.out.println("Updating war files"); System.out.println("Updating war files");
jetty.copyContext("foo.xml","foo.xml"); // essentially "touch" the context xml
jetty.copyWebapp("foo-webapp-2.war","foo.war"); jetty.copyWebapp("foo-webapp-2.war","foo.war");
jetty.copyContext("foo.xml","foo.xml"); // essentially "touch" the context xml
// This should result in the existing foo.war being replaced with the new foo.war // This should result in the existing foo.war being replaced with the new foo.war
waitForDirectoryScan(); waitForDirectoryScan();

View File

@ -18,6 +18,8 @@
package org.eclipse.jetty.deploy.test; package org.eclipse.jetty.deploy.test;
import static org.hamcrest.Matchers.*;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
@ -213,6 +215,7 @@ public class XmlConfiguredJetty
if (context.getContextPath().equals(expectedPath)) if (context.getContextPath().equals(expectedPath))
{ {
found = true; found = true;
Assert.assertThat("Context[" + context.getContextPath() + "].state", context.getState(), is("STARTED"));
break; break;
} }
} }